ffn - Financial Functions for Python

ffn

Build Status PyPI Version PyPI License

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.