tobiaskohler / yabt

yet another backtesting framework

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Welcome to yabt - yet another backtesting framework for Python keen quants ;)

This framework is developed for educational purposes only. If - for any reason - anyone likes to contribute or to fork this project, please feel absolutely free.

1. Structure

yabt is to be build on the following fundamental modules:

  • DataCrawler (done as of 03.01.2021)
  • DataHandler
  • Tardis
  • Portfolio
  • ExecutionHandler
  • Riskmanager
  • Tradejournal
  • Reporter

2. Deep dive into each module

#c5f015 DataCrawler #c5f015

The DataCrawler module is one of the most intuitive modules. It will parse whatever data or website you want to be parsed. At this time it is meant to download data from yahoo.finance. It saves all data into .csv files, as this is both the the most simplest and efficient ways to store financial data.

Ideas for future versions / features

At the moment it is planned to execute DataCrawler every time a new backtest is run. So new .csv files are generated each time. A future version should include the feature, that DataCrawler (or DataHandler) should search for the already existing data in dir ./data and only append .csv files for missing values (e.g. if you would expand your backtest period to the future).

#c5f015 DataHandler #c5f015

The DataHandler module is the building block between Tardis and the DataCrawler. It is given a list of symbols and stores those symbolds into sqlite database.

About

yet another backtesting framework


Languages

Language:Python 100.0%