View Code? Open in Web Editor
NEW
Advanced machine learning techniques for volatility prediction on financial markets. The Kairos package was developed for CFM’s ENS DataChallenge 2018.
Home Page: https://challengedata.ens.fr/en/challenge/34/volatility_prediction_in_financial_markets.html
License: Apache License 2.0
Python 0.22%
Jupyter Notebook 99.78%
kairos-volatility-prediction's People
Contributors
Watchers
kairos-volatility-prediction's Issues
Transfer the content of the Jupyter notebooks in the files.
Lay out the main file structure.
Main task
Primal Component
Secondary Component
Asset Classifier
High Average Volatility
High Local Volatility
Medium Local Volatility
Low Local Volatility
Medium Average Volatility
High Local Volatility
Medium Local Volatility
Low Local Volatility
Low Average Volatility
High Local Volatility
Medium Local Volatility
Low Local Volatility
Asset Extractor
Main Asset Extractor
n/a: Main Component
High Local Volatility
Raw Data Processing
Medium Local Volatility
Raw Data Processing
Local Local Volatility
Raw Data Processing
Features Engineering
High Local Volatility
Features Engineering Provider
Features Engineering Selector
Medium Local Volatility
Features Engineering Provider
Features Engineering Selector
Low Local Volatility
Features Engineering Provider
Features Engineering Selector
Predictive Engine
High Local Volatility
Features Engineering Collector
Training Network
Medium Local Volatility
Features Engineering Collector
Training Network
Low Local Volatility
Features Engineering Collector
Training Network
Output Processor
High Local Volatility
Predictions Collector
Medium Local Volatility
Predictions Collector
Low Local Volatility
Predictions Collector
Main Output Delivery
n/a: Main Component
We'd need to keep them individually for sakekeeping.
We could also try to find a way to name those predictions to understand which models we are using because we might use the same model but with different parameters or input dataset.
**Dealing with raw data **
The notebooks were implemented with data in its original form, which was easy to manipulate. It might not be necessary to reformat the time stamp format of the different assets given that. It might add more complexity and force us to modify code.
What do you think?
Following #4 . Here are the elements of the class KairosDay
.
__id (int)
corresponds to the target id.
_asset (int)
corresponds to the asset id.
__date (int)
corresponds to the date.
__volatility
corresponds to the list of double
with the volatility values.
__returns
corresponds to the list of double
with the returns values.
__isClassified (bool)
indicates if the asset has received it local volatility classification.
__localClassification (string)
specifies the local classification hlv
, mlv
or llv
. States None
otherwise.
__classificationDetails (dict)
specifies the local classification probabilities in the form of a dictionary {'method': double(probability)}
.
__features (dict)
specifies the features list in the form of a dictionary {'featureName': list(featureValuesList)}
.