Skip to content
This repository has been archived by the owner on May 31, 2024. It is now read-only.

Advanced machine learning techniques for volatility prediction on financial markets. The Kairos package was developed for CFM’s ENS DataChallenge 2018.

License

Notifications You must be signed in to change notification settings

tomespel/kairos-volatility-prediction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Volatility Prediction in Financial Markets

Build Status codecov License FOSSA Status

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.

Table of Contents

Background

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.

Features

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.

Installation

Usage

Loading the package

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.

Input Files

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.

File system

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.

Credits

The team includes the following members, with the associated GitHub identifiers.

Name GitHub id
Mehdi Tomas mehditomas
Thomas Espel tjespel

License

Apache 2

FOSSA Status

About

Advanced machine learning techniques for volatility prediction on financial markets. The Kairos package was developed for CFM’s ENS DataChallenge 2018.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published