Utilities for research on tradingo trading strategies
exploratory analysis and modelling
parrallelized replay framework in the cloud
param_grid = {
'shortTerm': range(0,100),
'longTerm': range(1000,2000),
'strategy': 'BreakOutStrategy'
}
with EcsCluster('replay_cluster') as cluster:
gs = GridSearch(param_grid, 'short_long_term_search', cluster, '2021-09-21')
gs.run()
params = gs.best()
replay = Replay(cluster, params)
replay.run(start='2021-09-15', end='2021-09-25')
Historically contained python script for downloading data.
(venv) [13:17:28] rory@intel-nuc:~/dev/tick-capture (feature/breakout_strategy *)
$ docker run -it --rm -v /home/rory/.tradingo/data/replays/2022-01-06_breakout_1.1.0-9-g4f3b5c2_e927bebd954b00612a2db075bc4117b3/:/mnt/replays/core_dumped/ tradingo/replay:1.1.0-9-g4f3b5c2 /bin/bash -i
bash-5.1# ls -l /mnt/replays/core_dumped/
total 4803188
-rw-r--r-- 1 root root 312 Apr 17 09:56 common.json
drwxr-xr-x 2 root root 4096 Apr 17 09:56 core
-rw------- 1 root root 4881944576 Apr 17 09:57 core.0.11.1650189442.replayTradingo.24
drwxr-xr-x 2 root root 4096 Apr 17 09:56 log
-rw-r--r-- 1 root root 29510263 Apr 17 09:57 moving_average_crossover_XBTUSD.csv
-rw-r--r-- 1 root root 147 Apr 17 09:56 replayTradingo.json
-rw-r--r-- 1 root root 207574 Apr 17 09:57 replay_executions_XBTUSD.json
-rw-r--r-- 1 root root 4341683 Apr 17 09:57 replay_orders_XBTUSD.json
-rw-r--r-- 1 root root 9290026 Apr 17 09:57 replay_positions_XBTUSD.json
bash-5.1# ls -l /mnt/replays/core_dumped/core.0.11.1650189442.replayTradingo.24
-rw------- 1 root root 4881944576 Apr 17 09:57 /mnt/replays/core_dumped/core.0.11.1650189442.replayTradingo.24
bash-5.1# gdb^Cmnt/replays/core_dumped/core.0.11.1650189442.replayTradingo.24
bash-5.1# gdb
bash: gdb: command not found
bash-5.1# apk add gdb
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
(1/1) Installing gdb (10.2-r0)
Executing busybox-1.33.1-r6.trigger
OK: 392 MiB in 98 packages
bash-5.1# gdb /usr/
bin/ glibc-compat/ include/ lib/ local/ sbin/ share/
bash-5.1# gdb /usr/local/bin/
aws benchmarkTradingo testTradingo test_orderbook tradingo
aws_completer replayTradingo testTradingo-lr tickRecorder tradingo_replay
bash-5.1# gdb /usr/local/bin/replayTradingo /mnt/replays/core_dumped/
common.json log/ replay_executions_XBTUSD.json
core/ moving_average_crossover_XBTUSD.csv replay_orders_XBTUSD.json
core.0.11.1650189442.replayTradingo.24 replayTradingo.json replay_positions_XBTUSD.json
bash-5.1# gdb /usr/local/bin/replayTradingo /mnt/replays/core_dumped/core.0.11.1650189442.replayTradingo.24
GNU gdb (GDB) 10.2
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-alpine-linux-musl".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/local/bin/replayTradingo...
[New LWP 24]
[New LWP 25]
Core was generated by `replayTradingo --config /mnt/replays//2022-01-06_breakout_1.1.0-9-g4f3b5c2_e927'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x000055c467b27057 in TestMarketData::operator<<(std::shared_ptr<io::swagger::client::model::Order> const&) ()
[Current thread is 1 (LWP 24)]
(gdb) where
#0 0x000055c467b27057 in TestMarketData::operator<<(std::shared_ptr<io::swagger::client::model::Order> const&) ()
#1 0x000055c467b1b2ef in TestOrdersApi::order_cancel(boost::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, boost::optional<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >) ()
#2 0x000055c467ac2763 in Allocations<TestOrdersApi>::placeAllocations() ()
#3 0x000055c467ac6855 in Strategy<TestOrdersApi, TestPositionApi>::evaluate() ()
#4 0x000055c467b25275 in TestMarketData::operator<<(std::shared_ptr<io::swagger::client::model::Quote> const&) ()
#5 0x000055c467aaa110 in TestEnv::operator<<(std::shared_ptr<io::swagger::client::model::Quote> const&) ()
#6 0x000055c467ab1514 in TestEnv::playback(Series<io::swagger::client::model::Trade> const&, Series<io::swagger::client::model::Quote> const&, Series<io::swagger::client::model::Instrument> const&) ()
#7 0x000055c467a7a626 in main ()