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 install
or
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!