Mga Estratehiya
Mga minero ng ginto laban sa gold beta-hedged residual reversion: pawiin ang idiosyncratic na galaw na >=2-sigma sa loob ng 10 sesyon, GDX-laban-sa-GLD na long-short na neutral sa dolyar/beta, at 15-sesyong time stop (USEQ 1-DAY)
Resulta: Inabandona
GdxGldBetaHedgedResidualReversion
Buod ng Resulta
Sinubukan ng estratehiya na kumita mula sa bahagyang pagbaligtad ng mga galaw ng mga minero ng ginto na hindi naipapaliwanag ng ginto, sa pamamagitan ng pagkalakal sa GDX laban sa leg na GLD na naka-hedge batay sa beta, gamit ang mga arawang equity bar na US. Sa loob ng 4 pag-ulit, hindi kailanman nakapasa sa beripikasyon ang code: paulit-ulit na tinukoy ng Layer 1.5 ang hindi pagtutugma ng hypothesis/config dahil wala o wala sa pinapahintulutang saklaw ang baseline na exit_z ng optimization_plan. Iniwan ang takbo sa loop ng beripikasyong iyon, kaya hindi naabot ang backtesting, pag-optimize, pagsusuri ng analyst at pagsusuri ng panganib, at walang umiiral na sukatan ng performance.
Hypothesis
Pinupunan nito ang mga bucket na kulang sa representasyon: venue na USEQ (5.4%), long-short na direksiyon (16.3%) at saklaw na pairs. Lumalayo rin ito sa BINANCE (62.5%) at BTC. Tinutugunan ng venue na walang komisyon at mga galaw na ilang porsiyento bawat trade ang sementeryo ng fee_edge. Nagbibigay ng malaking sample ang humigit-kumulang 19 taon ng arawang data, at pinaiikli ng humigit-kumulang 5,000 bar ang sandbox run. Nasa katalogo ang mga folder ng arawan, 1-oras at 1-minutong bar para sa parehong GDX.USEQ at GLD.USEQ, pero hindi sinuri ang nag-o-overlap na arawang kasaysayan. Hindi isinama ang leverage sa optimization_plan dahil nabigo ang tatlong kamakailang run sa Layer 1.5 dahil sa 'optimization_plan fixes leverage'.
verification_loop: Nabigo ang beripikasyon (Layer 1.5 — pagkakatugma ng hypothesis/config) [class=hypothesis_mismatch]: - Wala ang baseline na exit_z ng optimization_plan o wala ito sa pinapahintulutang saklaw
Implementasyon
Patuloy na itinatakda ang laki ng isang pares na naka-hedge sa beta na GDX/GLD batay sa natitirang z ng nakaraang sesyon. Muling binabalanse kapag lumampas sa banda ng buong alokasyong 0.25, isinasara ang posisyon kapag tumawid sa sero ang senyas, bumaba ang korelasyon sa ilalim ng 0.5 o lumampas ang |z| sa 3.5, at pinananatili ang stop ng pares na 6%, ang abot-tanaw na 15 sesyon at ang palugit na tatlong sesyon bago muling makipagkalakalan. Nililimitahan sa 80% ng equity na nakabatay sa mark-to-market na halaga ang target na kabuuang exposure.
Mga Resulta ng Beripikasyon
Nabigo ang beripikasyon (Layer 1.5 — pagkakatugma ng hypothesis/config) [class=hypothesis_mismatch]: - Wala ang baseline na exit_z ng optimization_plan o wala ito sa pinapahintulutang saklaw
Opsyonal: banggitin ang panganib ng puwang sa presyo, o bawasan ang gross_exposure_pct kung umiral ang hangganan ng drawdown.
Sinusuri lamang ang pair stop na 6% sa arawang pagsasara at lumalabas sa merkado sa susunod na pagproseso. Maaaring lumampas ito nang malaki kapag may puwang sa presyo sa isa o higit pang sesyon; kaayon nito ang pinakamalaking lugi ng sandbox na -$8958 kumpara sa karaniwang lugi na -$1178. Walang tinutukoy na stop sa hypothesis, kaya hindi ito mismatch. Pinakamasamang kaso sa gross na 0.8x: ang notional na GDX ay hanggang 0.8/1.3 ≈ 0.62x ng equity, kaya nanganganib ang humigit-kumulang 3.7% ng equity sa stop na 6%, bago isaalang-alang ang paglampas dahil sa puwang sa presyo.
Bumalik din kaagad mula sa _manage() kapag getattr(self, '_no_entries_before_ns', 0) > clock ns, o itakda lamang ang _side kapag nakumpirma na ang mga fill.
Nilalaktawan ng _manage() ang pagsusumite ng order kapag nasa _in_warmup lamang. Sa ilalim ng parity replay seed freeze (_no_entries_before_ns), tahimik na itinatapon ng _submit_entry_instrument ang mga order, ngunit itinatakda pa rin ang _side, _entry_* at _q_*. Sa susunod na bar, ni-reset ng sangay na 'flat with side != 0' ang _side at nagsisimula ng cooldown. Kaya maaaring magkaiba ang replay state sa paper nang 3 sesyon ng cooldown. Hindi naaapektuhan ang mga karaniwang backtest.
Katanggap-tanggap gaya ng pagkakasulat. Opsyonal na itala kung gaano kadalas kumakapit ang clamp.
Nililimitahan ang tinatayang beta sa [0.3, 4.0]. Kapag umiral ang limitasyon, ginagamit ng residual ang alpha = my - b*mx kasama ang nilimitahang b, kaya hindi na ito ang residual na OLS. Mahalaga lamang ito sa mga degenerate window at nakadokumento bilang pananggalang sa estruktura.
Pagsusuri
Kasaysayan ng Iterasyon
Buod ng Resulta
Dapat umiral ang bawat parameter na pinangalanan sa research optimization_plan (dito, exit_z) sa mga parameter ng estratehiya at may baseline sa loob ng idineklarang saklaw nito; kung hindi, hindi makalalagpas sa beripikasyon ng Layer 1.5 ang run.
Matapos ang 4 iteration, iniwan ito sa verification loop at bumagsak sa Layer 1.5 (pagkakatugma ng hypothesis/config, class hypothesis_mismatch) dahil nawawala o wala sa saklaw nito ang baseline na optimization_plan para sa exit_z.
Long-short na pares na neutral sa dolyar/beta ng GDX laban sa GLD, sa mga arawang bar ng USEQ, na tumataya sa pagbabalik ng galaw matapos ang idyosinkratikong pagbabago sa residual na >= 2-sigma sa loob ng 10 sesyon para sa mga minero ng ginto laban sa ginto (rolling na beta na OLS, z-score batay sa naunang 250 sesyon), at may 15-sesyong time stop.
Walang datos ng performance: walang laman ang ulat ng backtest at walang isinagawang pag-optimize, kaya walang bilang para sa balik, Sharpe o kalakalan.
Pagsusuri ng Backtest
- Sharpe
- 0.23
- Kabuuang Return
- 24.48%
- Max Drawdown
- 12.19%
- Kabuuang Trade
- 152
- Win Rate
- 51.3%
- Profit Factor
- 1.19
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.