Running $ strat -f examples/api_example.json with the following parameters (START: 2015-03-01, END: 2018-04-06) gives:
{
"trading": {
"EXCHANGE": "bitfinex",
"ASSET": "btc_usd",
"DATA_FREQ": "daily",
"HISTORY_FREQ": "1d",
"CAPITAL_BASE": 10000,
"BASE_CURRENCY": "usd",
"START": "2015-03-01",
"END": "2018-04-06"
},
"datasets": [
{
"name": "quandl",
"columns": [
"MKTCP"
],
"indicators": []
},
{
"name": "google",
"columns": [
"bitcoin futures"
],
"indicators": [
{
"name": "RELCHANGE",
"symbol": "bitcoin futures",
"dataset": "google",
"label": "RELCHANGE",
"params": {}
}
]
}
],
"indicators": [
{
"name": "BBANDS",
"symbol": "btc_usd",
"dataset": null,
"label": "BBANDS",
"params": {
"matype": 3
}
},
{
"name": "STOCH",
"symbol": "btc_usd",
"dataset": null,
"label": "STOCH",
"params": {
"fastk_period": 5,
"slowk_period": 3,
"slowk_matype": 0,
"slowd_matype": 1
}
}
],
"signals": {}
}
[2018-04-07 20:04:27.509285] WARNING: run_algo: Catalyst is currently in ALPHA. It is going through rapid development and it is subject to errors. Please use carefully. We encourage you to report any issue on GitHub: https://github.com/enigmampc/catalyst/issues
[2018-04-07 20:04:27.509584] INFO: run_algo: Catalyst version 0.5.8
[2018-04-07 20:04:30.512407] INFO: run_algo: running algo in backtest mode
[2018-04-07 20:04:31.461912] INFO: exchange_algorithm: initialized trading algorithm in backtest mode
[2018-04-07 20:04:31.574942] INFO: google: Fetching trend data for 2015-03-01 2015-09-01
[2018-04-07 20:04:33.486100] ERROR: google: Retrieved 185 days of trend data
[2018-04-07 20:04:33.486244] INFO: google: Fetching trend data for 2015-09-01 2016-03-01
[2018-04-07 20:04:35.878926] ERROR: google: Retrieved 183 days of trend data
[2018-04-07 20:04:35.879082] INFO: google: Fetching trend data for 2016-03-01 2016-09-01
[2018-04-07 20:04:37.308315] ERROR: google: Retrieved 185 days of trend data
[2018-04-07 20:04:37.308469] INFO: google: Fetching trend data for 2016-09-01 2017-03-01
[2018-04-07 20:04:39.215666] ERROR: google: Retrieved 182 days of trend data
[2018-04-07 20:04:39.215856] INFO: google: Fetching trend data for 2017-03-01 2017-09-01
[2018-04-07 20:04:40.849798] ERROR: google: Retrieved 185 days of trend data
[2018-04-07 20:04:40.849953] INFO: google: Fetching trend data for 2017-09-01 2018-03-01
[2018-04-07 20:04:42.347250] ERROR: google: Retrieved 182 days of trend data
[2018-04-07 20:04:42.347481] INFO: google: Fetching trend data for 2018-03-01 2018-04-06
[2018-04-07 20:04:43.957935] ERROR: google: Retrieved 36 days of trend data
Traceback (most recent call last):
File "/Users/skurilyak/Envs/cryptocurrency-trading-platform-umgmcl4V/bin/strat", line 11, in <module>
load_entry_point('crypto-trading-platform', 'console_scripts', 'strat')()
File "/Users/skurilyak/Envs/cryptocurrency-trading-platform-umgmcl4V/lib/python3.6/site-packages/click/core.py", line 722, in __call__
return self.main(*args, **kwargs)
File "/Users/skurilyak/Envs/cryptocurrency-trading-platform-umgmcl4V/lib/python3.6/site-packages/click/core.py", line 697, in main
rv = self.invoke(ctx)
File "/Users/skurilyak/Envs/cryptocurrency-trading-platform-umgmcl4V/lib/python3.6/site-packages/click/core.py", line 895, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/Users/skurilyak/Envs/cryptocurrency-trading-platform-umgmcl4V/lib/python3.6/site-packages/click/core.py", line 535, in invoke
return callback(*args, **kwargs)
File "/Users/skurilyak/dev/produvia/cryptocurrency-trading-platform/crypto_platform/scripts/build_strategy.py", line 56, in run
strat.run(live=paper)
File "/Users/skurilyak/dev/produvia/cryptocurrency-trading-platform/crypto_platform/strategy/strategy.py", line 385, in run
self.run_backtest()
File "/Users/skurilyak/dev/produvia/cryptocurrency-trading-platform/crypto_platform/strategy/strategy.py", line 403, in run_backtest
end=pd.to_datetime(self.trading_info['END'], utc=True),
File "/Users/skurilyak/Envs/cryptocurrency-trading-platform-umgmcl4V/lib/python3.6/site-packages/catalyst/utils/run_algo.py", line 560, in run_algorithm
stats_output=stats_output
File "/Users/skurilyak/Envs/cryptocurrency-trading-platform-umgmcl4V/lib/python3.6/site-packages/catalyst/utils/run_algo.py", line 342, in _run
overwrite_sim_params=False,
File "/Users/skurilyak/Envs/cryptocurrency-trading-platform-umgmcl4V/lib/python3.6/site-packages/catalyst/exchange/exchange_algorithm.py", line 373, in run
data, overwrite_sim_params
File "/Users/skurilyak/Envs/cryptocurrency-trading-platform-umgmcl4V/lib/python3.6/site-packages/catalyst/exchange/exchange_algorithm.py", line 330, in run
data, overwrite_sim_params
File "/Users/skurilyak/Envs/cryptocurrency-trading-platform-umgmcl4V/lib/python3.6/site-packages/catalyst/algorithm.py", line 724, in run
for perf in self.get_generator():
File "/Users/skurilyak/Envs/cryptocurrency-trading-platform-umgmcl4V/lib/python3.6/site-packages/catalyst/algorithm.py", line 622, in get_generator
return self._create_generator(self.sim_params)
File "/Users/skurilyak/Envs/cryptocurrency-trading-platform-umgmcl4V/lib/python3.6/site-packages/catalyst/algorithm.py", line 593, in _create_generator
self.initialize(*self.initialize_args, **self.initialize_kwargs)
File "/Users/skurilyak/Envs/cryptocurrency-trading-platform-umgmcl4V/lib/python3.6/site-packages/catalyst/algorithm.py", line 457, in initialize
self._initialize(self, *args, **kwargs)
File "/Users/skurilyak/dev/produvia/cryptocurrency-trading-platform/crypto_platform/strategy/strategy.py", line 169, in _init_func
manager.fetch_data()
File "/Users/skurilyak/dev/produvia/cryptocurrency-trading-platform/crypto_platform/data/manager.py", line 284, in fetch_data
self.df = self.normalize_data(trend_data)
File "/Users/skurilyak/dev/produvia/cryptocurrency-trading-platform/crypto_platform/data/manager.py", line 297, in normalize_data
renorm_factor *= float(last_entry) / float(first_entry)
ZeroDivisionError: float division by zero
Running
$ strat -f examples/api_example.json
with the following parameters (START: 2015-03-01, END: 2018-04-06) gives: