Crypto/stock backtester
See my other projects: turpin.dev.
Disclaimer
Don't invest what you can't afford to lose. Illustrations are for illustrative purposes only. History is not an indicator of future performance. That said...
Overview
Historic price data are fetched daily via the Marketstack and CryptoCompare APIs, and converted to CSV format using Python; each currency pair is then analysed in C++. Finally, the table below is generated using the trade summary.
Profiling
The C++ code is profiled using gprof
and visualised with gprof2dot
and graphviz
.
Built with ♥ on Sun May 5 14:31:12 UTC 2024 by a Ubuntu 24.04 LTS.
Backtests
- 446 currency pairs (from Marketstack, Coinbase, Kraken, Binance)
- 3% take profit
- 6% stop loss
- 68 candles window size
- 0.5 minimum ATR (normalised)
- 4.3 minimum entry price
-0.18% average profit over 81 trades.
Time | Token | Open | Close | Hours | Profit |
---|---|---|---|---|---|
2024-04-30 00:00:00 | Kraken-EUL-EUR | 5.47 | 5.64 | 1 | 3.1% |
2024-04-29 22:00:00 | Coinbase-ENS-EUR | 15.03 | 14.00 | 12 | -6.8% |
2024-04-29 19:00:00 | Coinbase-ICP-EUR | 12.48 | 11.73 | 17 | -6.0% |
2024-04-29 19:00:00 | Binance-ICP-EUR | 12.48 | 11.72 | 17 | -6.1% |
2024-04-29 12:00:00 | Kraken-MLN-EUR | 20.35 | 18.98 | 24 | -6.8% |
2024-04-24 14:00:00 | Binance-NEAR-EUR | 6.44 | 6.69 | 3 | 3.9% |
2024-04-24 14:00:00 | Kraken-NEAR-EUR | 6.43 | 6.69 | 3 | 4.0% |
2024-04-24 08:00:00 | Kraken-LPT-EUR | 14.34 | 13.45 | 8 | -6.2% |
2024-04-24 02:00:00 | Kraken-AKT-EUR | 5.11 | 4.78 | 4 | -6.5% |
2024-04-23 20:00:00 | Kraken-AVAX-EUR | 35.96 | 33.78 | 30 | -6.1% |
2024-04-23 20:00:00 | Coinbase-AVAX-EUR | 35.98 | 33.61 | 30 | -6.6% |
2024-04-23 20:00:00 | Binance-AVAX-EUR | 36.01 | 33.66 | 30 | -6.5% |
2024-04-23 16:00:00 | Kraken-RNDR-EUR | 8.57 | 8.06 | 28 | -6.0% |
2024-04-16 13:00:00 | Kraken-KP3R-EUR | 74.13 | 75.40 | 67 | 1.7% |
2024-04-16 13:00:00 | Kraken-AXS-EUR | 6.50 | 6.71 | 66 | 3.2% |
2024-04-16 13:00:00 | Kraken-LTC-GBP | 62.81 | 64.72 | 34 | 3.0% |
2024-04-16 13:00:00 | Coinbase-ETC-GBP | 20.73 | 21.37 | 16 | 3.1% |
2024-04-16 13:00:00 | Coinbase-AXS-EUR | 6.47 | 6.69 | 58 | 3.3% |
2024-04-16 13:00:00 | Coinbase-DOT-EUR | 6.17 | 6.38 | 56 | 3.3% |
2024-04-10 11:00:00 | Kraken-XMR-EUR | 123.20 | 114.31 | 56 | -7.2% |
2024-04-09 01:00:00 | Kraken-MLN-EUR | 23.48 | 24.57 | 16 | 4.6% |
2024-04-02 02:00:00 | Coinbase-BCH-EUR | 586.65 | 548.92 | 38 | -6.4% |
2024-04-02 02:00:00 | Kraken-BCH-EUR | 585.44 | 548.66 | 38 | -6.3% |
2024-04-02 02:00:00 | Coinbase-FIL-GBP | 7.25 | 6.78 | 22 | -6.5% |
2024-04-02 02:00:00 | Coinbase-AAVE-EUR | 116.80 | 109.13 | 6 | -6.6% |
2024-04-02 02:00:00 | Binance-BCH-EUR | 586.80 | 549.20 | 38 | -6.4% |
2024-04-02 02:00:00 | Coinbase-ICP-GBP | 14.18 | 14.66 | 28 | 3.4% |
2024-04-02 02:00:00 | Coinbase-MASK-EUR | 5.18 | 5.36 | 5 | 3.5% |
2024-04-01 14:00:00 | Kraken-BADGER-EUR | 6.26 | 5.85 | 35 | -6.6% |
2024-04-01 14:00:00 | Coinbase-ICP-GBP | 14.35 | 13.37 | 19 | -6.8% |
2024-04-01 14:00:00 | Binance-ICP-EUR | 16.78 | 15.77 | 15 | -6.0% |
2024-03-31 07:00:00 | Kraken-FIL-EUR | 8.90 | 9.31 | 17 | 4.5% |
2024-03-30 14:00:00 | Kraken-MASK-EUR | 5.21 | 5.41 | 42 | 3.7% |
2024-03-30 06:00:00 | Kraken-KP3R-EUR | 89.90 | 96.27 | 15 | 7.1% |
2024-03-29 18:00:00 | Coinbase-SOL-GBP | 147.33 | 152.23 | 5 | 3.3% |
2024-03-29 16:00:00 | Kraken-SOL-GBP | 146.98 | 152.30 | 7 | 3.6% |
2024-03-29 04:00:00 | Kraken-LTC-GBP | 74.28 | 76.96 | 5 | 3.6% |
2024-03-28 09:00:00 | Kraken-MLN-EUR | 25.51 | 23.87 | 23 | -6.4% |
2024-03-27 19:00:00 | Kraken-KP3R-EUR | 89.37 | 92.20 | 28 | 3.2% |
2024-03-26 08:00:00 | Kraken-XRT-EUR | 6.39 | 5.90 | 28 | -7.6% |
2024-03-23 21:00:00 | Kraken-MLN-EUR | 25.71 | 23.89 | 14 | -7.1% |
2024-03-22 22:00:00 | Kraken-LTC-GBP | 65.49 | 68.18 | 12 | 4.1% |
2024-03-22 22:00:00 | Kraken-ATOM-GBP | 8.91 | 9.20 | 17 | 3.4% |
2024-03-22 22:00:00 | Coinbase-AAVE-EUR | 107.30 | 110.73 | 3 | 3.2% |
2024-03-22 22:00:00 | Coinbase-LTC-EUR | 76.28 | 79.53 | 12 | 4.3% |
2024-03-22 22:00:00 | Coinbase-AAVE-GBP | 92.20 | 96.14 | 4 | 4.3% |
2024-03-22 22:00:00 | Kraken-AAVE-GBP | 92.21 | 96.35 | 4 | 4.5% |
2024-03-22 10:00:00 | Coinbase-SOL-GBP | 139.66 | 145.31 | 60 | 4.0% |
2024-03-18 23:00:00 | Binance-ICP-EUR | 11.35 | 10.58 | 6 | -6.8% |
2024-03-17 16:00:00 | Kraken-FORTH-EUR | 4.88 | 5.06 | 2 | 3.6% |
2024-03-17 15:00:00 | Coinbase-AVAX-EUR | 50.51 | 52.23 | 4 | 3.4% |
2024-03-17 07:00:00 | Kraken-APT-EUR | 12.47 | 13.31 | 1 | 6.8% |
2024-03-17 07:00:00 | Binance-APT-EUR | 12.54 | 13.34 | 1 | 6.4% |
2024-03-17 07:00:00 | Coinbase-RNDR-EUR | 9.72 | 10.21 | 2 | 5.0% |
2024-03-15 17:00:00 | Kraken-DOT-EUR | 9.48 | 9.91 | 2 | 4.5% |
2024-03-15 17:00:00 | Binance-LINK-EUR | 17.77 | 16.66 | 30 | -6.2% |
2024-03-15 17:00:00 | Kraken-MKR-EUR | 2520.07 | 2599.13 | 7 | 3.1% |
2024-03-15 03:00:00 | Binance-EGLD-EUR | 64.27 | 60.29 | 35 | -6.2% |
2024-03-15 03:00:00 | Binance-AVAX-EUR | 48.91 | 45.88 | 6 | -6.2% |
2024-03-15 03:00:00 | Coinbase-AVAX-EUR | 48.93 | 45.89 | 6 | -6.2% |
2024-03-15 03:00:00 | Kraken-AVAX-EUR | 48.91 | 45.83 | 6 | -6.3% |
2024-03-15 03:00:00 | Kraken-EGLD-EUR | 63.74 | 65.71 | 4 | 3.1% |
2024-03-14 13:00:00 | Kraken-UNI-EUR | 12.86 | 12.07 | 14 | -6.1% |
2024-03-14 13:00:00 | Coinbase-UNI-EUR | 12.87 | 12.06 | 14 | -6.3% |
2024-03-12 17:00:00 | Kraken-QTUM-EUR | 4.64 | 4.83 | 2 | 3.9% |
2024-03-10 22:00:00 | Binance-EGLD-EUR | 60.68 | 62.77 | 12 | 3.4% |
2024-03-10 22:00:00 | Kraken-MOVR-EUR | 20.93 | 21.57 | 16 | 3.0% |
2024-03-05 02:00:00 | Kraken-KSM-EUR | 48.51 | 50.28 | 6 | 3.6% |
2024-03-05 02:00:00 | Kraken-KP3R-EUR | 80.87 | 84.37 | 12 | 4.3% |
2024-03-04 12:00:00 | Kraken-MASK-EUR | 4.45 | 4.13 | 31 | -7.2% |
2024-03-04 07:00:00 | Kraken-BADGER-EUR | 5.25 | 5.49 | 6 | 4.5% |
2024-03-03 16:00:00 | Kraken-FARM-EUR | 45.96 | 47.64 | 45 | 3.7% |
2024-03-01 07:00:00 | Kraken-KSM-EUR | 45.87 | 47.46 | 18 | 3.5% |
2024-03-01 07:00:00 | Coinbase-ICP-EUR | 11.74 | 12.28 | 19 | 4.6% |
2024-02-29 04:00:00 | Binance-LINK-EUR | 17.94 | 18.62 | 5 | 3.8% |
2024-02-28 00:00:00 | Coinbase-RNDR-EUR | 6.62 | 6.86 | 5 | 3.7% |
2024-02-27 09:00:00 | Kraken-NMR-EUR | 29.35 | 30.39 | 30 | 3.5% |
2024-02-26 21:00:00 | Kraken-FIL-GBP | 6.37 | 5.97 | 23 | -6.3% |
2024-02-26 19:00:00 | Kraken-FIL-EUR | 7.32 | 7.58 | 10 | 3.5% |
2024-02-26 19:00:00 | Coinbase-FIL-EUR | 7.31 | 7.59 | 10 | 3.8% |
2024-02-15 14:00:00 | Coinbase-RNDR-EUR | 4.61 | 4.92 | 9 | 6.7% |
Benchmarks
---------------------------------------------------------------- Benchmark Time CPU Iterations ---------------------------------------------------------------- BM_is_entry 54473 ns 54469 ns 12867 BM_is_entry2 41171 ns 41171 ns 16944 BM_to_exit 216 ns 216 ns 3259398 BM_to_exit2 237 ns 236 ns 2966297 BM_to_vwap 7519 ns 7517 ns 93341 BM_to_vwap2 7514 ns 7513 ns 93298 BM_is_recent_dip2 807 ns 806 ns 872862 BM_to_atr 63116 ns 63074 ns 11099 BM_to_atr2 2469 ns 2467 ns 282843 BM_to_atr3 2416 ns 2415 ns 291970 BM_to_average_func 0.313 ns 0.313 ns 1000000000 BM_to_average_func2 0.316 ns 0.316 ns 1000000000 BM_to_average_volume 58976 ns 58896 ns 11979 BM_to_average_volume2 1890 ns 1890 ns 372615 BM_to_size 0.629 ns 0.629 ns 1000000000 BM_to_first 0.315 ns 0.315 ns 1000000000 BM_to_last 0.631 ns 0.631 ns 1000000000 BM_to_sum 0.626 ns 0.626 ns 1000000000 BM_to_sum2 0.313 ns 0.313 ns 1000000000 BM_to_spot 0.314 ns 0.314 ns 1000000000 BM_identity 170 ns 170 ns 4120669 BM_identity2 171 ns 171 ns 4107681 BM_to_profit 0.314 ns 0.314 ns 1000000000 BM_to_time 0.627 ns 0.627 ns 1000000000 BM_to_open 0.313 ns 0.313 ns 1000000000 BM_to_high 0.313 ns 0.313 ns 1000000000 BM_to_low 0.314 ns 0.314 ns 1000000000 BM_to_close 0.314 ns 0.314 ns 1000000000 BM_to_volume 0.629 ns 0.629 ns 1000000000