diff --git a/backtests/reports/as_mm_1d_20260811-051319_dashboard.html b/backtests/reports/as_mm_1d_20260811-051319_dashboard.html new file mode 100644 index 0000000..9dea342 --- /dev/null +++ b/backtests/reports/as_mm_1d_20260811-051319_dashboard.html @@ -0,0 +1,39 @@ + +VBT Backtest Report + + +

VBT Backtest — as_mm (1d)

+

Generated: 20260811-051319

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \ No newline at end of file diff --git a/backtests/reports/iceberg_1h_20260811-043938_dashboard.html b/backtests/reports/iceberg_1h_20260811-043938_dashboard.html new file mode 100644 index 0000000..4f8c8a2 --- /dev/null +++ b/backtests/reports/iceberg_1h_20260811-043938_dashboard.html @@ -0,0 +1,39 @@ + +VBT Backtest Report + + +

VBT Backtest — iceberg (1h)

+

Generated: 20260811-043938

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \ No newline at end of file diff --git a/backtests/reports/pairs_1h_20260811-043847_dashboard.html b/backtests/reports/pairs_1h_20260811-043847_dashboard.html new file mode 100644 index 0000000..254b322 --- /dev/null +++ b/backtests/reports/pairs_1h_20260811-043847_dashboard.html @@ -0,0 +1,39 @@ + +VBT Backtest Report + + +

VBT Backtest — pairs (1h)

+

Generated: 20260811-043847

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \ No newline at end of file diff --git a/backtests/reports/tick_dashboard_BTC_20260811-064529.html b/backtests/reports/tick_dashboard_BTC_20260811-064529.html new file mode 100644 index 0000000..b82d886 --- /dev/null +++ b/backtests/reports/tick_dashboard_BTC_20260811-064529.html @@ -0,0 +1,39 @@ + +HFT Dashboard — BTC + + +

HFT Microstructure Dashboard — BTC

+

20260811-064529

+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ \ No newline at end of file diff --git a/backtests/results/tick/vpin_as_mm_BTC_2026-08-11_2026-08-12_20260811-064519.json b/backtests/results/tick/vpin_as_mm_BTC_2026-08-11_2026-08-12_20260811-064519.json new file mode 100644 index 0000000..0a0686e --- /dev/null +++ b/backtests/results/tick/vpin_as_mm_BTC_2026-08-11_2026-08-12_20260811-064519.json @@ -0,0 +1 @@ +{"strategy": "vpin_as_mm", "coin": "BTC", "start_date": "2026-08-11", "end_date": "2026-08-12", "duration_hours": 0.07, "n_events": 324, "total_trades": 1, "bid_fills": 1, "ask_fills": 0, "cancels": 98, "toxic_fills": 1, "adverse_rate": 1.0, "avg_spread_bps": 0.16, "max_inventory": 0.001, "max_drawdown_pct": 0.0, "sharpe": 0.0, "sortino": 0.0, "uptime_pct": 100.0, "pnl_breakdown": {"spread_capture": -0.0008, "inventory_pnl": 0.0, "maker_fees": -0.0128, "taker_fees": 0.0, "funding_pnl": 0.0, "adverse_selection_cost": -0.0004, "gross_pnl": -0.0136, "net_pnl": -0.0136}, "equity_curve": [{"t": 0.0, "v": 10000.0}, {"t": 0.0, "v": 9999.986412}], "vpin_curve": [], "verdict": "DISCARD", "dsr": 0.0, "psr": 0.5, "haircut_sharpe": -0.815763, "maker_fee_pct": 0.0002, "taker_fee_pct": 0.0005, "maker_params": {"gamma": 0.1, "base_size": 0.001, "max_inventory": 0.005, "skew_factor": 0.5, "vpin_threshold": 0.3, "vpin_alarm": 0.5}, "generated_at": "2026-08-11T06:45:19.913296+00:00"} \ No newline at end of file diff --git a/data/normalized/ftdt_tick.db b/data/normalized/ftdt_tick.db new file mode 100644 index 0000000..1c81b56 Binary files /dev/null and b/data/normalized/ftdt_tick.db differ diff --git a/data/raw/funding/BTC/2026-08-11.parquet b/data/raw/funding/BTC/2026-08-11.parquet new file mode 100644 index 0000000..efefc18 Binary files /dev/null and b/data/raw/funding/BTC/2026-08-11.parquet differ diff --git a/data/raw/l2book/BTC/2026-08-11.parquet b/data/raw/l2book/BTC/2026-08-11.parquet new file mode 100644 index 0000000..1eae878 Binary files /dev/null and b/data/raw/l2book/BTC/2026-08-11.parquet differ diff --git a/data/raw/mark/BTC/2026-08-11.parquet b/data/raw/mark/BTC/2026-08-11.parquet new file mode 100644 index 0000000..1823d7a Binary files /dev/null and b/data/raw/mark/BTC/2026-08-11.parquet differ diff --git a/data/raw/open_interest/BTC/2026-08-11.parquet b/data/raw/open_interest/BTC/2026-08-11.parquet new file mode 100644 index 0000000..07ab23e Binary files /dev/null and b/data/raw/open_interest/BTC/2026-08-11.parquet differ diff --git a/data/raw/trades/BTC/2026-08-11.parquet b/data/raw/trades/BTC/2026-08-11.parquet new file mode 100644 index 0000000..789a71b Binary files /dev/null and b/data/raw/trades/BTC/2026-08-11.parquet differ diff --git a/scripts/serve_dashboard.py b/scripts/serve_dashboard.py new file mode 100644 index 0000000..cacfa3e --- /dev/null +++ b/scripts/serve_dashboard.py @@ -0,0 +1,18 @@ +#!/usr/bin/env python3 +"""Start dashboard dev server and print the URL.""" +import http.server +import os +import socketserver +import sys + +PORT = 9176 +DIR = "/home/satoshi/ftdt-quant-lab/backtests/reports" +os.chdir(DIR) + +class MyHandler(http.server.SimpleHTTPRequestHandler): + def log_message(self, fmt, *args): + pass # quiet + +with socketserver.TCPServer(("0.0.0.0", PORT), MyHandler) as httpd: + print(f"Dashboard: http://localhost:{PORT}") + httpd.serve_forever()