Python implementations of Machine Learning helper functions for Quantiative Finance based on books,
Advances in Financial Machine Learning and Machine Learning for Asset Managers , written by Marcos Lopez de Prado.
Excute the following command
python setup.py installor
Simply add your/path/to/finace_ml to your PYTHONPATH.
The following functions are implemented:
- Labeling
- Multiporcessing
- Sampling
- Feature Selection
- Asset Allcation
- Breakout Detection
Some of example notebooks are found under the folder MLAssetManagers.
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
For more detail, please refer to example notebook!