Skip to content

Commit

Permalink
Merge pull request #206 from timkpaine/tkp/pkg
Browse files Browse the repository at this point in the history
Update package for 2023, move to ruff for formatting, remove seaborn import styling side effect fixes #205
  • Loading branch information
timkpaine authored Nov 20, 2023
2 parents 1e2178a + 7786d08 commit 64659cb
Show file tree
Hide file tree
Showing 10 changed files with 159 additions and 233 deletions.
File renamed without changes.
5 changes: 3 additions & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
graft ffn
include LICENSE.txt
include README.rst

include setup.cfg
include pyproject.toml

exclude setup.cfg
prune tests

# Patterns to exclude from any directory
global-exclude *~
global-exclude *.pyc
Expand Down
13 changes: 7 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,26 +9,27 @@ test:
python -m pytest -vvv tests --cov=ffn --junitxml=python_junit.xml --cov-report=xml --cov-branch --cov-report term

lint:
python -m flake8 ffn setup.py docs/source/conf.py
python -m ruff ffn setup.py docs/source/conf.py

fix:
python -m black ffn setup.py docs/source/conf.py
python -m ruff format ffn setup.py docs/source/conf.py

clean:
- rm -rf dist
- rm -rf ffn.egg-info

dist:
python setup.py sdist
python -m build
twine check dist/*

upload: clean dist
twine upload dist/*

docs:
docs:
$(MAKE) -C docs/ clean
$(MAKE) -C docs/ html

pages:
pages:
rm -rf $(TMPREPO)
git clone -b gh-pages [email protected]:pmorissette/ffn.git $(TMPREPO)
rm -rf $(TMPREPO)/*
Expand All @@ -38,7 +39,7 @@ pages:
git commit -a -m 'auto-updating docs';\
git push;\

serve:
serve:
cd docs/build/html; \
python -m http.server 9087

Expand Down
53 changes: 53 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
![](http://pmorissette.github.io/ffn/_static/logo.png)

[![Build Status](https://github.com/pmorissette/ffn/workflows/Build%20Status/badge.svg)](https://github.com/pmorissette/ffn/actions/)
[![Codecov](https://codecov.io/gh/pmorissette/ffn/branch/master/graph/badge.svg)](https://codecov.io/pmorissette/ffn)
[![PyPI Version](https://img.shields.io/pypi/v/ffn)](https://pypi.org/project/ffn/)
[![PyPI License](https://img.shields.io/pypi/l/ffn)](https://pypi.org/project/ffn/)

# ffn - Financial Functions for Python

Alpha release - please let me know if you find any bugs!

If you are looking for a full backtesting framework, please check out [bt](https://github.com/pmorissette/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.

```python
import ffn
returns = ffn.get('aapl,msft,c,gs,ge', start='2010-01-01').to_returns().dropna()
returns.calc_mean_var_weights().as_format('.2%')
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](https://pypi.python.org/pypi/ffn/)
using `pip`.

```bash
pip install ffn
```

Since ffn has many dependencies, we strongly recommend installing the [Anaconda Scientific Python Distribution](https://store.continuum.io/cshop/anaconda/). This distribution comes with many of the required packages pre-installed, including pip. Once Anaconda is installed, the above command should complete the installation.

ffn should be compatible with Python 2.7 and Python 3.

## Documentation

Read the docs at http://pmorissette.github.io/ffn

- [Quickstart](http://pmorissette.github.io/ffn/quick.html)
- [Full API](http://pmorissette.github.io/ffn/ffn.html)
67 changes: 0 additions & 67 deletions README.rst

This file was deleted.

Loading

0 comments on commit 64659cb

Please sign in to comment.