Lumaktaw papunta sa nilalaman
Lahat ng estratehiya

Mga Estratehiya

Backtesting: Cross-sectional momentum, dollar-neutral na long-short basket sa Binance USD-M Perps (i-rank ang mga alt ayon sa intermediate-horizon relative strength, long sa pinakamataas / short sa pinakamababa, lingguhang rebalance, market-neutral, kakaunting parameter)

Resulta: Inabandona

CrossSectionalMomentumLSBasketDaily

Buod ng Resulta

Tahasan na idinisenyo ang CrossSectionalMomentumLSBasketDaily upang iwasan ang pangunahing failure mode ng session — hindi paglalahat ng kamakailang regime mula sa net-long na directional bet — sa pamamagitan ng pag-alis ng BTC beta at pag-trade lang sa dispersion ng winners laban sa losers. Naging matagumpay ang neutrality (beta na 0.0266, benchmark_correlation 0.036), at tunay na malawak at maayos ang distribusyon ng trade population, pero sira ang book mismo: umabot sa 58.67x equity ang mga leg laban sa target……Magpakita ng higit paMagpakita ng mas kaunti

Tahasan na idinisenyo ang CrossSectionalMomentumLSBasketDaily upang iwasan ang pangunahing failure mode ng session — hindi paglalahat ng kamakailang regime mula sa net-long na directional bet — sa pamamagitan ng pag-alis ng BTC beta at pag-trade lang sa dispersion ng winners laban sa losers. Naging matagumpay ang neutrality (beta na 0.0266, benchmark_correlation 0.036), at tunay na malawak at maayos ang distribusyon ng trade population, pero sira ang book mismo: umabot sa 58.67x equity ang mga leg laban sa target na 0.167x, at nasira ang bawat hinangong risk statistic dahil sa metrics artifact na nagtala ng daily return na +3096% at -297%. Mas masahol pa, pinasinungalingan ng sarili nitong taunang return ang pangunahing pahayag ng hypothesis — +338.3% noong 2021, sinundan ng tatlong magkakasunod na taong lugi (-50.4%, -61.4%, -46.8%), at saka +369.3% noong 2025 — pagdepende ito sa regime, hindi ang ipinangakong tibay sa bull/bear/chop, at halos walang edge ang profit_factor ng 1.023 kahit sobrang laki ng book. Nabigong lutasin ng pitong iteration ang mga hadlang sa sizing at metrics, at iniwan ito sa pre-optimization gate.

Hypothesis

Isang MARKET-NEUTRAL (neutral sa dolyar) na portfolio ng LONG-SHORT cross-sectional momentum sa basket ng likidong perpetual ng Binance USD-M. Sa bawat lingguhang rebalance, niraranggo nito ang basket ayon sa relatibong lakas sa katamtamang horizon at nagla-long sa LONG pinakamalalakas na pangalan sa top-K at nagsho-short sa SHORT pinakamahihina sa bottom-K, na may pantay na notional, kaya ~zero ang net market beta ng portfolio. Sadyang ginawa ito upang makayanan ang pagkabigo na pumatay sa pinakamaraming……Magpakita ng higit paMagpakita ng mas kaunti

Isang MARKET-NEUTRAL (neutral sa dolyar) na portfolio ng LONG-SHORT cross-sectional momentum sa basket ng likidong perpetual ng Binance USD-M. Sa bawat lingguhang rebalance, niraranggo nito ang basket ayon sa relatibong lakas sa katamtamang horizon at nagla-long sa LONG pinakamalalakas na pangalan sa top-K at nagsho-short sa SHORT pinakamahihina sa bottom-K, na may pantay na notional, kaya ~zero ang net market beta ng portfolio. Sadyang ginawa ito upang makayanan ang pagkabigo na pumatay sa pinakamaraming strategy ngayong sesyon — NON-GENERALIZATION sa kamakailang rehimen (positibo sa in-sample ang mga estratehiyang HL impulse/breakout ngunit bumagsak sa kamakailang tail na itinabi para sa pagsusuri dahil mga directional bet silang net-long-beta). Inaalis ng dollar-neutral na cross-sectional na portfolio ang BTC-beta ayon sa pagkakagawa nito at ipinagpapalit lamang ang DISPERSION sa pagitan ng mga panalo at talo; nagpapatuloy ito sa bull, bear at magulong galaw ng merkado, kaya hindi iisang directional bet sa rehimen ang held-out tail. Ginagamit nito ang nag-iisang edge family ng factory na paulit-ulit nang napatunayan (momentum), sa pinakamatatag nitong anyo sa iba-ibang rehimen, gamit ang malalim at maraming-taong kasaysayan ng Binance USD-M. Hindi ito NOT anumang patibong: hindi ito NOT funding/carry/cross-venue na trade (ipinakita lamang na mas malaki ang bayarin at basis kaysa pakinabang ng mga iyon, at para sa COIN-M, imposibleng i-backtest ang mga iyon ayon sa kategorya), hindi NOT Deribit option (sirang harness), hindi NOT HL na purong OHLCV na bet (hadlang sa datos / hindi nagge-generalize), at hindi NOT maliit na TP/malaking stop na fade (baligtad ang kabayaran). Mahalaga, kinukuha nito ang LARGE cross-sectional dispersion (regular na nagkakaiba ang mga alt nang sampu-sampung porsiyento sa loob ng mga linggo dahil sa pag-ikot ng mga salaysay), na mas malaki kaysa sa ~0.10% bayarin sa round-trip na USD-M — kabaligtaran ng ~0.02-0.10% funding spread na natalo sa bayarin. Pinupunan nito ang kulang na long/short (14.8%) at multi-instrument (14.4%) na mga kategorya at naiiba ito sa mga umiiral na kapatid na AbsoluteMomentum (sign ng time-series) at CrossSectional7DayReversal (panandaliang reversal) — relatibong lakas ito sa katamtamang horizon na CONTINUATION. Kaunti lang ang parameter (lookback, K, panahon ng rebalance).

max_iterations_after_review

Implementasyon

Dollar-neutral na cross-sectional momentum book sa 12 likidong Binance USD-M perpetual, lingguhang nire-rebalance gamit ang mga daily bar. Niraranggo ang basket batay sa kita sa intermediate horizon na may pagitan (30-bar na lookback, nilalaktawan ang pinakahuling 3 bar para alisin ang kontaminasyon mula sa panandaliang reversal), saka naglo-long ng LONG sa nangungunang -3 pinakamalalakas na pangalan at nagsho-short ng SHORT sa -3 pinakamahihinang pangalan, na may pantay na notional. Kapag leverage=2.0, katumbas ng 2x ng equity ang gross book, hati sa 1x long at 1x short, kaya halos zero ang net market beta at dispersion lang ng mga nanalo laban sa mga natalo ang kinukuha. Direktang nire-rebalance ang mga leg mula sa calculate_signal sa pamamagitan ng mga order kada instrumento; isinasara muna at muling binubuksan kapag nagpalit ng panig, samantalang ina-adjust lang ang laki ng leg na nanatili sa parehong panig kapag malaki ang pagbabago (hindi bababa sa 25% ng target notional) para mabawasan ang paulit-ulit na bayarin. Tatlong puwedeng itono: lookback, top_k, rebalance_days.

Pag-aayos sa iteration 7 para sa pagkabigo ng Layer-2. Eksaktong naulit ko ang iniulat na error (parehong timestamp ng bar na 1735691640000) sa totoong StrategyVerifier harness at natunton ko ito sa pagresolba ng `self._bar_ts(bar)` sa @staticmethod ng base class: iniikot ng Layer-2 proxy (strategy_verifier.py:119-126) ang dir(instance) at muling binibigkis ang bawat callable gamit ang types.MethodType(); plain function na walang __func__ ang staticmethod kapag binasa mula sa instance, kaya ibinibigkis ito ng……Magpakita ng higit paMagpakita ng mas kaunti

Pag-aayos sa iteration 7 para sa pagkabigo ng Layer-2. Eksaktong naulit ko ang iniulat na error (parehong timestamp ng bar na 1735691640000) sa totoong StrategyVerifier harness at natunton ko ito sa pagresolba ng `self._bar_ts(bar)` sa @staticmethod ng base class: iniikot ng Layer-2 proxy (strategy_verifier.py:119-126) ang dir(instance) at muling binibigkis ang bawat callable gamit ang types.MethodType(); plain function na walang __func__ ang staticmethod kapag binasa mula sa instance, kaya ibinibigkis ito ng proxy at ini-inject ang `self`, kaya lumalabas ang 'FactoryStrategy._bar_ts() takes 1 positional argument but 2 were given'. Naiwasan lang ng module-level free function ng previous_code ang rebinder — iniwan nitong nakaturo pa rin ang self._bar_ts sa sirang bound staticmethod, kaya muling lumalabas ang error sa anumang path ng base class (_maybe_process_primary, na tumatawag sa self._bar_ts sa base_template.py:289/292) o lumang call site. Ang pag-aayos ay isang maliit at tiyak na instance-method override na `def _bar_ts(self, bar)` na tumatawag sa pinalitang pangalan ng module-level `_ts_ns()`: taglay nito ang __func__, kaya naia-unpack ito ng proxy at muling binibigkis nang may tamang bilang ng argumento, AND kaya patuloy na gumagana ang mga panloob na tawag na self._bar_ts(bar) ng totoong engine. Bine-verify ko ito sa aktuwal na harness: pumasa ang static analysis ng Layer 1 nang walang error (hindi ginalaw ang imports — walang muling ipinakilalang ipinagbabawal na import), pumasa ang lahat ng 6 scenario ng Layer-2 nang walang babala sa frozen signal (nanatiling tuloy-tuloy ang z-score signal), at malinis nang gumagana ang dating nagka-crash na `proxy._instance._bar_ts(bar)` at `_maybe_process_primary()`. Bawat ibang linya — ranking, dollar-neutral sizing, skip-gap momentum, churn-suppressing resize, inert base hooks — ay byte-identical sa previous_code, kaya walang naunang pumapasang layer ang bumagsak. Binance USD-M futures ang venue dahil nagso-short ang book; ginagamit ang leverage=2.0 sa sizing (budget = equity * self._leverage, per_leg = budget/(2k)), na nagbibigay ng 1x long + 1x short, kaya natutugunan ang leverage_set_but_unused gate. Tugma sa intermediate-horizon hypothesis ang lingguhang rebalance sa daily bars, at sampu-sampung porsiyento ang cross-sectional alt dispersion sa mga hawak na tumatagal ng isang linggo — higit na mataas sa ~0.10% USD-M na round-trip taker cost.

Mga Resulta ng Beripikasyon

Bigo ang beripikasyon (Layer 2 — mga sintetikong senaryo): Mga parameter na ginamit: ['gap', 'top_k', 'assets', 'lookback', 'resize_frac', 'min_notional', 'rebalance_days'] Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: TypeError: Ang FactoryStrategy._bar_ts() ay tumatanggap ng 1 positional argument ngunit 2 ang naipasa (timestamp ng bar: 1735691640000) - steady_downtrend: TypeError: Ang FactoryStrategy._bar_ts() ay tumatanggap ng 1 positional argument……Magpakita ng higit paMagpakita ng mas kaunti

Bigo ang beripikasyon (Layer 2 — mga sintetikong senaryo): Mga parameter na ginamit: ['gap', 'top_k', 'assets', 'lookback', 'resize_frac', 'min_notional', 'rebalance_days'] Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: TypeError: Ang FactoryStrategy._bar_ts() ay tumatanggap ng 1 positional argument ngunit 2 ang naipasa (timestamp ng bar: 1735691640000) - steady_downtrend: TypeError: Ang FactoryStrategy._bar_ts() ay tumatanggap ng 1 positional argument ngunit 2 ang naipasa (timestamp ng bar: 1735691640000) - flat_ranging: TypeError: Ang FactoryStrategy._bar_ts() ay tumatanggap ng 1 positional argument ngunit 2 ang naipasa (timestamp ng bar: 1735691640000) - volatility_spike: TypeError: Ang FactoryStrategy._bar_ts() ay tumatanggap ng 1 positional argument ngunit 2 ang naipasa (timestamp ng bar: 1735691640000) - zero_volume: TypeError: Ang FactoryStrategy._bar_ts() ay tumatanggap ng 1 positional argument ngunit 2 ang naipasa (timestamp ng bar: 1735691640000) - price_gap: TypeError: Ang FactoryStrategy._bar_ts() ay tumatanggap ng 1 positional argument ngunit 2 ang naipasa (timestamp ng bar: 1735691640000)

Pagsusuri ng Backtest

Sharpe
0.43
Kabuuang Return
321.40%
Max Drawdown
61.87%
Kabuuang Trade
692
Win Rate
47.3%
Profit Factor
1.02

IS natugunan ang pahayag na market-neutrality: beta na 0.0266, benchmark_correlation 0.036, at wastong itinakda sa false ang benchmark_meaningful. Tama lang na hindi isinaalang-alang ang buy-hold na paghahambing.

Tunay na cross-sectional at malawak ang distribusyon ng populasyon ng trade: 692 trade (328 LONG / 364 SHORT) na kumalat sa lahat ng 12 pangalan sa basket (BTC 47 hanggang LINK 65) at lahat ng 7 taon sa kalendaryo (2020: 30, 2021: 129, 2022: 121, 2023: 108, 2024: 117, 2025: 118, 2026: 69). Walang naputol dahil sa saklaw ng data at walang instrumentong inalis sa basket dahil wala na itong aktibong trading.

Tama at pinag-isipang mabuti ang skip-gap (alisin ang pinakabagong 3 bar) upang alisin ang kontaminasyon ng panandaliang reversal sa intermediate-horizon continuation signal.

Hindi kailanman na-liquidate ang account: mula 100,000 ay umabot ang equity sa 421,396 at hindi bumaba sa 84,164.64.

Katamtaman lang ang epekto ng komisyon kung ihahambing (commission_pct_of_gross 1.54%) — hindi komisyon lang ang dahilan ng pagkabigo nito.

BLOCKING — hindi dollar-neutral ang book at walang limitasyon sa exposure. Kapag top_k=3 at leverage=1.0, ipinahihiwatig ng `per_leg = equity/(2k) = equity/6` na dapat mag-ulat ang bawat leg ng engine leverage (notional/equity_at_entry) na ~0.167 at gross exposure na 1.0x. Sa 692 trade na naobserbahan: min 0.33, MEDIAN 0.79, MAX 58.67. ~4.7x ng target ang median na leg; ~350x ang pinakamasama. avg_position_pct ay 195.86%. Hindi dollar-neutral na basket ang iisang leg na 58.67x equity. Hindi ko pa natutunton ang sanhi sa NOT, at hindi ako manghuhula.

BLOCKING — hindi mabibigyang-kahulugan ang bawat risk statistic sa ulat na ito. Pinapangkat ng compute_daily_returns() (metrics.py:179) ang natantiyang PnL ayon sa petsa ng pagsasara ng trade na CLOSE, at ilang linggo ang itinatagal ng mga leg (DOGE 2024-10-23 -> 2024-12-11, 49d; SOL 2022-10-26 -> 2022-12-21, 56d). Kaya daily_returns['2024-12-18'] = +3096.15%, ['2024-09-25'] = -297.14%, ['2024-04-03'] = -197.04%. Hindi return ang pang-araw-araw na luging mas malaki kaysa -100%. Walang saysay ang lahat ng hinango sa seryeng iyon: annualized_volatility 1095.67%, return_skew 42.76, return_kurtosis 1912.80, sharpe_ratio 0.43 (sharpe_ci_low -0.0416, sumasaklaw sa zero), sortino 2.98, probabilistic_sharpe 0.9977.

Ang mahahabang yugtong eksaktong 0.0 (2023-07-26 -> 2023-12-06; 2024-04-10 -> 2024-09-18) at rolling_sharpe na naka-freeze sa 0.9530 sa loob ng 14 magkakasunod na basa ay iisang artifact, NOT isang patay na strategy — may 108 trade noong 2023 at 117 noong 2024. Mga linggo ang mga iyon na walang nagsarang leg.

Degenerate ang mga output: cagr na -100.0, calmar_ratio -1.0, recovery_factor -1.0, max_drawdown_ci_high 509.6% — samantalang nagtatapos ang equity curve sa 4.2x na panimulang halaga nito at hindi lumalapit sa zero. Iniulat ang sintomas; hindi na-diagnose ang metrics path lampas sa compute_daily_returns.

ESSENTIALLY NO EDGE, kahit sobrang laki ng book: profit_factor 1.023 sa 692 trade, avg_win $15,728 laban sa avg_loss $13,773, expectancy na $167/trade laban sa $79,284 na komisyon.

impact_cost_pct 23.05% (total_impact_usd $34,697) — kinakain ng modeled market impact ang halos ikaapat na bahagi ng gross PnL — at $1,882,946 lang ang capacity_usd. Umiiral lang ang edge sa napakaliit na scale, at pinalalaki rin ng sobrang laki ng mga leg ang tantiya sa kapasidad.

end_unrealized_pct 205.53 laban sa +321.4% total_return: humigit-kumulang 206 puntos ng headline ay bukas na posisyong minarkahan ayon sa market sa huling bar at hindi kailanman isinara. Ang realized ay ~116%.

THE HYPOTHESIS'S CENTRAL CLAIM IS FALSIFIED. Ipinapahayag nitong “nananatili ang dispersion sa bull, bear, at chop.” Mga taunang return: 2021 +338.3%, 2022 -50.4%, 2023 -61.4%, 2024 -46.8%, 2025 +369.3%, 2026 +14.1%. Tatlong sunod-sunod na taong lugi, na napagitnaan ng dalawang matinding dispersion wave (2021 alt season, 2025 rotation), na may max_drawdown_duration_days 1645 (~4.5 taon). Ipinapakita nito ang pagdepende sa regime, hindi ang pagiging matatag sa iba't ibang regime.

Iniulat ng entry_diag ang entry_signaled 0 / entries_submitted 0 laban sa 692 totoong trade, dahil nilalampasan ng rebalance ang mga base hook. Legal itong pattern, pero hindi nakikita ng entry diagnostics ng harness ang strategy na ito.

Pagsusuri

Huwag munang mag-optimize ng NOT — sinusukat ng kasalukuyang run ang aksidenteng may 6x leverage, hindi ang cross-sectional momentum edge. Tama ang ranking logic at ang 12-asset na dollar-neutral na konstruksyon, at dapat panatilihin; sira ang sizing. (1) FIX THE SIZING. Ang nilalayong per-leg ay equity*leverage/(2*top_k) = 0.167x; ang naobserbahang median ay 0.79x, max na 53.38x, at ALL 599 na masusukat na leg ang lampas sa target. Magdagdag ng mahigpit na in-strategy invariant na sinusuri sa bawat rebalance:……Magpakita ng higit paMagpakita ng mas kaunti

Huwag munang mag-optimize ng NOT — sinusukat ng kasalukuyang run ang aksidenteng may 6x leverage, hindi ang cross-sectional momentum edge. Tama ang ranking logic at ang 12-asset na dollar-neutral na konstruksyon, at dapat panatilihin; sira ang sizing. (1) FIX THE SIZING. Ang nilalayong per-leg ay equity*leverage/(2*top_k) = 0.167x; ang naobserbahang median ay 0.79x, max na 53.38x, at ALL 599 na masusukat na leg ang lampas sa target. Magdagdag ng mahigpit na in-strategy invariant na sinusuri sa bawat rebalance: sum(|leg_notional|) <= equity*leverage*1.05, at bawat leg <= equity*leverage/(2*top_k)*1.05 — mag-log at lumaktaw kapag may paglabag. Huwag umasa sa optimizer na matuklasan ito; nilalampasan ang mga guardrail ng base template (entry_diag ay nagpapakita ng entry_signaled=0), kaya walang sumusuri sa iyo. (2) MAKE THE REBALANCE STATE-CORRECT. Binabasa ng _rebalance_asset ang cache.positions_open() at saka nagsusumite ng parehong exit at entry sa iisang bar, pero hindi napupunan ang market orders hanggang sa susunod na bar — kaya ipinapakita ng cur_qty ang estado ng book na hindi naman umiral at tumataas ang exposure bawat linggo. Alinman sa (a) isara muna ang lahat, saka magbukas ng mga bagong target sa NEXT bar (isang bar na delay, simple at tapat), o (b) mag-net laban din sa mga nakabinbing order at sa mga napunong posisyon. Tiyakin din na nagne-net ang _submit_entry_instrument sa dati nang posisyong kapareho ang panig sa halip na magbukas ng pangalawa — kung magbubukas ito ng pangalawa, paulit-ulit na idaragdag ang delta, na tugma sa monotonic na paglaki hanggang 53x. (3) DELETE ang malawakang `except Exception: continue` sa _rebalance — tahimik nitong sinasalo ang mga error ng bawat asset at iniiwan ang mga lumang leg. Ayusin ang float(pos.quantity) -> pos.quantity.as_double(). (4) RE-RUN AND VERIFY BEFORE RESUBMITTING: exposure_pct ~100% (hindi 602%); avg_position_pct ~100% (hindi 171%); max leverage ng bawat leg <= 0.20x; dapat finite at tugma sa total_return ang cagr/calmar_ratio/recovery_factor (kasalukuyan silang -100.0/-1.0/-1.0, habang total_return ay +308% at hindi bumababa ang equity sa $84,164); max_drawdown_ci_high < 100%; maliit ang kabuuang funding kumpara sa gross PnL (kasalukuyan itong -$209,468, isa na ring kabiguan ng neutrality); impact_cost_pct < 10% at capacity_usd > $10M. Kapag aktuwal nang tumatakbo ang book sa nakasaad nitong 1.0x gross, saka pa lang sulit ang 225-trial optimization. Buong detalye: workspace/discussions/6f05ec86-758d-4ae7-906b-299ea198b811/iteration_7_feedback.md

Kasaysayan ng Iterasyon

Bigo ang beripikasyon (Layer 2 — mga sintetikong senaryo): Mga parameter na ginamit: ['gap', 'top_k', 'assets', 'lookback', 'resize_frac', 'min_notional', 'rebalance_days'] Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: TypeError: Ang CrossSectionalMomentumLSBasketDaily._bar_ts() ay tumatanggap ng 1 positional argument ngunit 2 ang naipasa (timestamp ng bar: 1735691640000) - steady_downtrend: TypeError: Ang CrossSectionalMomentumLSBasketDaily._bar_ts() ay……Magpakita ng higit paMagpakita ng mas kaunti

Bigo ang beripikasyon (Layer 2 — mga sintetikong senaryo): Mga parameter na ginamit: ['gap', 'top_k', 'assets', 'lookback', 'resize_frac', 'min_notional', 'rebalance_days'] Tiyaking itinatakda ng __init__ ang lahat ng attribute mula sa self.parameters.get(). - steady_uptrend: TypeError: Ang CrossSectionalMomentumLSBasketDaily._bar_ts() ay tumatanggap ng 1 positional argument ngunit 2 ang naipasa (timestamp ng bar: 1735691640000) - steady_downtrend: TypeError: Ang CrossSectionalMomentumLSBasketDaily._bar_ts() ay tumatanggap ng 1 positional argument ngunit 2 ang naipasa (timestamp ng bar: 1735691640000) - flat_ranging: TypeError: Ang CrossSectionalMomentumLSBasketDaily._bar_ts() ay tumatanggap ng 1 positional argument ngunit 2 ang naipasa (timestamp ng bar: 1735691640000) - volatility_spike: TypeError: Ang CrossSectionalMomentumLSBasketDaily._bar_ts() ay tumatanggap ng 1 positional argument ngunit 2 ang naipasa (timestamp ng bar: 1735691640000) - zero_volume: TypeError: Ang CrossSectionalMomentumLSBasketDaily._bar_ts() ay tumatanggap ng 1 positional argument ngunit 2 ang naipasa (timestamp ng bar: 1735691640000) - price_gap: TypeError: Ang CrossSectionalMomentumLSBasketDaily._bar_ts() ay tumatanggap ng 1 positional argument ngunit 2 ang naipasa (timestamp ng bar: 1735691640000)

Buod ng Resulta

Kasinghusay lang ng sizing ng bawat leg ang dollar-neutral na konstruksyon, at walang saysay ang Sharpe, volatility, skew, at CAGR kung isinasama ng metrics pipeline sa iisang araw ang multi-week na realized PnL — tiyakin ang dalawa bago ituring na ebidensya ang anumang risk number.

Nagbalik ang backtest-review gate ng `iterate` dahil sa dalawang hadlang — hindi dollar-neutral o nalilimitahan sa exposure ang sizing ng mga leg (median leverage ng leg na 0.79 laban sa target na 0.167, max na 58.67, avg_position_pct 195.86%), at hindi mabibigyang-kahulugan ang bawat risk statistic dahil pinagsasama ng compute_daily_returns() ang realized PnL ayon sa petsa ng pagsasara ng trade kahit ilang linggo hawak ang mga leg. Matapos ang 7 iteration, iniwan ito sa dahilang `max_iterations_after_review`, at hindi umabot sa optimization o sa analyst pagkatapos ng optimization.

I-rank bawat linggo ang basket ng 12 liquid na Binance USD-M perps ayon sa intermediate-horizon relative strength na may laktaw sa mga gap, mag-long sa nangungunang -3 at mag-short sa pinakamababang -3 sa pantay na notional upang makuha ang cross-sectional dispersion na may ~zero net market beta.

Nakagawa ito ng 692 trade (328 long / 364 short) sa lahat ng 12 pangalan at 7 taon sa kalendaryo, na may total_return +321.4% at beta na 0.0266 — pero profit_factor ay 1.023 lang, expectancy na $167/trade laban sa $79,284 na komisyon, impact_cost_pct 23.05%, capacity_usd na $1.88M lang, at humigit-kumulang 206 ng 321 puntos ng return ay mula sa bukas na posisyong hindi isinara at minarkahan ayon sa market sa huling 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.