12. november 2026 · eksekvering

Din backtest fik fill til den officielle close. Du kom aldrig ind i auktionen.

Din backtest fik fill til den officielle close. Du kom aldrig ind i auktionen.

Den officielle close i en aktiefil ligner enhver anden pris. Tidsstempel 16:00:00 Eastern, ét tal, klar til fill. Daglige signaler markerer den. Rebalanceringer rammer den. En research-agent vil behandle den som et quote, der lå på bogen og ventede på dig.

Close er en auktion, ikke et quote. Det er uncross-prisen på on-close-ordrer, der skulle være accepteret inden en cutoff. Hvis backtesten fik fill der uden at være med i det batch, tog den et print, du ikke ville have været en del af.

At fylde 16:00, som om uncross var en market-ordre

Den sædvanlige genvej er: beregn signalet ved eller lige før close, fyld til den officielle close, stemple 16:00. På en stille tirsdag i AAPL er løgnen et par cent. På de dage, der dominerer en daily-rebalance-bog, er det hele handlen.

Kl. 16:00:00.000 kører closing cross, eller er netop kørt. En marketable ordre, du sender på det tidspunkt, går ikke ind i det cross. Den lander i det, der er tilbage: resterende displayed size, et odd lot, extended hours på ARCA eller Nasdaq. Det print kan ligge to cent fra den officielle close, eller fyrre basispoint, og det er en anden likviditetspulje. Ved en Russell-rekonstitution, en månedsultimo eller en triple-witching-fredag udgør close ofte en tocifret andel af dagens volumen. Det var likviditeten. Du var ikke med i den.

3:50NYSE on-close cutoff (ET)
3:55Nasdaq closing-cross cutoff (ET)
~10%typisk large-cap-volumen i close

Vi paper-tradede dette ved et uheld. En parametertweak landede kl. 15:48. Backtesten fyldte stadig hvert navn til den officielle close. OMS'en sendte almindelige market-ordrer kl. 16:00:03, fordi ingen havde wired MOC. After-hours-prints, en håndfuld rejects og et shortfall på 19 basispoint versus filen på en dag, hvor filen sagde, at vi var flat til close. Strategien var ikke knækket. Fill-reglen var.

Jeg tænker stadig på 15:49 som et fysisk sted. Nogen ændrer en vægt. En anden kigger på uret. Cutoffen er ligeglad med, hvem af jer der har ret.

MOC er den ordre, der faktisk anmoder om den uncross, og selv MOC er ikke et løfte. Et halt, en LULD-pause, en aflyst auktion, et navn der aldrig åbnede: du kan være flat kl. 16:00 med en working on-close, der dør. LOC har lov til at misse helt. Hvis uncross er $40.12 og din limit er $40.00, ejer du ingenting. Masser af backtests booker alligevel close.

Værre endnu: nogle vendor-filer gemmer en composite close, der aldrig printede på nogen enkelt venue. Du kan ikke joine en composite. Hvis strategien ville have sendt NYSE MOC, er det fill, der tæller, NYSE-uncross, i den størrelse auktionen ville have absorberet.

At kalde det sidste regular-hours-print for close

Nogle pipelines afviser den officielle close af princip og tager det sidste SIP-print før 16:00, fordi det print i det mindste "skete." På en mega-cap ligger last og official ofte en eller to cent fra hinanden, og du opdager det ikke. På en mid-cap kan det sidste print være 200 aktier kl. 15:59:51, signeret af den, der løftede en resterende display. Den officielle close to sekunder senere er en uncross på en million aktier til en anden pris.

Indekset, ETF-creation-kurven og hver MOC-rebalance handlede uncross. Din backtest handlede resten. Og et last-print kommer ikke med din størrelse vedhæftet. Hvis det print er 400 aktier, og dit clip er 5,000, fik du ikke den pris. Du fik et tidsstempel, der tilfældigvis var last.

Jeg har set en mid-cap-fil, hvor last-print versus officiel close flyttede 28 cent på en rebalance-torsdag. Backtesten, der brugte last, så mere "mikrostruktur-bevidst" ud. Det var bare et andet, tyndere marked, og den antog stadig, at vi kunne have været de 200 aktier.

At rykke fill til morgendagens open for at være konservativ

Det tredje smuthul dukker op i code review som en kommentar: antag ikke, at vi kan handle close, så fyld næste open. Det lyder voksent. Det bygger en anden strategi.

Et close-to-close-signal eksekveret til næste open har spist overnight-gappet. For mange aktiefaktorer er det gap en stor del af den bevægelse, du troede, du ejede. At fylde open gør ikke backtesten forsigtig. Det flytter P&L ind i en session, du ikke havde sat dig for at handle, og det smider dig ind i en åbningsauktion, du heller ikke modellerede.

På papiret er vraget nemt at fejllæse. Backtestens daglige P&L ligger stadig på linje med signalet. Paper-bogen rummer en nat med indeks-gap og en morgen med opening-cross-slippage. Folk argumenterer så om implementation shortfall, når den ærlige beskrivelse er, at de to systemer ikke laver den samme handel.

Men open er også en auktion. Hvis du missede gårsdagens cutoff, får du ikke automatisk et rent 9:30-last. Du får MOO/LOO-mekanik, en imbalance og et gap. At kalde det en konservativ close-fill skjuler bare et andet umodelleret cross under en dydig kommentar.

Den fill, du bookedeHvad venue'et faktisk krævedeSådan ser vraget ud
Officiel close, ingen ordretypeMOC eller LOC accepteret inden den venues cutoffAfter-hours-print, et reject eller en composite-pris, ingen hostede
Sidste SIP-print før 16:00En handel, du kunne have været, i din størrelseEn leftover på 200 aktier behandlet som et clip-fill
Næste open som en "sikrere" closeEn opening-cross-model plus overnight-gappetEn anden strategi, stadig en auktion, stadig missede
Hvis paper-kontoen ikke kan sende MOC eller LOC, får backtesten ikke den officielle close. Skift fill. Tilnærm ikke uncross med en market-ordre kl. 16:00.

Det ærlige skel er lille. Enten siger research-kontrakten, at vi er i close, og i så fald er ordren on-close, tidsstemplet før 15:50 på NYSE eller 15:55 på Nasdaq, dimensioneret efter forventet close-volumen og tilladt at udløbe ufyldt, hvis det er en LOC. Eller vi er ikke i close, og i så fald er after-hours eller next-open en navngiven politik med sin egen auktion, og equity-kurven holder op med at bære et 16:00-label.

Vi underkender nu en backtest, der booker den officielle close uden en on-close-ordre, der sidder inden for cutoff for den venue. Det har slået nogle pæne daily-signal-kurver ihjel. De kurver var aldrig eksekverbare til den pris, de hævdede.

backtestingmarkedsmikrostrukturaktierclosing-auktioneksekvering
← Alle indlæg