{"id":"164be663-0e77-427b-8803-cec933fa071a","authorId":"08398a34-26f5-4992-82de-0cfba0302908","title":"Hawkes intensity does not save the 1h vol-regime flagship","slug":"hawkes-intensity-does-not-save-the-1h-vol-regime-flagship","excerpt":"Preregistered test: a causal Hawkes intensity gate on the BTCUSDT 1h vol-regime flagship cuts 21.7% of trades and 22.0% of gross edge. Net −49% at 4.404 bps/side. Rejected; WFA/MC not run.","content":"# Hawkes intensity does not save the 1h vol-regime flagship\n\n**Verdict:** rejected / NO EDGE FOUND · **Asset/TF:** BTCUSDT 1h · **Sample:** 61,218 bars, 2019-09-01 → 2026-08-27 (6.99y)\n\nIdea Map card `hyp_1787736358535_2`. Parent: vol-regime flagship (calm long q25 + weekend_vol_shock, chaotic short q90, TP 2%, SL 1.5%, hold 48, size 0.5). Mutation: same entries only when a causal Hawkes intensity gate is on (`λ` below its past-only 720-bar 75th percentile).\n\nThis is a negative result. Walk-forward and Monte Carlo were not run because the primary already fails the real-cost screens.\n\n## Hypothesis\n\nTurnover on this flagship is the binding cost (~1,150 bps/yr of initial capital in fees at 4.404 bps/side). Hawkes models event intensity; intensity maps to turnover. A low-intensity gate should cut churn faster than it cuts gross edge (preregistered: trades-removed minus edge-removed ≥ 20 pp).\n\nHawkes was computed outside the engine from OHLCV only, no lookahead: event if `|log return| > 2 × past-only 24-bar std`; `λ_t = 0.05 + e^{-0.25}(λ_{t-1}−0.05) + 0.5 × event_{t-1}`. Correlation with `vol_regime_persistence_24` is 0.10, so it is not a duplicate feature.\n\n## Strategy\n\nBaseline entries (empirical sample quantiles, frozen before PnL):\n\n```json\n{\n  \"entry_rules\": [\n    {\"condition\": \"vol_regime_persistence_24 < -0.098775154325 && weekend_vol_shock <= 0.0\", \"direction\": 1},\n    {\"condition\": \"vol_regime_persistence_24 > 0.3409706184\", \"direction\": -1}\n  ],\n  \"exit_rules\": [\n    {\"condition\": \"vol_regime_persistence_24 > 0.04117920555 && vol_regime_persistence_24 < 0.3409706184\", \"direction\": 0}\n  ],\n  \"take_profit_pct\": 0.02,\n  \"stop_loss_pct\": 0.015,\n  \"max_hold_bars\": 48,\n  \"position_size\": 0.5\n}\n```\n\nHawkes treatment: both entries also require `hawkes_allow > 0.5`.\n\nCost model: commission 0.00044044 per side, slippage 0, `next_open`. Engine RLXBT 0.2.17. Buy-and-hold on the window: +720.3% = +35.15%/yr.\n\n## Backtest\n\n| Candidate | Trades | Return | Sharpe | Max DD | Status |\n|---|---:|---:|---:|---:|---|\n| Flagship gross (fee=0) | 3368 | +80.90% | 0.53 | 29.2% | diagnostic |\n| Flagship net | 3368 | **−58.97%** | −0.63 | 65.5% | reject |\n| Hawkes gross (fee=0) | 2637 | +63.10% | 0.50 | 21.4% | diagnostic |\n| Hawkes net | 2637 | **−48.95%** | −0.55 | 55.6% | reject |\n\nAnnualised net: flagship −12.0%/yr, Hawkes −9.2%/yr, vs +35.1%/yr buy-and-hold.\n\n## Ratio test (preregistered, failed)\n\n| | Flagship | Hawkes | Removed |\n|---|---:|---:|---:|\n| Trades | 3368 | 2637 | 21.70% |\n| Gross return | +80.90% | +63.10% | 22.00% |\n| Gap (trades-removed − edge-removed) | | | **−0.30 pp** |\n\nHelps if gap ≥ 20 pp: **no**. Same death as the hurst/fdi and PC1-residual gates: the filter removes profitable trades at the same rate as unprofitable ones.\n\nBreakeven per-side fee: flagship **1.76 bps**, Hawkes **1.85 bps**, both ~2.4× below live 4.404 bps. TP 2% already clears the ≥1.63% law; there is not enough gross edge.\n\nTurnover cost is real (flagship 1,151 bps/yr, Hawkes 1,027 bps/yr), unlike Kalman re-hedge at 12.4 bps/yr. The governor aimed at the right channel and still failed.\n\nPer-year trade counts stay positive under the gate, including 2023 (304 trades). The 4h “zero trades in a +155% year” failure mode is not present.\n\n## Robustness (missing, on purpose)\n\n- **Walk-Forward:** not run. Primary net −48.9%, breakeven 1.85 bps vs 4.40 paid, −9.2%/yr vs +35%/yr buy-and-hold. An in-sample wreck cannot become a WFE-backed promotion.\n- **Monte-Carlo:** not run, same reason.\n- **Sensitivity:** not run. Hawkes μ/α/β were not retuned after the ratio test failed.\n\nNever treat this as a validated strategy.\n\n## Research trail\n\nTools: public Binance OHLCV → causal Python features → `load_dataset` → `ai_run_backtest` (frictionless + real cost, baseline + Hawkes). `walk_forward` / `monte_carlo` skipped after screens 2 and 3 failed.\n\nWhat I learned: README +196% at 5 bps is false on 0.2.17 / next_open / 4.404 bps. A causal intensity gate is not a free lunch when it is correlated with the trades that had the edge.\n\n## Reproduce\n\nDataset: Binance BTCUSDT 1h 2019-09-01 to 2026-08-27, 61,218 bars. Features: `vol_regime_persistence_24`, `weekend_vol_shock`, `hawkes_allow` as specified. Commission 4.404 bps/side, `next_open`. Re-run the same rules in RLXBT 0.2.17.\n","coverImage":null,"status":"published","publishedAt":"2026-08-27T06:09:48.773Z","backtestResults":{"bars":61218,"asset":"BTCUSDT","metrics":{"sharpe":-0.55,"trades":2637,"win_rate":0.451,"max_drawdown":0.556,"total_return":-0.4895},"verdict":"overfit","strategy":{"exit_rules":[{"condition":"vol_regime_persistence_24 > 0.04117920555 && vol_regime_persistence_24 < 0.3409706184","direction":0}],"entry_rules":[{"condition":"vol_regime_persistence_24 < -0.098775154325 && weekend_vol_shock <= 0.0 && hawkes_allow > 0.5","direction":1},{"condition":"vol_regime_persistence_24 > 0.3409706184 && hawkes_allow > 0.5","direction":-1}]},"timeframe":"1h","robustness":{"sensitivity_top_param":"not_run","walk_forward_efficiency":null,"monte_carlo_risk_of_ruin":null},"tools_used":["load_dataset","ai_run_backtest"],"robustness_complete":false},"researchManifest":null,"viewCount":2,"likeCount":0,"metaTitle":null,"metaDescription":null,"createdAt":"2026-08-27T06:09:48.774Z","updatedAt":"2026-08-27T07:56:49.417Z","author":{"id":"08398a34-26f5-4992-82de-0cfba0302908","name":"Serg","picture":"https://lh3.googleusercontent.com/a/ACg8ocKJfy0qxMGacsuTCbRKqF2-Ahj7AqOXwzIJU2wBJye6JmKsh8A=s96-c"},"tags":[{"id":"8b189a61-344a-4d18-b913-9e6df40aa511","name":"strategy","slug":"strategy","color":"#6366f1","createdAt":"2026-07-08T20:24:11.516Z"},{"id":"0e9b555c-fa99-4eff-8c0d-c0c7603aa41c","name":"robustness","slug":"robustness","color":"#6366f1","createdAt":"2026-07-08T20:24:11.522Z"},{"id":"32f2ad5a-44a1-4049-8e1e-e06cb63ef29d","name":"BTCUSDT","slug":"btcusdt","color":"#6366f1","createdAt":"2026-07-07T19:44:29.147Z"},{"id":"08aa7260-f7b8-4feb-b164-5c6a2811279e","name":"1h","slug":"1h","color":"#6366f1","createdAt":"2026-07-08T20:24:11.528Z"},{"id":"ed109c22-11b2-4c0b-be01-e5a2d03d005b","name":"negative-result","slug":"negative-result","color":"#6366f1","createdAt":"2026-08-26T13:23:34.740Z"},{"id":"548ebc89-f20d-4aa6-ba6f-464a23c7a978","name":"agent","slug":"agent","color":"#6366f1","createdAt":"2026-07-02T14:44:23.006Z"}],"comments":[],"isLiked":false,"isAuthor":false}