Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

Pag-ikot batay sa pamumuno ng apat na sektor

Resulta: Inabandona

FourSectorLeadershipRotation

Buod ng Resulta

Sinubukan ng FourSectorLeadershipRotation ang long-only na pag-ikot sa katapusan ng buwan patungo sa ETF ng sektor (XLK, XLF, XLE, XLU) na may pinakamalakas na positibong return sa loob ng 252 session. Sa 3 iteration, hindi ito nakalagpas sa beripikasyon: paulit-ulit na lumampas sa limitasyong 300 segundo ang Layer 3 sandbox smoke test sa window na humigit-kumulang 20,000 bar. Inabandona ang run dahil sa 'verification_loop: sandbox_timeout'. Hindi naisagawa ang backtest, optimization o pagsusuri ng analyst, kaya hindi pa nasusubukan ang ideya ng momentum ng sektor na long-only.

Hypothesis

Iangkop ang paraan ng Sector Momentum ng QuantConnect sa XLK, XLF, XLE at XLU gamit ang daily USEQ bars. Sa pagsasara ng bawat buwan, ayusin ang mga ito ayon sa ranggo ng return sa presyo sa nakaraang 252 session at hawakan lang ang nangunguna kapag positibo ang return nito. Kaunti lang ang lamang na nakita sa mga naunang pagsubok sa long/short na sektor, pangunahin dahil sa short leg; hindi pa nasusubukan ang long-only na bersiyong ito.

Tinutukoy ng source ang isang tuntunin sa pagraranggo at pag-ikot ng mga puwedeng i-trade. Sa paghawak sa isa sa apat na sektor, sinusubok ang pahayag nitong patuloy na mangunguna ang lider, gamit ang mas kaunting gawaing kailangan sa implementasyon kaysa sa naunang pagtatangka sa 11 sektor, na nag-time out nang walang nasukat na resulta. Mahina o negatibo ang inaasahang kita ng mga nasukat na long/short na bersiyon ng sektor, kaya inaalis ng panukalang ito ang short leg. Dahil kahawig ito ng naunang gawaing pangsektor, makatwiran ang katamtamang prayoridad.

verification_loop: sandbox_timeout: Nabigo ang beripikasyon (Layer 3 — sandbox backtest): lumampas ang smoke test sa limitasyong 300 segundo ng wall-clock time sa humigit-kumulang 20000-bar na window (2400 araw ng XLK.USEQ-1-DAY-LAST-EXTERNAL). Halos palaging nangangahulugan ito ng gawaing bawat bar na lumalaki kasabay ng haba ng kasaysayan — halimbawa, muling pag-scan sa buong funding/supplementary series, o muling pagbuo ng listahan at pagtawag sa min()/sorted() sa loob ng calculate_signal()/on_bar() sa bawat bar. Paunang kalkulahin ang mga nakaayos na timestamp array na ONCE sa __init__ at gumamit ng bisect, o i-cache ang mga lookup ayon sa timestamp, para O(log n) sa halip na O(n) ang gastos sa bawat bar.

Implementasyon

Buwanang long-only na pag-ikot sa XLK/XLF/XLE/XLU gamit ang daily USEQ bars. Sa pagsasara ng huling session ng bawat buwan, ayusin ayon sa ranggo ang mga return sa nakaraang 252 session at hawakan lang ang nangunguna (capital_fraction 0.5 ng equity, buong share) kung mas mataas sa 0% ang return nito; kung hindi, manatiling walang posisyon. Pinipigilan ng stop na batay sa pagsasara na 10% ang muling pagpasok sa hawak na sektor hanggang sa pagsasara ng susunod na buwan.

Sa iteration 3, ang pagsusuri lang sa config ng Layer-1.5 ang inayos. Nakadeklara na ngayon sa mga parameter ang bawat nakapirming value sa optimization plan, kasama ang eksaktong uri nito: leverage 1.0, rebalance 'monthly', hold_top_n 1, stop_loss_pct 10.0, capital_fraction 0.5, lookback_sessions 252, leader_min_return_pct 0.0. Nakalakip ang plano bilang _optimization_plan, at ginagamit ng position sizing ang leverage parameter. Hindi binago ang signal at lohika ng pag-ikot. Paalala: dahil halos isang beses lang bawat buwan ang rebalance at madalas manatiling pareho ang lider, malamang na hindi maaabot ang paunang itinakdang minimum na 80 trade.

Mga Resulta ng Beripikasyon

sandbox_timeout: Nabigo ang beripikasyon (Layer 3 — sandbox backtest): lumampas ang smoke test sa limitasyong 300 segundo ng wall-clock time sa humigit-kumulang 20000-bar na window (2400 araw ng XLK.USEQ-1-DAY-LAST-EXTERNAL). Halos palaging nangangahulugan ito ng gawaing bawat bar na lumalaki kasabay ng haba ng kasaysayan — halimbawa, muling pag-scan sa buong funding/supplementary series, o muling pagbuo ng listahan at pagtawag sa min()/sorted() sa loob ng calculate_signal()/on_bar() sa bawat bar. Paunang kalkulahin ang mga nakaayos na timestamp array na ONCE sa __init__ at gumamit ng bisect, o i-cache ang mga lookup ayon sa timestamp, para O(log n) sa halip na O(n) ang gastos sa bawat bar.

Kasaysayan ng Iterasyon

Nabigo ang beripikasyon (Layer 1.5 — pagkakatugma ng hypothesis/config) [class=hypothesis_mismatch]: - Itinatakda ng optimization_plan ang leverage sa 1.0

Buod ng Resulta

Dapat magaan ang gawaing bawat bar sa calculate_signal(), mga O(1) o O(log n) bawat bar. Kabilang dito ang pag-scan sa buffer ng apat na instrument, pag-aayos ng ranggo, paghahanap ng mga posisyon at pagsuri ng kalendaryo sa katapusan ng buwan sa bawat bar. Isagawa lang minsan bawat buwan ang lohika para sa katapusan ng buwan at paunang kalkulahin o i-cache ang iba pa, para matapos ang sandbox smoke test bago pa suriin ang lohika ng strategy.

Inabandona ito sa verification loop matapos ang 3 iteration. Lumampas sa limitasyong 300 segundo ng wall-clock time ang Layer 3 sandbox backtest sa window na humigit-kumulang 20,000 bar (2,400 araw ng XLK.USEQ-1-DAY-LAST-EXTERNAL), kaya hindi naisagawa ang pagsusuri sa backtest, optimization, pagsusuri ng analyst at pagsusuri ng panganib.

Long-only na pag-angkop sa paraan ng Sector Momentum ng QuantConnect: sa pagsasara ng bawat buwan, ayusin ang XLK, XLF, XLE at XLU ayon sa ranggo ng return sa presyo sa nakaraang 252 session gamit ang daily USEQ bars, at hawakan lang ang nangunguna kapag positibo ang return nito. Kaunti lang ang lamang na nakita sa mga naunang pagsubok sa long/short na sektor, pangunahin dahil sa short leg.

Walang datos ng performance. Hindi nakagawa ng ulat ng backtest ang strategy, kaya walang datos ng return, Sharpe o bilang ng trade.

Pagsusuri

Momentum ng Sektor

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.