A repository for the Kairos package developed for CFM's ENS Data Challenge. Further information about this challenge is available at the following link. The official leaderboard is available at this address.
Volatility is a fundamental metric in modern finance. In this challenge, we use past volatilities and price changes of financial instruments to predict future volatility and control the risk of financial portfolios. Here is the video of the challenge's presentation at Collège de France.
Kairos refers to an ancient Greek deity. The word καιρός itself means opportune moment. In modern greek, it means the weather.
We have developed the Kairos package for predicting volatility at the end of the day. The package has been developed for the Python 3.7
language. Dependencies are specified in the package itself.
In order to use the Kairos
package functions, you must import it in your Python 3.7
project.
from kairos import *
Make sure that all the dependencies are installed. When imported correctly, the package should print the following in the Python console.
Kairos features provider imported.
Kairos engine imported.
Kairos succesfully loaded in your project.
The input files should be using the .csv
format and have the following structure. We recommend using ','
as separator in the file.
ID | date | product_id | volatility 09:30:00 | ... | volatility 13:55:00 | return 09:30:00 | ... | return 13:55:00 |
---|---|---|---|---|---|---|---|---|
1 | 1 | 1 | 0.6627 | ... | 0.0523 | -1 | ... | -1 |
2 | 1 | 2 | 0.2853 | ... | 0.0711 | 1 | ... | -1 |
3 | 1 | 3 | 1.1516 | ... | 0.1179 | -1 | ... | 1 |
In order to import a csv file in Kairos, use the following command.
myData = kairos.input.from_csv('/csvFilePath/myFile.csv')
You can specify the csv delimiter by adding the parameter contentsDelimiter
in the function.
Kairos uses a dedicated file system .krf
to store the data in their current state. In order to store the data, use the following command.
kairos.output.freeze(myData, '/pathToFile/myFile.krf')
You can restore the data later on using the following command.
myData = kairos.input.release('/pathToFile/myFile.krf')
The data is structured in one or several KairosBucket
objects which include KairosAsset
objects with similar properties. Each KairosAsset
includes several KairosDay
objects.
The team includes the following members, with the associated GitHub identifiers.
Name | GitHub id |
---|---|
Mehdi Tomas | mehditomas |
Thomas Espel | tjespel |
Apache 2