1. september 2026 · korporativni dogodki

Podatki, prilagojeni za delitev, razstavljeni: kaj NVDA-jeva delitev 10 za 1 naredi vsaki vrstici za njo

Podatki, prilagojeni za delitev, razstavljeni: kaj NVDA-jeva delitev 10 za 1 naredi vsaki vrstici za njo

Tukaj je ena vrstica iz dnevne datoteke delnic. NVDA, petek, 7. junij 2024, zadnja trgovalna seja pred uveljavitvijo delitve 10 za 1.

Stolpec Vrednost
datum 2024-06-07
zaključna cena 1208.88
obseg 42,800,000 (zaokroženo)
faktor_delitve 1.0
dividenda 0.00
prilagojena_zaključna_cena 120.8781

Stolpce OHLC sem namenoma izpustil. Vrnili se bodo proti koncu, in prav ti povzročajo tihe napake.

Vse zanimivo v tej vrstici se skriva v razliki med drugim in šestim stolpcem. Trgovalni trak je 7. junija pokazal 1208.88. Te cene nihče nikoli več ne bo dosegel v smislu, da delnica, na katero se je nanašala, ne obstaja več kot enota. Vrednost 120.8781 je rekonstrukcija in ni zgolj 1208.88, deljeno z 10. Poglejmo stolpec za stolpcem.

10:1delitelj, uporabljen za vse predhodne vrstice
0.99991789faktor dividende, zabeležen dan pozneje
$90navidezna provizija za nakup in prodajo
5.6ppletni donosni odmik, ustvarjen z deliteljem

datum: 2024-06-07 in druga 2 datuma, ki sta pomembnejša

Delitev je bila objavljena 22. maja 2024 skupaj z rezultati poslovanja. Datum evidentiranja je bil 6. junij. Trgovanje na podlagi prilagojenih cen se je začelo v ponedeljek, 10. junija. 3 datumi, vaš ponudnik podatkov pa stolpec split_factor veže natanko na enega od njih, običajno na prvo sejo po prilagoditvi za delitev. Napaka za 1 dan je najpogostejša napaka pri obravnavi korporativnih dogodkov, kar jih poznam, in v skupnih rezultatih je ne opazite: vaša krivulja kapitala dobi en 90-odstotni padec ali en 900-odstotni skok v enem dnevu. Sharpe, izračunan na 2,000 dneh, ga komaj zazna, največji padec ali pravilo za izstop ob izgubi pa ga zagotovo.

Tudi pri dividendi je težava z datumom, ki se je leta 2024 spremenil vsem pred očmi. Datum evidentiranja četrtletne dividende NVDA po delitvi v višini $0.01 je bil 11. junij. Poravnava v ZDA se je 28. maja 2024 premaknila na T+1, kar pomeni, da sta zdaj datum brez pravice do dividende in datum evidentiranja isti dan. Vsak nalagalnik, ki datum brez pravice do dividende izračuna kot »en delovni dan pred datumom evidentiranja« — kar je desetletja držalo — je junija 2024 začel tiho ustvarjati prilagoditve dividend za sejo prezgodaj. Nič ne sproži napake. Faktor se preprosto pripiše napačni vrstici.

Koda za obravnavo korporativnih dogodkov nikoli ne odpove z izjemo. Vrne številko, ki odstopa za en dan in je videti povsem verjetna.

zaključna cena: 1208.88 — cena, ki je v datoteki ni

To je surovi borzni podatek in v večini raziskovalnih cevovodov obstaja le kot stolpec, ki ga nihče ne bere. Signali se izračunajo na podlagi adj_close. Vsako pravilo, ki uporablja dolarsko raven cene na delnico, se zdaj sklicuje na številko, ki je ni videl noben udeleženec na trgu.

Vztrajna rast NVDA proti $1,000 spomladi 2024 je bila resnična, za njo pa so stali resnični tokovi naročil: okrogle številke kot cenovni magneti, opcijski izvršilni tečaji, zgoščeni pri 950 in 1000, ter tveganje naslovnic ob vsakem približevanju. V prilagojenih podatkih se je ves ta dogodek odvijal pri $100. Če preizkušate vedenje ob psiholoških ravneh, logiko zapolnjevanja vrzeli blizu okroglih števil ali značilko bližine izvršilnega tečaja, jo preizkušate na cenovni seriji, ki jo je preračunal dogodek, ki se še ni zgodil.

Enako velja za filtre nabora instrumentov. »Izloči delnice pod $5« je smiseln približek za dejansko skupino težav mikrostrukture: široki relativni razmiki med nakupno in prodajno ceno, pravila glede primernosti za trgovanje z vzvodom in režimi najmanjšega koraka cene. Če to uporabite na prilagojeni zgodovini, izločite podjetja za obdobja, ko so se trgovala pri $30, nato pa so bila predmet obratne delitve. Če uporabite filter »cena nad $500«, boste NVDA tiho izločili iz vsakega leta pred junijem 2024. Cenovne filtre uporabljajte na neprilagojenih borznih podatkih. Konec.

faktor_delitve: 1.0 — in 0.1 v naslednji vrstici

Faktor je kumulativni produkt, ki se računa nazaj od danes. Vsaka vrstica pred 10. junijem 2024 vsebuje faktor 0.1 iz te delitve, pomnožen s faktorjem 0.25 iz delitve 4 za 1 leta 2021 in nato še s faktorji prejšnjih dogodkov. Zgodovina NVDA pred letom 2021 je preračunana s faktorjem 0.025, zato se svečka, ki je leta 2019 pokazala $200, prikaže kot $5.00.

Zapomnite si 2 posledici. Prvič, prilagojena zgodovina se spreminja vsakič, ko nastopi nov korporativni dogodek. Povratni test, ki ste ga izvedli maja 2024, in test, ki ga izvedete danes, dasta različne številke pri isti kodi in istih datumih. Če ste značilke shranili v predpomnilnik po simbolu in datumu, brez oznake različice podatkov, imate zdaj predpomnilnik, ki združuje 2 različni lestvici. Obdobje prilagoditve vključimo v različico ključa značilke prav iz tega razloga; ta lekcija nas je stala enega zelo zmedenega popoldneva.

Drugič, pri preračunu s faktorjem 0.025 se delnica, s katero se je trgovalo v korakih po $0.01, zdaj giblje v korakih po $0.00025. Vaša logika za zaokroževanje na korak cene, primerjave »ali je to nova najvišja vrednost« in preverjanja enakosti števil s plavajočo vejico: vse to zdaj deluje daleč pod ločljivostjo, ki jo je trg dejansko imel.

dividenda: 0.01 — številka, ki poruši centno mrežo vseh prejšnjih cen

En cent. Videti je kot šum, a prav zato adj_close kaže 120.8781 namesto lepo zaokroženih 120.888.

Zaključna cena 10. junija je bila 121.79. Faktor prilagoditve za datum brez pravice do dividende je (121.79 − 0.01) / 121.79 = 0.99991789. Ta faktor pomnoži vse cene pred 11. junijem, zato se vrednost 120.888, prilagojena za delitev, spremeni v 120.878074. Malo, a za vedno; faktor se znova uporabi pri vsakem od približno 60 datumov brez pravice do dividende v zgodovini NVDA. Pomembno je veriženje faktorjev: do leta 2015 se cena pomnoži z več deset takimi nekoliko iracionalnimi faktorji. Nobena zgodovinska prilagojena cena ni več na centni mreži.

To pomeni, da je vsaka primerjava == z okroglo ravnjo napačna, vsako preverjanje »ali smo dosegli omejeno ceno« potrebuje toleranco, rekonstruirane vrednosti OHLC pa po naivnem zaokroževanju na 4 decimalna mesta ne izpolnjujejo več pogoja najnižja ≤ začetna ≤ najvišja. Pomeni tudi, da je adj_close serija celotnega donosa, close pa serija cenovnega donosa. Če donose izračunate iz ene, največje padce pa iz druge, ste pomešali 2 različni opredelitvi dogajanja.

obseg: 42,800,000 — delitelj, ki ga ne uporabljajo vsi enako

Obseg delnic je treba pomnožiti z 10, da ga lahko primerjamo s sejami po delitvi. Nekateri ponudniki podatkov to naredijo. Drugi ne. Nekateri prilagodijo OHLC, obseg pa pustijo surov. To je najslabša možnost od vseh treh, ker je datoteka videti skladna, dokler ne pomnožite cene z obsegom.

Najbolje je, da ne uporabljate več obsega delnic kot značilke in namesto tega uporabite dolarski obseg, ki je po zasnovi nespremenljiv pri delitvah. Filter likvidnosti na podlagi povprečnega dolarskega obsega v 20 dneh ne potrebuje nobene logike prilagajanja in ga korporativni dogodek ne more pokvariti. Nespremenljivost značilk je boljša od pravilne kode za prilagajanje, ker je treba pri pravilni kodi za prilagajanje ves čas skrbeti, da ostane pravilna.

3 oblike datotek ponudnikov, 3 načini odpovedi.

Kaj vsebuje Kaj gre narobe
Samo prilagojena zaključna cena, surovi OHLC Logika vrzeli in gibanja znotraj seje računa z dvema cenovnima lestvicama
Prilagojeni OHLC, surovi obseg Dolarski obseg je napačen za faktor delitve; filtri povprečnega dnevnega obsega ne delujejo pravilno
Surovi OHLCV in stolpci s faktorji Nič, če jih uporabite. Vse, če jih uporabite za napačno vrstico

Stolpci, ki manjkajo: adj_open, adj_high, adj_low

Zdaj dodajmo še vrednosti OHLC. Če vir prilagodi samo zaključno ceno, vaša strategija pa izračuna nočno vrzel kot open / prev_adj_close − 1, bo 10. junija 2024 izračunala 120.37 / 120.8781 − 1, kar je v redu, približno −0.4 %. Isto kodo premaknite nazaj na 7. junij 2024 in izračunala bo začetno ceno iz surove datoteke (približno 1207), primerjano z zaključno ceno, prilagojeno s faktorjem 0.025 zaradi starejših delitev, ter vrzel v višini več tisoč odstotkov.

Vse, kar združuje surovi in prilagojeni stolpec, računa med dvema koordinatnima sistemoma. Mešana branja podatkov s prilagoditvami zdaj preverjam z uveljavitvijo pogoja na ravni nalagalnika, namesto da bi se moral tega spomniti raziskovalec, saj se raziskovalci tega ne bodo, vključno z mano.

Česa ne pove noben stolpec: koliko delnic bi dejansko kupili

Prav ta stvar ustvarja stroške v modelu stroškov povratnega testa in je razlog, da sploh pišem o delitvi delnice.

Provizije za ameriške delnice se pogosto obračunajo na delnico. Recimo $0.005, z najnižjo provizijo za naročilo $1.00, kar je pogost fiksni cenovni razred pri posrednikih za male vlagatelje. Zdaj opravite povratni test pozicije v NVDA v vrednosti $400,000 leto pred delitvijo, ko je bila surova cena blizu $400, prilagojena pa kaže $40.

Delnice Provizija
Dejansko stanje (surova cena $400) 1,000 $5.00
Kar vidi povratni test (prilagojena cena $40) 10,000 $50.00

Enaka izpostavljenost, ista transakcija, 10-krat višji modelirani strošek. To je $45 izmišljenega stroška na posamezen posel, $90 za nakup in prodajo, strategija z dnevnim trgovanjem pa tako porabi približno $22,000 letno za stroške, ki nikoli niso obstajali. Pri portfelju v vrednosti $400k to pomeni 5.6 odstotne točke letnega donosa, ki jih v celoti ustvari delitelj. Tu je rezultat slabši od resničnosti, kar je še znosno.

Pri obratnih delitvah je ravno obratno, kar je nevarno. Obratna delitev 1 za 10 pomeni, da prilagojena zgodovina kaže cene, ki so 10-krat višje, in število delnic, ki je 10-krat nižje od dejanskega. Vaš model stroškov tiho deli provizijo na delnico z 10. Obratne delitve so pogoste v svetu delnic z majhno tržno kapitalizacijo, pod $5 in s širokimi razmiki, kjer provizije na delnico predstavljajo največjo postavko stroškov. Povratni test torej polepša rezultate prav tistim delnicam, ki bi jih moral kaznovati.

Rešitev je preprosta in sistemska: pozicije določite v dolarjih, pretvorite jih v delnice z uporabo neprilagojene cene za tisti datum in provizije na delnico obračunajte za to število. Surovi cenovni stolpec naj za vedno ostane v nalagalniku, ne kot zapis za revizijo, temveč kot aktivni vhodni podatek za mehanizem izvedbe naročil.

  1. Signali in donosi: prilagojene serije.
  2. Število delnic, provizije na delnico, zaokroževanje na korak cene in filtri ravni cene: neprilagojene serije.
  3. Likvidnost in zmogljivost: dolarski obseg, ki ne potrebuje ne enega ne drugega.

6 stolpcev, 1 vrstica, 1 precej običajen korporativni dogodek, ki je bil objavljen 3 tedne vnaprej in ni nikogar presenetil. Trg ga je obdelal v enem dopoldnevu. Zvesto ga rekonstruirati v raziskovalnem cevovodu je precej težje, napaka v cevovodu pa se skoraj nikoli ne pokaže kot sporočilo o napaki.

korporativni dogodkiprilagoditev za delitevameriške delnicepodatkovni inženiringpovratno testiranje
← Vse objave