{
  "schema": "whaler.observer_short_replay.v1",
  "period": [
    "2026-01-01",
    "2026-09-08"
  ],
  "closed_days": 251,
  "capital": 100,
  "fee_bps_roundtrip": 20,
  "max_target_exposure": 5.25,
  "mode": "short",
  "hypothesis": "Veto new direct Decima shorts in mixed / under_lost_support closed-s1800 context.",
  "replay_sha256": "2786a898c5d7dd22c0d4230fd00ebcb2ffcb46597cfbb52d3d2ef4717bdf84f7",
  "source_hashes": {
    "frames.mtf.s300.jsonl": "15b9c312f327068b81e3472e8b7a9b64548977e2c7759129f0c97f8d59713df4",
    "frames.mtf.s1800.jsonl": "e14375cfec2b2ede7440ff4ff4f50cd91572e93382d2ed852852c7c43281d487",
    "short.signals.jsonl": "dbbaa4d3c734d7f2567726fc701e7dbb60f1f4a714f0581d22784324ba7057ac"
  },
  "code_hashes": {
    "whaler_phase_signal_sim.py": "82b1a03102bc466054c704bb27706f9eb364d022a3b654d7e3103f6b3e81008b",
    "whaler_market_context.py": "fb1bf622614c833aa6249e995d0613624cb2dc623e38336f8e2cdb3046bc5171",
    "whaler_market_context_entry.py": "1b173af270ee5d718a586920a317b8e70c334ddcac29a5d02bfa5cd6a8d0eeeb",
    "whaler_market_context_entry_research.py": "783599edb02c515f1dc221ccf80d7f10cef086d4bc6f7bc19d383996bd95253e"
  },
  "observer_parameters": {
    "pivot_radius": 2,
    "atr_window": 14,
    "zone_atr": 0.25,
    "max_levels": 128,
    "frame_ms": 1800000
  },
  "results": {
    "return_pct": 1439.234908925183,
    "mark_return_pct": 1439.234908925183,
    "final_equity": 1539.234908925183,
    "final_mark_equity": 1539.234908925183,
    "max_drawdown_pct": 30.066551374194617,
    "profit_factor": 1.5505651341059443,
    "trades": 301,
    "signals": 259,
    "win_rate": 0.5149501661129569,
    "market_context_entry_blocks": 23
  },
  "months": [
    {
      "month": "2026-01",
      "start_equity": 100.0,
      "end_equity": 155.70139642713718,
      "return_pct": 55.70139642713718,
      "pnl_usd": 55.701396427137176,
      "trades": 30,
      "win_rate": 0.5666666666666667,
      "max_drawdown_pct": 23.058244204091096,
      "max_drawdown_start_pct": 26.125070028274322,
      "first_ts": 1767225900039,
      "last_ts": 1769903700002
    },
    {
      "month": "2026-02",
      "start_equity": 155.70139642713718,
      "end_equity": 317.69121885577863,
      "return_pct": 104.03877302696318,
      "pnl_usd": 161.98982242864147,
      "trades": 24,
      "win_rate": 0.5833333333333334,
      "max_drawdown_pct": 23.09820622238471,
      "max_drawdown_start_pct": 48.58165362110246,
      "first_ts": 1769904000002,
      "last_ts": 1772322900010
    },
    {
      "month": "2026-03",
      "start_equity": 317.69121885577863,
      "end_equity": 337.361076224799,
      "return_pct": 6.191501748101458,
      "pnl_usd": 19.669857369020477,
      "trades": 42,
      "win_rate": 0.6428571428571429,
      "max_drawdown_pct": 27.692221336240635,
      "max_drawdown_start_pct": 35.919266149834975,
      "first_ts": 1772323200010,
      "last_ts": 1775001300132
    },
    {
      "month": "2026-04",
      "start_equity": 337.361076224799,
      "end_equity": 373.5736010324694,
      "return_pct": 10.734055396343468,
      "pnl_usd": 59.11523558244737,
      "trades": 37,
      "win_rate": 0.40540540540540543,
      "max_drawdown_pct": 28.46130898705091,
      "max_drawdown_start_pct": 36.25525188590884,
      "first_ts": 1775001600132,
      "last_ts": 1777593300000
    },
    {
      "month": "2026-05",
      "start_equity": 373.5736010324694,
      "end_equity": 397.05655687456414,
      "return_pct": 6.286031929770575,
      "pnl_usd": 5.739466156475542,
      "trades": 45,
      "win_rate": 0.4888888888888889,
      "max_drawdown_pct": 20.739901018598605,
      "max_drawdown_start_pct": 21.674316843845418,
      "first_ts": 1777593600000,
      "last_ts": 1780271700000
    },
    {
      "month": "2026-06",
      "start_equity": 397.05655687456414,
      "end_equity": 902.6854048530748,
      "return_pct": 127.34428867226745,
      "pnl_usd": 500.46962688935264,
      "trades": 41,
      "win_rate": 0.5121951219512195,
      "max_drawdown_pct": 17.64034200497092,
      "max_drawdown_start_pct": 41.603371895755636,
      "first_ts": 1780272000000,
      "last_ts": 1782863700101
    },
    {
      "month": "2026-07",
      "start_equity": 902.6854048530748,
      "end_equity": 835.8557232805559,
      "return_pct": -7.403429945053386,
      "pnl_usd": -66.82968157251875,
      "trades": 35,
      "win_rate": 0.4,
      "max_drawdown_pct": 26.473337519068117,
      "max_drawdown_start_pct": 29.907149785589603,
      "first_ts": 1782864000101,
      "last_ts": 1785542100151
    },
    {
      "month": "2026-08",
      "start_equity": 835.8557232805559,
      "end_equity": 1210.020963174772,
      "return_pct": 44.764333062851705,
      "pnl_usd": 402.3652274696343,
      "trades": 38,
      "win_rate": 0.5526315789473685,
      "max_drawdown_pct": 20.5853212822773,
      "max_drawdown_start_pct": 35.99675681967502,
      "first_ts": 1785542400151,
      "last_ts": 1788220500000
    },
    {
      "month": "2026-09",
      "start_equity": 1210.020963174772,
      "end_equity": 1539.234908925183,
      "return_pct": 27.207292746948887,
      "pnl_usd": 301.013958174993,
      "trades": 9,
      "win_rate": 0.4444444444444444,
      "max_drawdown_pct": 9.898902455632996,
      "max_drawdown_start_pct": 13.710005868696843,
      "first_ts": 1788220800000,
      "last_ts": 1788912000173
    }
  ],
  "open_position": null,
  "comparison": {
    "off": {
      "return_pct": 918.8665026927794,
      "max_drawdown_pct": 35.84081173962177,
      "profit_factor": 1.3810001260836688,
      "closed_positions": 302,
      "missing_baseline_winners": 0,
      "missing_baseline_losers": 0
    },
    "long": {
      "return_pct": 875.2018575979287,
      "max_drawdown_pct": 45.3924279179512,
      "profit_factor": 1.375224131189674,
      "closed_positions": 299,
      "missing_baseline_winners": 10,
      "missing_baseline_losers": 10
    },
    "short": {
      "return_pct": 1439.234908925183,
      "max_drawdown_pct": 30.066551374194617,
      "profit_factor": 1.5505651341059443,
      "closed_positions": 282,
      "missing_baseline_winners": 17,
      "missing_baseline_losers": 23
    },
    "both": {
      "return_pct": 1349.25238203345,
      "max_drawdown_pct": 39.59769178962721,
      "profit_factor": 1.5489790467584565,
      "closed_positions": 278,
      "missing_baseline_winners": 27,
      "missing_baseline_losers": 33
    }
  },
  "caveats": [
    "Historical model, NOT live account return or independent holdout.",
    "Hypothesis selected on this same history; activated in live only on September 9.",
    "Funding, actual slippage, minimum lots, margin and liquidation not replicated; DD sampled.",
    "Existing live director fee10 differs from public replay fee20; full live/replay parity not established.",
    "September 9 partial day excluded. Earlier live audit concerns the previous strategy, not this filter."
  ]
}
