Skip to content
Advances in Financial Machine Learning
Python
Branch: master
Clone or download
Latest commit 5f0657e Feb 18, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode Add entropy features Dec 28, 2018
datasets Update Jun 30, 2018
examples Update Nov 5, 2018
finance_ml Update Feb 18, 2019
.gitignore Update Feb 18, 2019
LICENSE Create LICENSE Sep 25, 2018
README.md Update README Sep 22, 2018
datasets.py Update Aug 2, 2018
setup.py Update Jun 30, 2018

README.md

finance_ml

Python implementations of Machine Learning helper functions based on a book, Advances in Financial Machine Learning[1], written by Marcos Lopez de Prado.

Installation

Excute the following command

python setup.py install

Implementation

labeling

  • Triple Barriers Labeling
  • CUSUM sampling
from finance_ml.labeling import get_barrier_labels, cusum_filter
from finance_ml.stats import get_daily_vol

vol = get_daily_vol(close)
trgt = vol
timestamps = cusum_filter(close, vol)
labels = get_barrier_labels(close, timestamps, trgt, sltp=[1, 1],
                            num_days=1, min_ret=0, num_threads=16)
print(labels.show())

Return the following pandas.Series

2000-01-05 -1.0
2000-01-06  1.0
2000-01-10 -1.0
2000-01-11  1.0
2000-01-12  1.0
  • Future Returns for Regression

multiprocessing

Parallel computing using multiprocessing library. Here is the example of applying function to each element with parallelization.

import pandas as pd
import numpy as np

def apply_func(x):
    return x ** 2

def func(df, timestamps, f):
    df_ = df.loc[timestamps]
    for idx, x in df_.items():
        df_.loc[idx] = f(x)
    return df_
    
df = pd.Series(np.random.randn(10000))
from finance_ml.multiprocessing import mp_pandas_obj

results = mp_pandas_obj(func, pd_obj=('timestamps', df.index),
                        num_threads=24, df=df, f=apply_func)
print(results.head())

Output:

0    0.449278
1    1.411846
2    0.157630
3    4.949410
4    0.601459
dtype: float64
You can’t perform that action at this time.