jgrusewski
9e9fe2a13c
feat(xsfunding): live-booking forward strategy (delta-neutral funding+basis, executable)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 07:45:45 +02:00
jgrusewski
0cf0e77ab4
feat(xsfunding): live per-coin snapshot (funding + perp + spot + qvol)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 07:41:59 +02:00
jgrusewski
e7c9946aac
docs(xsfunding): paper-forward track implementation plan
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 07:38:51 +02:00
jgrusewski
a54a59c57e
fix(xsfunding): guard sp[nxt]>0 in basis runner + test basis_modeled report metadata
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 00:34:39 +02:00
jgrusewski
5fe24df253
feat(xsfunding): model spot-perp basis P&L in runner (true delta-neutral return; funding-only fallback)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 00:27:53 +02:00
jgrusewski
fce563a65d
feat(xsfunding): basis-panel builder + build-basis-panel CLI + spot-panel npz persistence
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 00:22:46 +02:00
jgrusewski
7f0e91a45b
feat(xsfunding): spot-history adapter + ticker-reuse guard clean_spot_leg (basis prep)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 00:18:14 +02:00
jgrusewski
178ac665c4
docs(xsfunding): spot-perp basis-modeling implementation plan
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-19 00:12:47 +02:00
jgrusewski
2347714cae
docs(xsfunding): self-document funding-only + annualization caveats in report/CLI; book_return_xs note
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 23:54:17 +02:00
jgrusewski
75006af0ef
fix(xsfunding): runner robust to panel gaps — use last-known qvol for cost (KeyError on real data)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 23:41:38 +02:00
jgrusewski
b5f065b887
feat(xsfunding): backtest-funding CLI — verdict matrix over crypto_pit panel
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 23:37:31 +02:00
jgrusewski
d231971cb8
feat(xsfunding): gauntlet verdict matrix (modes x floors, crypto 365d, cross-cell DSR n_trials)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 23:33:13 +02:00
jgrusewski
17da65c6bd
fix(xsfunding): charge exit cost for dropped-out holdings; expose n_rebalances vs panel_days
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 23:29:11 +02:00
jgrusewski
0f115abbf1
feat(xsfunding): walk-forward runner — PIT universe + per-mode daily carry series + liquidity-scaled cost
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 23:19:56 +02:00
jgrusewski
a0c35eae71
fix(xsfunding): clamp quantile-cut to disjoint top/bottom; cache panel; gross-scale doc; isolating PIT test
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 23:16:14 +02:00
jgrusewski
250f425374
feat(xsfunding): construction weights (long_tilt/market_neutral/executable) + signed carry book-return
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 23:08:52 +02:00
jgrusewski
b0862836aa
feat(xsfunding): PIT eligibility + cross-sectional funding score (robust_z of trailing funding)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 23:05:20 +02:00
jgrusewski
050f45d667
feat(xsfunding): crypto_pit npz panel adapter (survivorship-free, read-only)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 23:02:00 +02:00
jgrusewski
549a21f660
docs(xsfunding): cross-sectional funding-dispersion implementation plan (6 tasks → verdict matrix)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 22:58:52 +02:00
jgrusewski
31aa746369
docs(xsfunding): cross-sectional crypto funding-dispersion strategy design (spike PASSED — survivorship-free panel on disk)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 22:53:40 +02:00
jgrusewski
28934a214c
feat: retire crossvenue forward track (falsified 3x — max-min artifact, no edge)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 20:56:50 +02:00
jgrusewski
7766071d06
fix(b3b-deploy): verdict Job pg egress via postgres podSelector (pod CIDR, not service CIDR)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 19:13:15 +02:00
jgrusewski
988743302d
deploy(b3b): one-off Job to run the backtest + publish verdict to cockpit (pg egress netpol)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 19:04:39 +02:00
jgrusewski
72dd1e1e9f
fix(b3b): None-safe backtest-verdict rendering in cockpit templates + detail-page verdict test
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 18:55:30 +02:00
jgrusewski
2c94c65953
feat(b3b): retire eqfactor_ls forward track (no edge per backtest); keep long/tilt + shared scores
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 18:48:41 +02:00
jgrusewski
82fad9c21e
feat(b3b): surface backtest verdict (PASS/FAIL + Sharpe/DSR) in cockpit fleet view
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 18:44:17 +02:00
jgrusewski
b42177e853
feat(b3b): persist backtest verdict to cockpit (backtest_summary table + --persist-cockpit)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 18:39:24 +02:00
jgrusewski
b01da6865e
fix(b3b): PIT path uses full trading calendar for hold days; CLI omits candidate_top_k under --pit
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 10:16:27 +02:00
jgrusewski
feac27f98f
feat(b3b): PIT-trailing universe selection — remove peak-liquidity lookahead (two-pass, memory-bounded)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 10:01:36 +02:00
jgrusewski
5029c4058b
feat(b3b): delisting-return handling — book terminal return when held name's series terminates (fixes long-only inflation)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 09:42:49 +02:00
jgrusewski
684467bd9c
fix(b3b): data hygiene — exclude test/penny tickers + per-day return sanity guard (hold-flat on garbage prices)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 09:29:44 +02:00
jgrusewski
9068f73b51
feat(b3b): expose candidate-top-k/min-history on backtest-equity CLI (use bounded path by default)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 09:09:01 +02:00
jgrusewski
76e07ec3be
fix(b3b): move candidate-universe SQL into store adapter; stable tiebreaker; tidy candidate panel load
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 09:03:46 +02:00
jgrusewski
103572a6eb
feat(b3b): bounded survivorship-safe candidate pre-filter + adjclose-only low-memory run path
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 08:56:08 +02:00
jgrusewski
c7602dbf66
fix(b3b): cross-construction sr_variance for DSR; guard short series (no NaN JSON); epoch_day public
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 12:53:38 +02:00
jgrusewski
33ade4356c
feat(b3b): fxhnt backtest-equity CLI — run walk-forward verdict + write report JSON
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 12:45:26 +02:00
jgrusewski
714a4963a7
feat(b3b): gauntlet verdict + JSON report per construction (DSR/OOS, n_trials=3)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 12:42:50 +02:00
jgrusewski
8447245603
fix(b3b): report only traded rebalances in n_names_avg/rebalance_dates; document hold-flat + two-way turnover
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 12:40:23 +02:00
jgrusewski
3e36db0d74
fix(b3b): honor momentum_min_history in runner (wire the inert knob)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 12:35:11 +02:00
jgrusewski
ccd610677e
feat(b3b): walk-forward runner — PIT universe + monthly rebalance + per-construction daily returns
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 12:33:19 +02:00
jgrusewski
855887b20a
feat(b3b): daily_returns_for_weights (fixed-weight holding-period book returns)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 12:27:53 +02:00
jgrusewski
dc9bfeb687
feat(b3b): PIT universe_asof + month-end rebalance-date domain (survivorship-free)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 12:25:41 +02:00
jgrusewski
a93cf05fab
fix(equity-factor): guard non-positive recent price in momentum_12_1 (delisted-name safety)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 12:24:29 +02:00
jgrusewski
d7c055c927
refactor(equity-factor): extract pure momentum_12_1/realized_vol window helpers (DRY live + backtest)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 12:20:49 +02:00
jgrusewski
e254ca02ef
docs(b3b): walk-forward equity-factor backtest implementation plan
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 12:17:39 +02:00
jgrusewski
107b7e53f7
fix(b3a-deploy): memory request/limit + PYTHONUNBUFFERED on ingest Job
...
Bounded-window ingest peaks small; request 768Mi/limit 1536Mi makes the scheduler
place it with headroom and stops it evicting neighbours (a prior unbounded run hit
~2.3Gi on a shared 6.4Gi node). PYTHONUNBUFFERED streams progress logs live.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 01:38:18 +02:00
jgrusewski
8ee4057ec2
fix(b3a): bound ingest in-flight window (~2x workers) — prevent unbounded result accumulation / OOM eviction
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 01:37:29 +02:00
jgrusewski
b1200eac8e
perf(b3a): parallelize ingest fetch (ThreadPool); DuckDB writes stay main-thread (single-writer safe)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 01:17:24 +02:00
jgrusewski
de69f270da
merge: B3a — survivorship-free historical EOD ingest (mechanism + dedicated PVC/Job)
...
Resumable HistoricalEodIngest → dedicated backtest warehouse PVC; fxhnt ingest-historical CLI; external-443
egress netpol. Backtest engine (B3b) next. 370 tests green.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 00:24:51 +02:00
jgrusewski
a32aac1049
fix(b3a-deploy): dedicated external-443 egress netpol for the ingest Job (Tiingo reachable past default-deny)
...
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-17 00:24:47 +02:00