Simple trading backtester
Project description
This project aims to provide easy and straitforward backtesting oportunities.
Installation
Install via setup.py:
git clone git@github.com:bluella/stbt.git
cd stbt
python setup.py install
Usage
import datetime as dt
import pandas as pd
import matplotlib.pyplot as plt
from Simple_trading_backtest.simulator import Strategy
import Simple_trading_backtest.helpers as hlp
# creating fake trading data
# prepare datetime index
some_date = dt.datetime(2017, 1, 1)
days = pd.date_range(some_date, some_date + dt.timedelta(30), freq='D')
# initialize close prices
data_values = list(range(1, 32))
closes_df = pd.DataFrame({'Date': days, 'inst1': data_values})
closes_df.set_index('Date', inplace=True)
# initialize weights
weights_values = [1 for i in range(31)]
weights_df = pd.DataFrame({'Date': days, 'inst1': weights_values})
weights_df.set_index('Date', inplace=True)
# create strategy
s = Strategy(closes_df, weights_df, cash=100)
# run backtest, robust tests, calculate stats
s.run_all(delay=2, verify_data_integrity=True, instruments_drop=None,
commissions_const=0, capitalization=False)
# check strategy stats
print(s.stats_dict)
# save strategy to futher comparison
s.add_to_pnls_pool()
# plot pool correlation heatmap
heatmap_fig, corr_matrix = s.get_pool_heatmap()
plt.show()
Features
License
This project is licensed under the MIT License - see the LICENSE.txt file for details
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
stbt-0.0.2.tar.gz
(23.0 kB
view hashes)
Built Distribution
stbt-0.0.2-py2.py3-none-any.whl
(23.1 kB
view hashes)