Mga Estratehiya
逆轉組合
Resulta: Inabandona
UseqSectorLongHorizonContrarianBasket
Buod ng Resulta
Sinubukan ng UseqSectorLongHorizonContrarianBasket ang sector ETF basket na talunan-minus-nagwagi batay sa tatlong taon, na pinapalitan taun-taon. Pagkaraan ng walong iteration, nakapagsagawa ang inayos na lifecycle ng 20 magkakasunod na taunang basket, ngunit -15.4953% ang balik ng backtest, -0.1574 ang Sharpe, at negatibo ang karaniwang balik ng mga saradong posisyon. Tinalikuran ng pagsusuri ng backtest ang espesipikasyong sinubukan bago ang optimization, nang hindi tinatanggihan sa pangkalahatan ang pangmatagalang reversal.
Hypothesis
negative_expectancy: tanggihan ang optimization sa operationalization na ito ng Research Lead na sector-ETF, tatlong-taong formation at isang-taong holding. Pagkatapos ayusin ang lifecycle, tuloy-tuloy nang naipapatupad ang mga taunang basket, ngunit nananatiling negatibo at mas mababa sa review floor na USEQ ang nasukat na ekonomiya ng mga saradong posisyon. Walang napatunayang pag-aayos ng implementasyon o nasukat na kumikitang rehiyon ng parameter na sumusuporta sa isa pang iteration ng developer. Tinatanggihan nito ang espesipikasyong sinubukan, hindi ang strategy ng orihinal na may-akda o ang pangmatagalang reversal sa pangkalahatan; hindi pa nasusubukan ang ibang formation at holding period.
Implementasyon
Niraranggo ang siyam na naka-sync na USEQ sector ETF batay sa return ng presyong inayos para sa stock split sa 756 session; binibili ang dalawang talunan at sini-short ang dalawang nagwagi, pantay ang laki sa bawat panig, nagpapalit ng basket ayon sa nakapirming kalendaryong may pagitan na 252 session, at naglalapat ng 20% proteksiyong stop nang hindi pinapalitan ang mga natigil na leg.
Itinatama ang mismatch sa Layer 1.5 sa pamamagitan ng tahasang pag-configure sa pangunahing instrumento at sa lahat ng walong dagdag na instrumento gamit ang mga bar na 1-DAY, habang pinananatili ang nakapirming parameter na bar_interval. Hindi binago ang umiiral na ranking, execution, sizing at lohika ng kalendaryo; tinutukoy na ngayon ng source docstring ang kinakailangang interval. Tungkol ang feedback na ito sa pagkakapare-pareho ng configuration at wala itong ebidensiyang dapat talikuran ang hypothesis.
Mga Resulta ng Beripikasyon
Isinara ng sandbox ang dalawang naluluging panig malapit sa kani-kanilang protective stop at pinanatili ang dalawang bukas na posisyon. Hindi pinatutunayan ng limitadong smoke test na ito ang kakayahang kumita sa mahabang panahon; dapat suriin sa buong kasaysayan ang mga balik mula sa reversal matapos ibawas ang spread, impact at gastos sa paghiram ng short.
Pagsusuri ng Backtest
- Sharpe
- -0.16
- Kabuuang Return
- -15.50%
- Max Drawdown
- 29.45%
- Kabuuang Trade
- 78
- Win Rate
- 42.3%
- Profit Factor
- 0.76
Naibalik ang taunang pagpapalit: ipinapakita ng mga trade record ang 20 magkakasunod na taunang basket, na bawat isa ay pumapasok sa dalawang long at dalawang short na panig. Hindi na nakikita ang dating depektong paglaktaw ng taon.
Ipinapatupad ng code ang pagraranggo ng mga talunan/nagwagi batay sa nakaraang presyo at pagsukat ng laki kaugnay ng kapital; humigit-kumulang $12,500 ang panimulang notional ng bawat panig.
Pumasa ang lahat ng siyam na audit ng input; totoo ang accounting_valid at metrics_reliable.
Sa 78 saradong posisyon, ang karaniwang balik ay -1.9025% ng notional kumpara sa minimum na +0.05% USEQ para sa pagsusuri; 0.763 ang profit factor at -$243.73 ang karaniwang P&L.
-15.4953% ang kabuuang return, sa kabila ng +3.5685 percentage point na hindi pa naisasakatuparang gain sa katapusan. -0.1574 ang Sharpe. Pinatutunayan ng resulta sa buong kasaysayan ang pangamba sa ekonomiya ng QA.
Tinatayang 20 taunang obserbasyon ng basket ang kinakatawan ng mga panig na 78, hindi 78 magkakahiwalay na taya sa portfolio. Walang optimization sweep na nagpapatunay ng kumikitang rehiyon ng parameter.
false ang benchmark_meaningful; hindi batayan ng hatol na ito ang mga paghahambing sa buy-and-hold ng iisang panig.
Pagsusuri
Kasaysayan ng Iterasyon
Bumagsak ang beripikasyon (Layer 1 — static analysis): - Ipinagbabawal na import: src.data.market_calendar — mga batayang framework at helper lamang ang maaaring i-import ng strategy (src.strategies.base_template, src.strategies.rolling_options_template, src.strategies.polymarket_series_template, src.strategies.helpers); wala sa sandbox ang collectors, database, backtest engine at registry. (line 11)
I-validate ang desisyon gamit ang mga timestamp ng naka-synchronize na bar, at pag-ibahin ang oras ng simulated execution at oras ng paghahatid sa paper/live. Gamitin ang suportadong semantika ng platform para sa pagproseso sa pagsasara at tahasang patakaran para sa lumang desisyon nang hindi hinihingi ang eksaktong pagtutugma ng wall clock sa timestamp ng makasaysayang bar.
Kinakailangan ng open_pending_basket na self.clock.timestamp_ns() == self.decision_ns. Tahasang pinag-iiba ng base template ang orasan ng simulated backtest at wall clock na ginagamit sa paper/live. Kaya nagkakaroon ng rotation_execution_missed bago isumite ang mga napiling entry kapag naproseso ang naka-synchronize na daily bar kahit bahagya lamang matapos ang timestamp ng pagsasara nito. Dahil dito, hindi maipapatupad ang basket sa karaniwang paper/live operation kahit pumasa ito sa sandbox.
Buuin ang nakaangkla na session ordinal gamit ang src.strategies.helpers.sessions.is_trading_day at session_date. Panatilihin ang naka-configure na anchor at cadence na hold_bars; huwag direktang mag-import ng src.data.
Gumagamit ang strategy ng sarili nitong mga holiday sa palitan at pagtukoy sa mga sesyon ng trading sa halip na kalendaryo ng platform. Naiiwasan ng iskedyul na nakaangkla sa timestamp ang paglihis ng process counter, ngunit maaaring hindi magtugma ang mga dobleng tuntunin ng kalendaryo sa mga sesyong ginagamit sa pangongolekta at pagpapatupad.
Lutasin nang deterministiko ang mga piniling tabla tungo sa magkakahiwalay na basket, habang pinananatili ang prayoridad na pataas na instrument-ID sa bawat panig—halimbawa, piliin muna ang mga talunan, saka piliin ang mga nagwagi mula sa natitirang instrumento. Beripikahin ang kasong ganap nang uminit at nasa hangganan ng kalendaryo na pare-pareho ang mga return.
Malayáng nilulutas ng long at short ranking ang tabla ayon sa pataas na pagkakasunod ng instrumentong ID. Kapag magkapareho ang formation return, kapwa nila pinipili ang XLB at XLE sa basket_size=2. Dahil sa pag-overlap, tinatawag nito ang rotation_failure(), at permanenteng itinatakda ang rotation_phase sa 'failed'; muling nagkakaroon ng error ang mga susunod na pagsusuri ng signal. Kaya hindi pinapagana ng wastong input na flat ang presyo ang strategy sa halip na lutasin ang nakasaad na deterministikong pagraranggo.
Bumagsak ang beripikasyon (Layer 1.5 — pagkakapare-pareho ng hypothesis/config) [class=hypothesis_mismatch]: - Itinatakda ng optimization_plan ang bar_interval sa 1-DAY
Buod ng Resulta
Hindi napatunayan ng pagbabalik sa pare-parehong taunang pagpapatupad na may bentahe sa ekonomiya ang espesipikasyong sinubukan; hindi pa nasusubukan ang ibang panahon ng pagbuo at paghawak.
Nagpasya ang pagsusuri sa backtest na iwan ang strategy dahil nanatiling negatibo ang expectancy matapos ayusin ang taunang lifecycle ng basket, na bumaba sa review floor na +0.05% USEQ. Hindi na isinagawa ang optimization at ang mga sumunod na pagsusuri ng analyst at panganib.
Bilhin ang dalawang ETF ng sektor na pinakamahina ang performance sa loob ng US taon at mag-short ng dalawang pinakamahusay; palitan taun-taon ang portfolio para subukan ang pangmatagalang pagbaligtad ng presyo nang walang dibidendo.
Nagbalik ang backtest ng -15.4953%, na may Sharpe na -0.1574, maximum drawdown na 29.4461%, at 78 saradong posisyon sa humigit-kumulang 20 taunang basket. Ang karaniwang balik ng saradong posisyon ay -1.9025% ng notional at ang profit factor ay 0.763.
Pagsusuri
量化交易「从均值回归看逆向投资」
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.