fecon236 :: Tools for financial economics
Curated wrapper over Python ecosystem. Source code for fecon235 Jupyter notebooks.
GitHub repository is at fecon236, see CHANGELOG for revision history.
The protected master branch gets released via
pip, see our PyPI.
The develop branch is where pull requests are currently directed.
What is this repository for?
fecon236 provides an interface for financial economics to the Python ecosystem, especially packages for mathematics, statistics, science, engineering, and data analysis. Complex packages such as numpy, pandas, statsmodels, scipy, and matplotlib are seamlessly integrated at a high-level with APIs of various data hosts for:
Essential commands which correctly handle annoying low-level pitfalls.
Retrieval of economic and financial data, both historical and the most current.
Data munging, for example, resampling and alignment of time-series data from hosts using mutually incompatible formats.
Analysis using techniques from econometrics, time-series analysis, and statistical machine learning.
Abstraction and software optimization of mathematical operators, for example, linear algebra used in portfolio analysis.
Visualization of data using graphical packages.
Reproducible research which is collaborative and openly accessible at zero cost.
To practically test theoretical ideas interactively, fecon236 can employed with any Python IDE interactive development environment, IPython console, or with a Jupyter notebook. The code has been tested against both python27 and python3 since 2014, and works across major platforms: Linux, Mac, and Windows.
How does one get started?
Development status: stable
For the developer, we recommend forking the fecon236 repository, then
pip install --editable .
- fecon235 becomes a repository solely of Jupyter notebooks. The old Python source code at fecon235 will remain for archival purposes, while new code development shifts over to fecon236.
Version 10 of fecon236 represents refactoring of the fecon235 v5.18.0312 Python code, not the Jupyter notebooks, with a new architecture depicted in Appendix 1. Function names have been retained, but under fecon236 expect infrequent function calls to be explicit rather than implicit, i.e. modules names and their aliases are significant.
- After 2019-01-01, our official support for python27 will discontinue (like numpy and pandas), however, straddling code may still continue to work.
Version 11 of fecon236 will signal when our Travis builds under Python 2.7 fail, and at that point we expect to require at least Python 3.6.
Appendix 1: fecon236 package map
>>> print(fe.map) Annotated tree map of package directory [with module aliases] fecon236 ├── __init__.py (Router, sole non-empty __init__.py file herein) ├── tool.py (Tools, low-level essentials) ├── top.py (Top priority, experimental) ├── boots (Bootstrap) │ └── bootstrap.py [bs] ├── dst (Distributions) │ └── gaussmix.py [gmix] ├── econ │ └── infl.py ├── futures │ └── cftc.py ├── host │ ├── fred.py │ ├── hostess.py │ ├── qdl.py │ ├── _ex_Quandl.py │ └── stock.py ├── math │ └── matrix.py [mat] ├── ml (Machine Learning) │ └── learn.py ├── oc (Optimization Control) │ └── optimize.py [op] ├── parse │ └── sec.py ├── prob (Probability) │ └── sim.py (Simulation) ├── prtf (Porfolio theory) │ └── boltzmann.py [boltz] ├── rates (Fixed Income) │ └── fedfunds.py ├── tsa (Time Series Analysis) │ └── holtwinters.py [hw] ├── util (Utilities) │ ├── group.py │ └── system.py └── visual └── plots.py
BSD License and TOS / This page, last update : 2018-07-25