Mga Estratehiya
Same-Industry Duopoly Pairs sa USEQ Daily: Engle-Granger Spread na Formation-Frozen laban sa Rolling Hedge Ratio (KO/PEP, XOM/CVX, HD/LOW, V/MA, Dollar-Neutral L/S)
Resulta: Inabandona
DuopolyPairsEngleGrangerFrozenVsRollingUseq
Buod ng Resulta
Sinubok ng strategy na ito kung makakakuha ng edge na matibay laban sa fees ang daily cointegration pairs trade sa apat na US duopoly na may ugnayang pang-ekonomiya, at kung dapat bang i-freeze o i-roll ang hedge ratio. Kumita ng +7.80% ang frozen-beta baseline sa humigit-kumulang 14 taon na may Sharpe na 0.24, madaling nalampasan ang per-trade cost floor, at inaprubahan ito ng backtest review para sa optimization. Hindi nagawang patakbuhin ang optimization out-of-sample dahil masyadong maikli ang listing history ng V, kaya pagkatapos ng 3 iteration, tinalikuran ito ng analyst batay sa baseline: positibo lamang ito sa 54% taon (mahigpit na gate), nalugi sa buong 2010s, at umasa sa panahon ng volatility na 2020-2022 at sa mga pares na XOM/CVX at V/MA. Hindi kailanman sinuri ang rolling-beta branch.
Hypothesis
Mga kategoryang saklaw nito: long_short (15.3% ngayon, habang 84.7% ang long-only), mga pares na multi-instrument, at USEQ (4.7%) sa halip na BINANCE (63.8%). May 170 eksperimento na ang USEQ, at nasa config/us_equities_universe.txt ang lahat ng 8 ticker kasama ang mga direktoryo ng katalogong 1-DAY (nasuri). Hindi ito cross-sectional reversal basket (L113): ikinakalakal nito ang 4 nakapirming pares na magkaugnay sa ekonomiya at pinipili sa pamamagitan ng cointegration test, hinahawakan nang ilang linggo, at nagta-target ng humigit-kumulang 2-4% gross spread capture, hindi libo-libong 2-5 day trade. Hindi ito calendar trigger (L179), estruktura ng crypto options, o disenyo ng grid o inventory. Pinananatili ang tanong ng source bilang iisang categorical parameter para masagot ito ng backtest.
Implementasyon
Engle-Granger cointegration pairs trade sa 4 same-industry USEQ duopoly (KO/PEP, XOM/CVX, HD/LOW, V/MA) gamit ang daily bars. Bawat quarter, muling binubuo ang bawat pares ayon sa iskedyul na nakaangkla sa kalendaryo: isang OLS fit ng log prices, kasunod ang ADF test sa residuals na may gate na adf_crit. Pumapasok sa z-score na 2-sd. Lumalabas kapag bumalik sa loob ng exit_z, umabot sa stop na stop_z, o naabot ang time stop na max_hold_days. Pinipili ng beta_mode kung gagamitin ang hedge ratio na naka-freeze sa formation o muling ini-fit bawat bar sa trailing window (O(1) running sum). Beta-dollar-neutral ang mga leg, hanggang 25% ng equity ang mas malaking leg, at nananatili sa loob ng 2x Reg-T ang gross exposure.
Itinatama ng Iteration 3 ang pagkabigo sa Layer 1.5. Itinatakda ng research plan ang leverage sa 2.0, kaya kasama na ngayon sa mga parameter ang 'leverage': 2.0 bilang float, kasabay ng config.leverage = 2.0. Binabasa ito ng code papunta sa self.leverage, nililimitahan sa config.leverage, at ginagamit para sa gross-exposure cap. Tugma sa mga uri at saklaw sa plano ang iba pang halagang itinakda ng plano (stop_z 4.0, adf_crit -2.86, min_beta 0.3, max_beta 3.0, rebalance_days 63, leg_notional_pct 0.25) at ang mga tunable baseline; sinuri ito gamit ang validate_plan. Hindi binago ang kalakip na _optimization_plan. Kapareho ng iteration 2 ang signal at trading logic.
Mga Resulta ng Beripikasyon
Opsyonal na i-save ang entry mu/beta/sd sa _book sa oras ng entry at gamitin ang mga ito para sa exit at stop ng trade na iyon hanggang magsara ito. Bilang alternatibo, idokumento na sinasadya ang kasalukuyang gawi.
Sa frozen mode, kung bumagsak ang muling pagbuo ng pares habang bukas ang posisyon at nananatiling maaaring i-trade ang pares, napapalitan sa kalagitnaan ng trade ang mu/beta/sd. Pagkatapos, hinuhusgahan ang bukas na trade gamit ang z-score mula sa ibang cointegrating vector kaysa sa ginamit sa pagpasok. Hindi nagbabago ang dami ng mga leg, kaya hindi na ito tugma sa bagong beta. Maaaring biglang magbago nang sapat ang z para artipisyal na mag-trigger ng exit o stop. Hindi tinutukoy ng hypothesis ang kasong ito.
Sa rolling mode, tiyaking len(buf) >= formation_days bago gamitin ang _rolling_fit para rin sa mga exit, o gamitin muna ang frozen fit hanggang mapuno ang buffer.
Nagbabalik ang min_bars_required() ng 2, at hindi kasama sa persistence ang _bufs/_sums. Pagkatapos ng live restart, nagfi-fit ang rolling mode gamit ang bahagyang napunang buffer (n>=3) hanggang mapunan muli ng warmup ang formation_days bar. Maaari tuloy pamahalaan ang mga bukas na posisyon gamit ang maingay na beta mula sa maikling window. Hindi naaapektuhan ang mga backtest dahil nangangailangan ang entry gate ng buong buffer at isang formation.
Walang kailangang pagbabago para sa mga daily market order.
Ipinapalagay na napupunan sa susunod na bar ang mga exit na isinumite sa pamamagitan ng _flatten. Kung nakabinbin pa ang pagsasara, tatawagin muli ng orphan check sa flat branch ang _flatten. Hindi nakapipinsala ang tawag na iyon dahil maagang nagbabalik ang _submit_exit_position kapag _close_pending, pero nilalaktawan nito ang pagsusuri ng entry para sa bar na iyon.
Smoke test: 76 leg positions, katumbas ng 38 pair round-trips sa 4 pares sa loob ng humigit-kumulang 4.5 taon. Ang avg_trade_return_pct ay 0.63%, mas mataas kaysa sa ~0.05% USEQ spread floor. Ang PF ay 1.33, pero sumasaklaw sa zero ang Sharpe CI (-0.25 hanggang 1.33), 13 ang kurtosis, at 759 araw ang tagal ng max DD. Halos lahat ng return ay nagmula sa stressed-vol tercile (+11.7% ng 13.1%), kaya maaaring nakasalalay ang edge sa ilang dislokasyon sa krisis. Tiyaking maaabot ang optimization constraint na min_trades=100 sa entry_z 2.0 sa 4 pares sa buong kasaysayan. Suriin din ang konsentrasyon ng PnL bawat pares, dahil maaaring mangibabaw ang V/MA at KO/PEP.
Pagsusuri ng Backtest
- Sharpe
- 0.24
- Kabuuang Return
- 7.80%
- Max Drawdown
- 6.50%
- Kabuuang Trade
- 152
- Win Rate
- 48.0%
- Profit Factor
- 1.11
Kinukumpirma ng mga detail record ang 76 paired round-trips: may magkasalungat na direksiyong legs ang bawat pares na magkatugma ang oras ng pagpasok at paglabas. Sinusunod ng sinuring position sizing ang beta-weighted allocation.
Tumutugma ang PnL ng mga saradong trade sa $7,801.79, walang bukas na posisyon. Ang average na net return bawat leg ay 0.2152% laban sa ibinigay na USEQ 0.05% review floor; PF ay 1.1094.
Nararapat i-optimize ang nakarehistrong paghahambing ng frozen at rolling; hindi sapat ang mababang paunang Sharpe lamang para bigyang-katwiran ang pagtanggi.
0.242 ang Sharpe at sumasaklaw sa zero ang confidence interval nito. Sinusuportahan ang alalahanin ni QA tungkol sa pagdepende sa regime: positibo ang mga return sa stressed regime, samantalang negatibo ang mga ito sa calm at normal na regime.
Nakapokus ang PnL ng mga pares sa XOM/CVX (+$8,647.21) at V/MA (+$5,174.50); nalugi ang KO/PEP at HD/LOW.
May 152 saradong leg position pero 76 pair round trip lamang. Maaabot ang min_trades=100 ng optimizer batay sa iniulat na bilang ng posisyon, pero hindi pa naipapakita batay sa bilang ng pares o sa mas maiikling training window.
Hindi mahigpit na dollar-neutral ang mga beta-weighted leg kapag iba sa isa ang beta. Hindi naaangkop ang paghahambing na buy-and-hold ng iisang leg dahil benchmark_meaningful=false.
Pagsusuri
Maayos ang accounting. Tumutugma ang 152 saradong leg (76 paired round trip) sa netong +7.80%, walang unrealized PnL sa dulo, peak margin use na 0.68 at drawdown na 6.50% laban sa nakarehistrong limitasyong 20%.
Ang average na net return bawat leg ay 0.215% laban sa floor na 0.05% ng USEQ (4.3x). 10% ng gross ang impact at $574 ang borrow, kaya hindi gastos ang problema.
Kumikita ang tercile ng stressed volatility (Sharpe 0.85, +13.0%).
Pagkabigo sa HARD gate, hindi mapapawalang-bisa: positibo lamang sa 7 sa 13 taon sa kalendaryo na may exposure (54% < 60%). Imposibleng i-promote.
Umabot nang isang dekada ang pagkalugi. Humigit-kumulang -4.1% ang kabuuan ng taunang returns na 2010-2019. Tumagal nang 3,920 araw ang max drawdown, kaya hindi nabawi ng portfolio ang peak na 2010 hanggang sa panahon ng volatility na 2020-2022 (2020-22 = +10.9%, ang buong resulta). -0.53 ang Sharpe ng calm tercile (-3.1%), at flat ang normal tercile (0.003).
Nakapokus ang edge, hindi malawak. Batay sa detalye ng file kada pares: XOM/CVX +$8,647 sa humigit-kumulang 7 round trip, V/MA +$5,175, KO/PEP -$3,191, HD/LOW -$2,829. Nalulugi ang dalawa sa apat na duopoly na pinili dahil sa ekonomikong batayan, at pasan ng iilang trade ng isang pares ang buong portfolio.
Ang IC ng isinagawang signal ay -0.110 (t=-1.17, n=115 sa horizon na 30-bar). Walang nasukat na forward information ang spread z-score at mali ang tinuturo ng tanda nito.
PF 1.109, Calmar na 0.08, Sharpe na 0.24 (95% CI -0.29 hanggang 0.76), win rate na 0.48 at payoff na 1.20. Hindi natupad ang tatlo sa limang paunang nakarehistrong prediksyon: win rate na 0.48 laban sa 0.55, PF 1.11 laban sa 1.25, average na trade na 0.215% laban sa 0.50%.
Nalugi rin ang naunang single-pair KO/PEP USEQ cointegration run sa loob ng mga dekada ng kasaysayan (Sharpe na 0.11, PF 1.18). Idinadagdag ng run na ito ang kaparehong mahinang lagdang nakadepende sa regime sa tatlo pang pares.
maluwag
hindi tiyak: hindi kailanman tumakbo ang optimization (ang nakaplanong bahagi na OOS ay 0.379 < 0.40 dahil nagsisimula sa 2008 ang kasaysayan ng V.USEQ)
mahigpit
advisory
Kasaysayan ng Iterasyon
Bigo ang beripikasyon (leverage_set_but_unused): itinatakda ng config ang leverage=2.0, pero hindi kailanman ginagamit ng strategy ang leverage sa position sizing. Ibase rito ang laki ng posisyon — notional = equity * fraction * leverage / price (basahin ang self.config.leverage) — o itakda ang leverage=1.0. Sa kasalukuyang anyo, walang bisa ang leverage at kapareho ng 1x ang backtest.
Bumagsak ang verification (Layer 1.5 — pagkakatugma ng hypothesis/config) [class=hypothesis_mismatch]: - Itinatakda ng optimization_plan ang leverage sa 2.0
backtest_failed:data: hindi naipatupad nang 3 ulit ang buong backtest — data_unavailable: KO.USEQ-1-DAY-LAST-EXTERNAL: wala sa session grid ng venue ang bar close; kulang ng 35 inaasahang bar, kasama ang mga hiniling na boundary Pagkabigo ng pipeline/data ito, hindi hatol sa strategy; ipagpatuloy kapag naayos na ang sanhi.
Buod ng Resulta
Hindi gastos ang problema: sa zero-commission na US equities, nalampasan ng duopoly z-score fade ang fee floor, pero nakadepende ang kita nito sa mga high-volatility regime at isa o dalawang pares. Kaya dapat suriin ang consistency bawat taon at attribution bawat pares bago umasa sa bilang ng trade sa mahabang kasaysayan.
Inirekomenda ng backtest review na i-optimize ito, pero hindi kailanman nasukat ng optimization ang out-of-sample performance dahil nagsisimula sa 2008 ang kasaysayan ng V.USEQ, kaya napakaliit ng nakaplanong bahaging OOS. Pagkatapos, tinalikuran ito ng analyst batay sa baseline ng buong kasaysayan dahil bumagsak ito sa isang mahigpit at hindi mapapawalang-bisang gate: positibo lamang ang 7 sa 13 taon (54% laban sa 60%). Kabilang sa sumusuportang ebidensya ang negatibong Sharpe sa calm regime (-0.53), z-score na IC ng -0.11, at pagkalugi sa dalawa sa apat na pares (KO/PEP, HD/LOW).
Dollar-neutral na Engle-Granger pairs trade sa apat na equity duopoly na magkakapareho ang industriya na US (KO/PEP, XOM/CVX, HD/LOW, V/MA) gamit ang daily USEQ bars: pumasok sa spread z-score na 2-sd matapos pumasa sa ADF test, at ikumpara sa paunang nakarehistrong parameter ang hedge ratio na naka-freeze sa formation sa muling pag-fit nito sa bawat bar.
Nagbalik ang backtest sa buong kasaysayan (2010-04 hanggang 2024-01, frozen beta) ng netong +7.80% sa 152 saradong leg (76 pair round trip), na may Sharpe na 0.24 (95% CI -0.29 hanggang 0.76), profit factor na 1.11, win rate na 0.48, max drawdown na 6.50%, at average na trade return na 0.215% laban sa 0.05% USEQ floor. Lahat ng kita ay mula sa 2020-2022; nalugi ang 2010-2019 nang humigit-kumulang 4.1%, na may drawdown na 3,920 araw.
Pagsusuri
Aling mean, standard deviation at beta ang dapat kong gamitin sa cointegration pairs trading strategy?
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.