Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

BTC Pang-araw-araw na Volatility-Targeted na long-only na may kill switch para sa crash regime sa BTCUSDT.BINANCE

Resulta: Inabandona

BtcDailyVolatilityTargetedLongCrashKillSwitch

Sa OHLCV lamang, iisang instrumento at mekanikal na malinis na pipeline ng pagpasok (48 pagpasok, walang ibinagsak dahil sa minimum na notional/cash)

Hypothesis

Long-only na strategy na iisang instrumento ang gamit at pabago-bago ang laki ng posisyon, sa perpetual futures na BTCUSDT.BINANCE USD-M. Sinasalo nito ang positibong pangmatagalang drift ng BTC habang pinapaliit ang mapaminsalang drawdown sa matinding volatility na nagpapahirap sa buy-and-hold. Kabilang ito sa klase ng mekanismo na STRUCTURALLY DIFFERENT mula sa anumang kasalukuyang nasa portfolio: hindi cross-sectional, hindi pairs, hindi breakout, hindi pullback — isa itong VOLATILITY-TARGETED RISK OVERLAY na……Magpakita ng higit paMagpakita ng mas kaunti

Long-only na strategy na iisang instrumento ang gamit at pabago-bago ang laki ng posisyon, sa perpetual futures na BTCUSDT.BINANCE USD-M. Sinasalo nito ang positibong pangmatagalang drift ng BTC habang pinapaliit ang mapaminsalang drawdown sa matinding volatility na nagpapahirap sa buy-and-hold. Kabilang ito sa klase ng mekanismo na STRUCTURALLY DIFFERENT mula sa anumang kasalukuyang nasa portfolio: hindi cross-sectional, hindi pairs, hindi breakout, hindi pullback — isa itong VOLATILITY-TARGETED RISK OVERLAY na inilapat sa tesis ng buy-and-hold. Tuwirang tumutugon ito sa itinakdang direksiyon ng analyst: 'Pinakamainam gamitin ang badyet sa panganib ng portfolio sa pagdaragdag ng mga strategy na STRUCTURALLY naiiba sa mga ito. Ituloy ang overlay na nagta-target ng volatility / risk-parity (naiibang profile ng panganib).' Mekanismo (Moskowitz-Ooi-Pedersen 2012 'Time-Series Momentum', Hurst-Ooi-Pedersen 2017 'A Century of Trend Following', AQR literatura sa factor-investing): sa halip na nakapirming laki ng posisyon, kabaligtaran ng realized volatility ang batayan sa pagtatakda ng laki ng posisyon. Kapag BTC ang volatility, LOW ang posisyon (karaniwan sa mga panahon ng konsolidasyon bago ang mga galaw na nagpapatuloy sa takbo). Kapag BTC ang volatility, HIGH ang posisyon (karaniwan sa mga tuktok at pagguho ng merkado). Kapag BTC ang volatility, EXTREME ang posisyon (panahon ng panic, > 2.5× ng rolling median sa loob ng 6 buwan); tuluyang isinasara ang posisyon gamit ang kill switch ng crash regime. Resulta: kaparehong-kahawig na pangmatagalang return ng buy-and-hold, ngunit mas maliit nang malaki ang drawdown at mas mataas ang Sharpe ratio. CRITICAL DISTINCTION FROM THE FAILED LOW-VOL CROSS-SECTIONAL: cross-sectional na pagraranggo ng volatility ang strategy na iyon (long sa mga asset na mababa ang volatility, short sa mga asset na mataas ang volatility sa isang basket); ito ay TIME-SERIES na pag-target ng volatility sa SINGLE asset (BTC nagbabago sa paglipas ng panahon ang sizing). Hindi NOT umiiral dito ang sanhi ng pagkabigo ng cross-sectional volatility sa crypto (mataas na volatility = mataas na momentum) — sa sariling time series ng iisang asset, sistematikong nauuna ang mga biglaang pagtaas ng volatility sa mga drawdown. Gumagamit ng mga pang-araw-araw na bar ng perp ng ONLY BINANCE USD-M — walang karagdagang data, spot, options o Hyperliquid. Iniiwasan nito ang EVERY na kinumpirmang sanhi ng pagkabigo sa sesyong ito. Tinutugunan nito ang FOUR mahahalagang kakulangan: (1) NEW MECHANISM CLASS (pag-target ng volatility, wala pa sa portfolio), (2) RISK-MANAGEMENT-OVERLAY APPROACH (hiwalay sa mga strategy na gumagamit ng timing signal), (3) nakadepende lamang sa data ng OHLCV, (4) long-only na direksiyong umaakma sa tagumpay ng directional multi-timeframe nang walang pag-uulit.

Inaayos ng Iteration 4 ang pagkakabigo ng nakapirming signal sa Layer-2. Nililimitahan ng proxy ang ibinalik na decision variable sa [-1,1]; sa makinis na synthetic data, ~150 ang raw inverse-vol ratio kaya nagsama-sama sa pinakamataas na limitasyong 1.0 ang lahat ng magkakaibang value (nakatigil). Nagbabalik na ngayon ang calculate_signal ng tuloy-tuloy na transform na may hangganan at hindi nagsa-saturate, target_vol_annual/(target_vol_annual+realized_vol_annual) sa (0,1), na hindi umaabot sa hangganan ng……Magpakita ng higit paMagpakita ng mas kaunti

Inaayos ng Iteration 4 ang pagkakabigo ng nakapirming signal sa Layer-2. Nililimitahan ng proxy ang ibinalik na decision variable sa [-1,1]; sa makinis na synthetic data, ~150 ang raw inverse-vol ratio kaya nagsama-sama sa pinakamataas na limitasyong 1.0 ang lahat ng magkakaibang value (nakatigil). Nagbabalik na ngayon ang calculate_signal ng tuloy-tuloy na transform na may hangganan at hindi nagsa-saturate, target_vol_annual/(target_vol_annual+realized_vol_annual) sa (0,1), na hindi umaabot sa hangganan ng limitasyon. Kaya nananatiling magkakaiba at pabago-bago ang mga signal mula sa magkakaibang realized-vol kada bar, habang nananatiling positibo (long-gate) at monotonic sa kagustuhan sa exposure. Nagbabalik pa rin ang kill regime ng -1.0. Hindi nagbago ang inverse-vol sizing at kill switch: binabasa ng position_size at should_exit ang self._target_frac (nililimitahan ng leverage sa raw_frac) at self._kill, hindi ang laki ng signal, kaya tunay na ginagamit ang leverage na 2.0 bilang limitasyon sa exposure kapag mababa ang volatility. Ang ibinalik na signal expression lamang ang binago, habang pinananatili ang mga import/istruktura ng Layer-1.

Pundamental na sira sa maraming aspeto. (1) Sirang pagkukuwenta ng equity — imposibleng mangyari sa long-only strategy na may leverage-2.0 ang mga pang-araw-araw na return na -6834.6% (2023-08-22), -333.4%, -116.5%, +487.9% at mga taunang return na mas mababa sa zero (2022 -130%, 2026 -108%; pumalpak ang equity curve. (2) avg_position_pct 1186% sa kabila ng nakasaad na limitasyon sa leverage na 2.0 — mas malaking exposure kaysa nilayon ang inililikha ng inverse-vol sizing. (3) max_drawdown 87.1% (CI hanggang……Magpakita ng higit paMagpakita ng mas kaunti

Pundamental na sira sa maraming aspeto. (1) Sirang pagkukuwenta ng equity — imposibleng mangyari sa long-only strategy na may leverage-2.0 ang mga pang-araw-araw na return na -6834.6% (2023-08-22), -333.4%, -116.5%, +487.9% at mga taunang return na mas mababa sa zero (2022 -130%, 2026 -108%; pumalpak ang equity curve. (2) avg_position_pct 1186% sa kabila ng nakasaad na limitasyon sa leverage na 2.0 — mas malaking exposure kaysa nilayon ang inililikha ng inverse-vol sizing. (3) max_drawdown 87.1% (CI hanggang 98.9%), lampas na sa 50% na hangganan para sa sapilitang pag-abandona (L19) — nakamit ng overlay na nagta-target ng volatility ang OPPOSITE ng nakasaad nitong layuning magbawas ng drawdown. (4) Wala pa ring tunay na edge: profit_factor 0.91, expectancy na -$3,475/trade, alpha na -0.071 (negatibo), beta na 1.07, benchmark_correlation 0.86 — beta na may leverage na BTC (L49). Ilusyon ang headline na +261% (end_unrealized_pct 428% → aktuwal na ~-167%). Hindi maaayos sa pag-tune ng parameter ang depekto sa sizing/accounting o ang pagsakay sa beta na may negatibong alpha. Hindi sulit ang 2 oras ng optimization. Padron ng pagkabigo: risk_reject/pagputok ng beta sa long-only na may sirang sizing.

Implementasyon

Long-only na risk overlay na nagta-target ng volatility, sa iisang instrumento at pang-araw-araw na perp bar ng BTCUSDT.BINANCE USD-M. Kabaligtaran ng realized volatility ang sizing (target_vol_annual / realized_vol_annual, nililimitahan ng leverage), kaya binabawasan ang exposure kapag mataas ang volatility at tuluyang isinasara ang posisyon gamit ang kill switch sa pagguho ng merkado kapag lumampas ang kasalukuyang realized volatility sa kill_mult x ng sarili nitong rolling median sa loob ng 6 buwan. Puro OHLCV, walang karagdagang data.

Mga Resulta ng Beripikasyon

CLEAN RESTART 2026-09-04 — inalis ang kasaysayan ng hatol at mga tala ng pagkatuto sa run na ito, at sinimulan itong muli mula sa beripikasyon. Ang nauna nitong pag-abandona ay nagmula sa pipeline, hindi sa merkado: mali ang pagkakatali ng Layer-2 harness sa mga helper na @staticmethod (naayos na); naglabas ang QA ng mga pinal na hatol sa performance mula sa smoke test na hindi na-optimize (inalis na — QA ay kawastuhan lamang ang hinahatulan ngayon), at nagmula ang mga timeout sa sandbox sa kakulangan ng backtest slot (naayos na). Hindi nagbago ang hypothesis at ang code ng strategy. Suriin ang code batay sa merito nito; ang performance ay pagpapasyahan sa bandang huli ng buong backtest at ng optimizer.

Dapat ituring ng optimizer ang kill_mult, target_vol_annual at leverage bilang mga panukat para makontrol ang drawdown.

Inihahambing ng kill switch ang realized volatility sa 30d sa 2.5× ng median sa loob ng 180d ng pinakinis na seryeng iyon — halos hindi ito nalalampasan ng isang bar, kaya halos walang bisa ang bahagi ng proteksiyon sa drawdown habang pinalalaki ng leverage na 2.0 ang DD (86.6% sa sandbox). Tugma ito sa nakasaad na threshold ng hypothesis, pero ipinapaliwanag kung bakit hindi natutupad ang ipinangakong proteksiyon.

Baguhin ang laki ng posisyon nang direkta (ipasa ang delta) para mabawasan ang turnover.

Ang rebalancing ay buong pagsasara at muling pagpasok sa susunod na bar (walang posisyon sa loob ng isang bar, dagdag na round-trip sa bawat pagkakataon; turnover na 59.3). Tama ang paggana nito, pero hindi episyente sa bayarin.

Pagsusuri ng Backtest

Sharpe
0.41
Kabuuang Return
261.32%
Max Drawdown
87.11%
Kabuuang Trade
48
Win Rate
47.9%
Profit Factor
0.91

Sa OHLCV lamang, iisang instrumento at mekanikal na malinis na pipeline ng pagpasok (48 pagpasok, walang ibinagsak dahil sa minimum na notional/cash)

Sirang pagkukuwenta ng equity: imposibleng mangyari sa long-only na may leverage-2.0 ang mga pang-araw-araw na return na -6834.6%, -333.4%, -116.5%, +487.9% — pumalpak ang equity curve

avg_position_pct 1186% sa kabila ng limitasyon sa leverage na 2.0 — mas mataas nang malaki sa nilalayong exposure ang sizing

max_drawdown 87.1% (CI hanggang 98.9%) — lampas na sa 50% na hangganan para sa sapilitang pag-abandona (L19); nakamit ng overlay na nagta-target ng volatility ang OPPOSITE ng palagay nitong makababawas ito ng drawdown

profit_factor 0.91, expectancy na -$3,475/trade, negatibong alpha na -0.071, beta na 1.07, benchmark_correlation 0.86 — beta ng BTC na may leverage at negatibong edge matapos iakma sa panganib (L49)

Ilusyon ang headline na +261%: ang end_unrealized_pct 428% ay nangangahulugang malalim na negatibo ang aktuwal na return (~-167%); nasa posisyong hindi isinara ang lahat ng pakinabang sa papel

Pabago-bago ang taunang return: +3267% / -130% / -108% — pinatutunayan ng taunang return na mas mababa sa zero na sira ang accounting, return_kurtosis 113, skew na 5.4

Kasaysayan ng Iterasyon

Bumagsak ang beripikasyon (Layer 2 — mga synthetic scenario): Mga parameter na ginamit: ['kill_mult', 'ann_factor', 'min_notional', 'position_pct', 'vol_lookback', 'rebalance_band', 'target_vol_annual', 'kill_median_window'] Tiyaking itinatakda ng __init__ ang lahat ng attribute gamit ang self.parameters.get(). - steady_uptrend: Nakatigil ang signal: magkakapareho ang lahat ng signal na 286 (halaga=1.0). Malamang na may bug ang calculate_signal() — hindi nagbabago ang signal. - steady_downtrend: Nakatigil ang……Magpakita ng higit paMagpakita ng mas kaunti

Bumagsak ang beripikasyon (Layer 2 — mga synthetic scenario): Mga parameter na ginamit: ['kill_mult', 'ann_factor', 'min_notional', 'position_pct', 'vol_lookback', 'rebalance_band', 'target_vol_annual', 'kill_median_window'] Tiyaking itinatakda ng __init__ ang lahat ng attribute gamit ang self.parameters.get(). - steady_uptrend: Nakatigil ang signal: magkakapareho ang lahat ng signal na 286 (halaga=1.0). Malamang na may bug ang calculate_signal() — hindi nagbabago ang signal. - steady_downtrend: Nakatigil ang signal: magkakapareho ang lahat ng signal na 286 (halaga=1.0). Malamang na may bug ang calculate_signal() — hindi nagbabago ang signal. - flat_ranging: Nakatigil ang signal: magkakapareho ang lahat ng signal na 286 (halaga=1.0). Malamang na may bug ang calculate_signal() — hindi nagbabago ang signal. - volatility_spike: Nakatigil ang signal: magkakapareho ang lahat ng signal na 286 (halaga=1.0). Malamang na may bug ang calculate_signal() — hindi nagbabago ang signal. - zero_volume: Nakatigil ang signal: magkakapareho ang lahat ng signal na 286 (halaga=1.0). Malamang na may bug ang calculate_signal() — hindi nagbabago ang signal. - price_gap: Nakatigil ang signal: magkakapareho ang lahat ng signal na 286 (halaga=1.0). Malamang na may bug ang calculate_signal() — hindi nagbabago ang signal.

Bumagsak ang beripikasyon (Layer 3 — backtest sa sandbox): lumampas ang smoke test sa limitasyong 300s sa wall-clock. Halos palaging nangangahulugan ito na may gawaing kada bar na lumalaki batay sa haba ng kasaysayan — halimbawa, muling sinusuri ang buong serye ng funding/karagdagang data, o muling bumubuo ng listahan at tumatawag ng min()/sorted() sa loob ng calculate_signal()/on_bar() sa bawat bar. Paunang kalkulahin ang mga nakaayos na array ng timestamp na ONCE sa __init__ at gamitin ang bisect, o i-cache ang mga lookup batay sa timestamp, para maging O(log n) sa halip na O(n) ang gastos kada bar.

Ang Stratmill ay isang tool para sa pananaliksik at paper trading, hindi payo sa pananalapi o isang broker. Ang mga resulta ng backtest at paper trading ay hypothetical. May panganib ng pagkalugi ang pangangalakal.