ffn - Financial Functions for Python¶

If you are looking for a full backtesting framework, please check out bt. bt is built atop ffn and makes it easy and fast to backtest quantitative strategies.
Overview¶
ffn is a library that contains many useful functions for those who work in quantitative finance. It stands on the shoulders of giants (Pandas, Numpy, Scipy, etc.) and provides a vast array of utilities, from performance measurement and evaluation to graphing and common data transformations.
import ffn
returns = ffn.get('aapl,msft,c,gs,ge', provider='yahoo', start='2010-01-01').to_returns().dropna()
print(returns.calc_mean_var_weights().as_format('.2%'))
Example output:
aapl 62.54%
c -0.00%
ge 36.19%
gs -0.00%
msft 1.26%
dtype: object
Installation¶
The easiest way to install ffn is from the Python Package Index
using pip.
pip install ffn
The Yahoo examples require the optional provider dependency:
pip install 'ffn[yahoo]'
Other providers can be passed as callables or installed as plugins. See how to use a data provider.
Since ffn has many dependencies, we strongly recommend installing the Anaconda Scientific Python Distribution. This distribution comes with many of the required packages pre-installed, including pip. Once Anaconda is installed, the above command should complete the installation.
Documentation¶
Read the docs at https://pmorissette.github.io/ffn/.
Contribute¶
See the development guide for setup, tests, documentation builds, and Copier template updates.