Add backtesting engine with SMA cross strategy

Reads features from Supabase, simulates SMA(3)/SMA(20) crossover signals,
and outputs P&L, drawdown, and trade logs per instrument/granularity.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Brent Neale
2026-02-16 15:58:00 +10:00
co-authored by Claude Opus 4.6
parent 31c74d4e5f
commit 187ebe9a9e
5 changed files with 412 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
time,instrument,granularity,side,price,position_size,equity,drawdown
2026-02-13 15:15:00+00:00,USD_JPY,M5,BUY,153.089,100.0,10000.0,0.0
2026-02-13 15:45:00+00:00,USD_JPY,M5,FLAT,152.948,0.0,9999.91,9e-06
2026-02-13 15:55:00+00:00,USD_JPY,M5,BUY,153.132,100.0,9999.91,9e-06
2026-02-13 16:20:00+00:00,USD_JPY,M5,FLAT,152.894,0.0,9999.75,2.5e-05
2026-02-13 17:45:00+00:00,USD_JPY,M5,BUY,152.828,100.0,9999.75,2.5e-05
2026-02-13 17:50:00+00:00,USD_JPY,M5,FLAT,152.757,0.0,9999.71,2.9e-05
2026-02-13 17:55:00+00:00,USD_JPY,M5,BUY,152.808,100.0,9999.71,2.9e-05
2026-02-13 18:00:00+00:00,USD_JPY,M5,FLAT,152.792,0.0,9999.7,3e-05
2026-02-13 18:05:00+00:00,USD_JPY,M5,BUY,152.818,100.0,9999.7,3e-05
2026-02-13 19:10:00+00:00,USD_JPY,M5,FLAT,152.81,0.0,9999.69,3.1e-05
2026-02-13 20:10:00+00:00,USD_JPY,M5,BUY,152.788,100.0,9999.69,3.1e-05
2026-02-13 20:25:00+00:00,USD_JPY,M5,FLAT,152.734,0.0,9999.65,3.5e-05
2026-02-13 21:50:00+00:00,USD_JPY,M5,BUY,152.717,100.0,9999.65,3.5e-05
2026-02-15 22:05:00+00:00,USD_JPY,M5,FLAT,152.632,0.0,9999.6,4e-05
2026-02-15 23:00:00+00:00,USD_JPY,M5,BUY,152.695,100.0,9999.6,4e-05
2026-02-16 01:30:00+00:00,USD_JPY,M5,FLAT,153.008,0.0,9999.8,2e-05
2026-02-16 02:10:00+00:00,USD_JPY,M5,BUY,153.089,100.0,9999.8,2e-05
2026-02-16 02:55:00+00:00,USD_JPY,M5,FLAT,153.012,0.0,9999.75,2.5e-05
2026-02-16 03:05:00+00:00,USD_JPY,M5,BUY,153.087,100.0,9999.75,2.5e-05
2026-02-16 03:20:00+00:00,USD_JPY,M5,FLAT,153.022,0.0,9999.71,2.9e-05
2026-02-16 03:50:00+00:00,USD_JPY,M5,BUY,153.062,100.0,9999.71,2.9e-05
2026-02-16 04:05:00+00:00,USD_JPY,M5,FLAT,153.02,0.0,9999.68,3.2e-05
2026-02-16 04:15:00+00:00,USD_JPY,M5,BUY,153.092,100.0,9999.68,3.2e-05
1 time instrument granularity side price position_size equity drawdown
2 2026-02-13 15:15:00+00:00 USD_JPY M5 BUY 153.089 100.0 10000.0 0.0
3 2026-02-13 15:45:00+00:00 USD_JPY M5 FLAT 152.948 0.0 9999.91 9e-06
4 2026-02-13 15:55:00+00:00 USD_JPY M5 BUY 153.132 100.0 9999.91 9e-06
5 2026-02-13 16:20:00+00:00 USD_JPY M5 FLAT 152.894 0.0 9999.75 2.5e-05
6 2026-02-13 17:45:00+00:00 USD_JPY M5 BUY 152.828 100.0 9999.75 2.5e-05
7 2026-02-13 17:50:00+00:00 USD_JPY M5 FLAT 152.757 0.0 9999.71 2.9e-05
8 2026-02-13 17:55:00+00:00 USD_JPY M5 BUY 152.808 100.0 9999.71 2.9e-05
9 2026-02-13 18:00:00+00:00 USD_JPY M5 FLAT 152.792 0.0 9999.7 3e-05
10 2026-02-13 18:05:00+00:00 USD_JPY M5 BUY 152.818 100.0 9999.7 3e-05
11 2026-02-13 19:10:00+00:00 USD_JPY M5 FLAT 152.81 0.0 9999.69 3.1e-05
12 2026-02-13 20:10:00+00:00 USD_JPY M5 BUY 152.788 100.0 9999.69 3.1e-05
13 2026-02-13 20:25:00+00:00 USD_JPY M5 FLAT 152.734 0.0 9999.65 3.5e-05
14 2026-02-13 21:50:00+00:00 USD_JPY M5 BUY 152.717 100.0 9999.65 3.5e-05
15 2026-02-15 22:05:00+00:00 USD_JPY M5 FLAT 152.632 0.0 9999.6 4e-05
16 2026-02-15 23:00:00+00:00 USD_JPY M5 BUY 152.695 100.0 9999.6 4e-05
17 2026-02-16 01:30:00+00:00 USD_JPY M5 FLAT 153.008 0.0 9999.8 2e-05
18 2026-02-16 02:10:00+00:00 USD_JPY M5 BUY 153.089 100.0 9999.8 2e-05
19 2026-02-16 02:55:00+00:00 USD_JPY M5 FLAT 153.012 0.0 9999.75 2.5e-05
20 2026-02-16 03:05:00+00:00 USD_JPY M5 BUY 153.087 100.0 9999.75 2.5e-05
21 2026-02-16 03:20:00+00:00 USD_JPY M5 FLAT 153.022 0.0 9999.71 2.9e-05
22 2026-02-16 03:50:00+00:00 USD_JPY M5 BUY 153.062 100.0 9999.71 2.9e-05
23 2026-02-16 04:05:00+00:00 USD_JPY M5 FLAT 153.02 0.0 9999.68 3.2e-05
24 2026-02-16 04:15:00+00:00 USD_JPY M5 BUY 153.092 100.0 9999.68 3.2e-05