Skip to content

Latest commit

 

History

History
39 lines (28 loc) · 1.71 KB

File metadata and controls

39 lines (28 loc) · 1.71 KB

FinSight - Offline Evaluation Results

Generated by python -m evals.harness on the deterministic synthetic market (no API keys, no model downloads). The market embeds a known sentiment -> next-day-return signal, so these numbers have ground truth.

Config: lexical sentiment, synthetic data, 12 assets x 756 days, 8347 headlines, 10 bps cost/turn. Smoothing search grid [1, 2, 3, 5, 8, 13, 21] -> selected window 8.

Headline strategy (selected configuration)

Metric Value Reads as
Sentiment recovery corr 0.840 lexical model vs. latent truth
Information coefficient (rank IC) 0.052 signal vs. next-day return
Annualised return 13.60% net of costs
Annualised volatility 7.05%
Sharpe (annualised) 1.93 in-sample, selected config
Sortino 2.03
Max drawdown -8.21%
Walk-forward OOS Sharpe 2.10 purged + embargoed

Overfitting-aware diagnostics

Metric Value Reads as
Probabilistic Sharpe (PSR) 1.000 P(true Sharpe > 0)
Deflated Sharpe (DSR) 0.997 PSR vs. expected max of 7 trials
Min track-record length 185 days to confirm at 95%

Event study (independent confirmation)

Across 3391 high-conviction news events, the positive-minus-negative cumulative abnormal return at +5 days is +0.0130 with t = 8.45.

NULL test (signal scrambled across assets)

Metric Real signal Scrambled (null)
Sharpe (annualised) 1.93 -1.42
Deflated Sharpe 0.997 0.000

The Deflated Sharpe collapses on the scrambled signal: the same search that produced a 'winner' is correctly recognised as luck once the real alpha is removed. That gap is the whole point.