{
 "n_stocks": 1736,
 "n_days": 2546,
 "span": [
  "2016-01-04",
  "2026-06-30"
 ],
 "reg": {
  "beta": 0.0644,
  "t": 5.78,
  "r2": 0.013
 },
 "strategy": {
  "ann": 6.4,
  "sharpe": 1.26,
  "winrate": 54.0
 },
 "always_long_last30": {
  "ann": 3.88,
  "sharpe": 0.76
 },
 "train": {
  "ann": 5.14,
  "sharpe": 0.96,
  "n": 1461
 },
 "test": {
  "ann": 8.1,
  "sharpe": 1.71,
  "n": 1085
 },
 "thresholds": [
  {
   "thr_pct": 0.0,
   "n_days": 2546,
   "daily_mean_pct": 0.026,
   "ann_pct": 6.4
  },
  {
   "thr_pct": 0.2,
   "n_days": 1602,
   "daily_mean_pct": 0.037,
   "ann_pct": 8.9
  },
  {
   "thr_pct": 0.4,
   "n_days": 935,
   "daily_mean_pct": 0.056,
   "ann_pct": 13.6
  },
  {
   "thr_pct": 0.6,
   "n_days": 538,
   "daily_mean_pct": 0.062,
   "ann_pct": 15.1
  }
 ],
 "conditional": {
  "first_up_last_ann": 9.0,
  "first_dn_last_ann": -3.0,
  "n_up": 1459,
  "n_dn": 1087
 }
}