Spring til indhold
Alle strategier

Strategier

Diversificeret intradag-portefølje med impulsbarfortsættelse på tværs af majors (long-short, Binance USD-M, 1H, hændelsesstyrede diskrete indgange, grænser pr. position og for brutto, mål der overstiger gebyrer med ATR)

Resultat: Opgivet

DiversifiedImpulseBarContinuationPortfolioLS1H

Løste reelt problemerne med få handler og koncentration i enkelte hændelser: 13,644 handler på tværs af 10 navne fylder hvert vindue tæt, med sikre, diskrete indgange for motoren og grænser pr. position og for brutto…

Hypotese

En LONG-SHORT, MULTI-INSTRUMENT intradag-CONTINUATION-strategi, der bruger fabrikkens EXPLICITLY-SANCTIONED og generaliserer signalet om fortsættelse efter en impulsbar som en DIVERSIFIED PORTFOLIO på tværs af ~10 Binance-USD-M-majors med lange historikserier (BTC, ETH, SOL, BNB, XRP, ADA, DOGE, AVAX, LINK, LTC) på 1-HOUR-barer. Hvert aktiv overvåges uafhængigt; når et aktiv viser et usædvanligt stort, retningsbestemt ryk med høj volumen (impulsbar), åbner strategien en enkeltstående position i rykkets retning……Vis mereVis mindre

En LONG-SHORT, MULTI-INSTRUMENT intradag-CONTINUATION-strategi, der bruger fabrikkens EXPLICITLY-SANCTIONED og generaliserer signalet om fortsættelse efter en impulsbar som en DIVERSIFIED PORTFOLIO på tværs af ~10 Binance-USD-M-majors med lange historikserier (BTC, ETH, SOL, BNB, XRP, ADA, DOGE, AVAX, LINK, LTC) på 1-HOUR-barer. Hvert aktiv overvåges uafhængigt; når et aktiv viser et usædvanligt stort, retningsbestemt ryk med høj volumen (impulsbar), åbner strategien en enkeltstående position i rykkets retning for at indfange den kortsigtede fortsættelse, der følger. Dette er den analytikerstøttede retning for nye idéer (impulsfortsættelsesfamilien markeres gentagne gange som 'generaliserende'; der findes enkeltaktiv-ETH-1H-, SOL-1H- og BTC-1H-HL-instanser), generaliseret til en PORTFOLIO specifikt for at afhjælpe de to fejltilstande, der førte til næsten alle nylige opgivelser: (1) LOW BREADTH / koncentration i enkelte hændelser (3-navne-HL-bogen ramte 68% DD som gearet beta; udbrud i enkeltaktiver var koncentreret i 2021) — afhjulpet, fordi impulshændelser indtræffer på forskellige tidspunkter for forskellige, ufuldstændigt korrelerede aktiver, så TRADE STREAM diversificeres frem for at stable korreleret retningsbestemt beta; og (2) TRADE-SPARSITY (CoinM Donchian med 26 handler kunne ikke udfylde walk-forward; OOS vinduer var tomme) — afhjulpet, fordi ~10 aktiver × hyppige 1H-impulser giver hundredvis af handler om året og fylder hvert walk-forward-/holdout-vindue tæt. Det er NOT en forbudt forfinelse af en momentumkurv (en anden signalklasse: diskret intradag-rykfortsættelse, ikke SMA/trendtilstand baseret på efterfølgende afkast), NOT enkeltaktiv-TSM (død), NOT et langsomt udbrud (regimebrudt), NOT reversion (død), NOT optioner/spot (blokeret). Sikker for motoren fra konstruktionen: diskrete indgange med én indgang og én udgang pr. hændelse, højst én position pr. aktiv, nominel grænse pr. position samt en grænse for porteføljens GROSS-eksponering — aldrig kontinuerlig volatilitetsbaseret skalering/netting-vendinger (konstruktionen, der forårsagede artefaktet med oppustet nominel værdi). Geometrien har bredt mål og stramt stop (TP >= SL) for at undgå risiko/afkast-fælden med flush og bounce. Tre kerneparametre.

Iteration 4 afhjælper Layer-3 300s smoke-test-timeout WITHOUT at ændre handelslogikken. Den forrige version genberegnede ATR, gennemsnitsvolumen og ryk ud fra snit af barlister (med numpy-array-allokering og mange .as_double()-kald FFI) for alle 10 instrumenter på hver EVERY bar — en tung konstant omkostning pr. bar ganget med ~hundredtusindvis af 1H-barer over lang historik. Den varme sti er nu O(1) pr. bar: rullende TR og volumen-SUMS vedligeholdes inkrementelt i afgrænsede deques, opdateres præcis én gang pr.……Vis mereVis mindre

Iteration 4 afhjælper Layer-3 300s smoke-test-timeout WITHOUT at ændre handelslogikken. Den forrige version genberegnede ATR, gennemsnitsvolumen og ryk ud fra snit af barlister (med numpy-array-allokering og mange .as_double()-kald FFI) for alle 10 instrumenter på hver EVERY bar — en tung konstant omkostning pr. bar ganget med ~hundredtusindvis af 1H-barer over lang historik. Den varme sti er nu O(1) pr. bar: rullende TR og volumen-SUMS vedligeholdes inkrementelt i afgrænsede deques, opdateres præcis én gang pr. ny bar pr. aktiv i _roll_update (deduplikeret efter tidsstempel), og håndteringen læser _atr_of/_avg_vol_of/_thrust_of direkte fra de løbende summer. numpy er fjernet fra den varme sti (ren Python-matematik). Hovedaktivets RETURNED-signal bevarer sin nøjagtige tidligere beregning baseret på barer (_thrust_direct), så det kontinuerlige, varierende signal, der allerede bestod Layers 1-2, er byteidentisk i sin adfærd; den ufiltrerede _touch-opdatering holder også signalet aktivt i Layer-2-proxyen, hvor order_factory/cache mangler. Rullende ATR er lig med gennemsnittet af de samme TR'er, og rullende gennemsnitsvolumen er lig med gennemsnittet af de samme volumener, så indgange/udgange og handlernes produktion er uændret — kun omkostningen pr. bar falder fra O(vindue x instrumenter) til O(instrumenter) med en langt mindre konstant.

Den diversificerede intradagportefølje med impulsfortsættelse giver et markant nettotab med en fordel under handelsomkostningerne — den er ikke 2 timers optimering værd. Over 13,644 handler: total_return -95.05%, CAGR -45.6%, max_drawdown 96.24% (CI til 100%, over grænsen for definitiv opgivelse på L19, i gruppen for rolige markedsforhold -100%), profit_factor 0.87, forventning -$7.20/handel, avg_trade_return_pct 0.045% (under Binance-gebyrgrænsen på 0.15% for USD-M, L22, med provisioner på 12.4% af brutto).……Vis mereVis mindre

Den diversificerede intradagportefølje med impulsfortsættelse giver et markant nettotab med en fordel under handelsomkostningerne — den er ikke 2 timers optimering værd. Over 13,644 handler: total_return -95.05%, CAGR -45.6%, max_drawdown 96.24% (CI til 100%, over grænsen for definitiv opgivelse på L19, i gruppen for rolige markedsforhold -100%), profit_factor 0.87, forventning -$7.20/handel, avg_trade_return_pct 0.045% (under Binance-gebyrgrænsen på 0.15% for USD-M, L22, med provisioner på 12.4% af brutto). Sharpe-ratioen er på -0.088 (CI [-1.02, 0.61], der spænder over nul), PSR 0.41, og strategien taber i 6 af 7 år (kun 2022 positive). Porteføljedesignet DID afhjælper de to problemer, det skulle løse — få handler (hundredvis om året) og koncentration om enkelte hændelser — med diskrete indgange, der er sikre for handelsmotoren, og uden likvidering. Men diversificeringen dæmpede ikke halerisikoen (kurtose 246, månedlige udsving på +365%/-78%/-50%, 37 tab i træk) og skabte heller ikke en positiv nettofordel pr. handel. Dette er klassen for ren OHLCV-retningsbestemt fortsættelse fra L30/L63 (0-overlever); at generalisere impulssignalet fra ét instrument til 10 instrumenter øgede antallet af handler, men fordelen pr. handel er fortsat under gebyrerne. Ingen justering af impuls-, stop- eller tp-multiplikatorer løfter en fordel pr. handel på 0.045% over gebyrgrænsen eller afhjælper et drawdown på 96%. Fejlmønster: fee_edge/no_edge fortsættelse på flere instrumenter med OHLCV og >50% DD.

Implementering

Intradag fortsættelse efter impulsbar i long-short-format kørt som en diversificeret portefølje på tværs af 10 Binance USD-M-majors med dybe historiske data på 1H-barer. Hvert aktiv overvåges uafhængigt; et retningsbestemt ryk med høj volumen (|body|/ATR >= impulse_atr_mult AND volumen >= vol_mult x gennemsnittet) åbner én diskret position i rykkets retning, som lukkes ved et snævert ATR-stop, et bredere ATR-mål eller en grænse for maksimal holdetid. Begrænsning af nominel værdi pr. position samt loft over porteføljens bruttoeksponering; højst én position pr. aktiv.

Verifikationsresultater

CLEAN RESTART 2026-09-04 — denne kørsels domshistorik og læringsposter blev fjernet, og den blev genstartet fra verifikation. Den tidligere opgivelse skyldtes pipelinen, ikke markedet: testmiljøet i Layer-2 bandt @staticmethod-hjælpere forkert (rettet), QA afsagde endelige resultatdomme på en uoptimeret smoke-test (fjernet — QA vurderer nu kun korrekthed), og sandbox-timeouts skyldtes mangel på backtest-pladser (rettet). Hypotesen og strategikoden er uændrede. Vurdér koden på dens egne præmisser; resultatet afgøres senere af den fulde backtest og optimizeren.

Backtest-gennemgang

Sharpe
-0,09
Samlet afkast
-95,05%
Maks. drawdown
96,24%
Handler i alt
13644
Gevinstrate
38,6%
Profit factor
0,87

Løste reelt problemerne med få handler og koncentration i enkelte hændelser: 13,644 handler på tværs af 10 navne fylder hvert vindue tæt, med sikre, diskrete indgange for motoren og grænser pr. position og for brutto (intet artefakt med oppustet nominel værdi, ingen likvidering)

Nettotab: total_return -95.05%, CAGR -45.6%, max_drawdown 96.24% (CI til 100%) — forbi den hårde opgivelsesgrænse på 50% (L19)

Edge under gebyrer: avg_trade_return_pct 0.045% (under gebyrgrænsen på 0.15%, L22), profit_factor 0.87, forventet værdi -$7.20/handel, kurtage 12.4% af brutto

Ingen signifikant risikojusteret edge: Sharpe -0.088 (CI [-1.02, 0.61] spænder over nul), PSR 0.41; taber i 6 af 7 år (kun 2022 positive)

Diversificering tæmmede ikke halen: kurtosis 246, månedlige udsving +365%/-78%/-50%, 37 tab i træk — afkastet domineres af ekstreme observationer, ikke en jævn edge

L30/L63 ren-OHLCV retningsbestemt fortsættelsesklasse (0-overlever); porteføljegeneralisering øgede antallet af handler, men ikke edge pr. handel

Iterationshistorik

Verifikation mislykkedes (Layer 2 — syntetiske scenarier): Anvendte parametre: ['assets', 'vol_mult', 'atr_period', 'vol_window', 'tp_atr_mult', 'min_notional', 'max_hold_bars', 'qty_precision', 'stop_atr_mult', 'gross_cap_frac', 'impulse_atr_mult', 'per_position_frac', 'default_qty_precision'] Kontrollér, at __init__ sætter alle attributter fra self.parameters.get(). - steady_uptrend: TypeError: super(type, obj): obj skal være en instans af eller undertype af type (bartidsstempel: 1735689600000) -……Vis mereVis mindre

Verifikation mislykkedes (Layer 2 — syntetiske scenarier): Anvendte parametre: ['assets', 'vol_mult', 'atr_period', 'vol_window', 'tp_atr_mult', 'min_notional', 'max_hold_bars', 'qty_precision', 'stop_atr_mult', 'gross_cap_frac', 'impulse_atr_mult', 'per_position_frac', 'default_qty_precision'] Kontrollér, at __init__ sætter alle attributter fra self.parameters.get(). - steady_uptrend: TypeError: super(type, obj): obj skal være en instans af eller undertype af type (bartidsstempel: 1735689600000) - steady_downtrend: TypeError: super(type, obj): obj skal være en instans af eller undertype af type (bartidsstempel: 1735689600000) - flat_ranging: TypeError: super(type, obj): obj skal være en instans af eller undertype af type (bartidsstempel: 1735689600000) - volatility_spike: TypeError: super(type, obj): obj skal være en instans af eller undertype af type (bartidsstempel: 1735689600000) - zero_volume: TypeError: super(type, obj): obj skal være en instans af eller undertype af type (bartidsstempel: 1735689600000) - price_gap: TypeError: super(type, obj): obj skal være en instans af eller undertype af type (bartidsstempel: 1735689600000)

Verifikation mislykkedes (Layer 3 — sandbox-backtest): smoke-testen overskred grænsen på 300s for væguret. Det betyder næsten altid arbejde pr. bar, som skalerer med historikken — f.eks. gentagen gennemgang af hele funding-/suppleringsserien eller genopbygning af en liste og kald til min()/sorted() inde i calculate_signal()/on_bar() på hver bar. Forudberegn sorterede tidsstempelarrayer ONCE i __init__ og brug bisect, eller cache opslag med tidsstempel som nøgle, så omkostningen pr. bar er O(log n) i stedet for O(n).

Verifikation mislykkedes (Layer 2 — syntetiske scenarier): Anvendte parametre: ['assets', 'vol_mult', 'atr_period', 'vol_window', 'tp_atr_mult', 'min_notional', 'max_hold_bars', 'qty_precision', 'stop_atr_mult', 'gross_cap_frac', 'impulse_atr_mult', 'per_position_frac', 'default_qty_precision'] Kontrollér, at __init__ sætter alle attributter fra self.parameters.get(). - steady_uptrend: TypeError: DiversifiedImpulseBarContinuationPortfolioLS1H._bar_ts() tager 1 positionsargument, men fik 2 (bartidsstempel:……Vis mereVis mindre

Verifikation mislykkedes (Layer 2 — syntetiske scenarier): Anvendte parametre: ['assets', 'vol_mult', 'atr_period', 'vol_window', 'tp_atr_mult', 'min_notional', 'max_hold_bars', 'qty_precision', 'stop_atr_mult', 'gross_cap_frac', 'impulse_atr_mult', 'per_position_frac', 'default_qty_precision'] Kontrollér, at __init__ sætter alle attributter fra self.parameters.get(). - steady_uptrend: TypeError: DiversifiedImpulseBarContinuationPortfolioLS1H._bar_ts() tager 1 positionsargument, men fik 2 (bartidsstempel: 1735689600000) - steady_downtrend: TypeError: DiversifiedImpulseBarContinuationPortfolioLS1H._bar_ts() tager 1 positionsargument, men fik 2 (bartidsstempel: 1735689600000) - flat_ranging: TypeError: DiversifiedImpulseBarContinuationPortfolioLS1H._bar_ts() tager 1 positionsargument, men fik 2 (bartidsstempel: 1735689600000) - volatility_spike: TypeError: DiversifiedImpulseBarContinuationPortfolioLS1H._bar_ts() tager 1 positionsargument, men fik 2 (bartidsstempel: 1735689600000) - zero_volume: TypeError: DiversifiedImpulseBarContinuationPortfolioLS1H._bar_ts() tager 1 positionsargument, men fik 2 (bartidsstempel: 1735689600000) - price_gap: TypeError: DiversifiedImpulseBarContinuationPortfolioLS1H._bar_ts() tager 1 positionsargument, men fik 2 (bartidsstempel: 1735689600000)

Stratmill er et research- og papirhandelsværktøj, ikke finansiel rådgivning eller en mægler. Backtest- og papirresultater er hypotetiske. Handel indebærer risiko for tab.