1. september 2026 · ettevõtte sündmused

Jagatud aktsiatega andmed lahti võetuna: mida NVDA 10:1 split iga reaga teeb

Jagatud aktsiatega andmed lahti võetuna: mida NVDA 10:1 split iga reaga teeb

Siin on üks rida päevastest aktsiaandmetest. NVDA, reede, 7. juuni 2024, viimane kauplemissessioon enne 10:1 spliti jõustumist.

Veerg Väärtus
kuupäev 2024-06-07
sulgemishind 1208.88
maht 42,800,000 (ümardatud)
spliti_tegur 1.0
dividend 0.00
korrigeeritud_sulgemishind 120.8781

Jätsin OHLC-veerud sihilikult sellest vaatest välja. Need tulevad lõpu poole tagasi ja just need tekitavad märkamatult probleeme.

Kõik huvitav selles reas peitub teise ja kuuenda veeru vahes. 7. juunil näitas tehingute voog hinda 1208.88. Selle hinnaga ei saa enam kunagi tehingut teha, sest aktsiaühikut, millele see hind käis, pole enam olemas. 120.8781 on rekonstruktsioon ja see pole lihtsalt 1208.88 jagatud kümnega. Vaatame veerud ükshaaval läbi.

10:1iga varasema rea puhul rakendatud jagaja
0.99991789päev hiljem märgitud dividenditegur
$90väljamõeldud komisjonitasu edasi-tagasi tehingu kohta
5.6ppjagaja tekitatud aastane tootluspidur

kuupäev: 2024-06-07 ja 2 muud kuupäeva, mis on veel tähtsamad

Splitist teatati koos majandustulemustega 22. mail 2024. Registrikuupäev oli 6. juuni. Spliti järgi korrigeeritud alustel algas kauplemine esmaspäeval, 10. juunil. 3 kuupäeva, aga sinu andmepakkuja split_factor veerg asetab selle täpselt ühele neist, tavaliselt esimesele spliti järgi korrigeeritud sessioonile. Ühe päeva võrra nihkes kuupäev on kõige levinum ettevõtte sündmustega seotud viga, mida näen, ja koondandmetest seda ei märka: omakapitali kõverasse tekib ühel päeval kas 90% hinnalõhe allapoole või 900% hinnalõhe ülespoole. Sharpe'i suhtarv 2,000 päeva põhjal vaevalt reageerib, kuid maksimaalne langus või stop-loss-reegel küll.

Dividendiga kaasneb omaette kuupäevaprobleem, mis muutus 2024. aastal kõigi jaoks. NVDA spliti järel oli kvartaalne dividend $0.01 ja selle registrikuupäev 11. juuni. USA arveldusperiood muutus 28. mail 2024 kujule T+1, mis tähendab, et dividendivaba kuupäev ja registrikuupäev langevad nüüd samale päevale. Iga laadija, mis tuletab dividendivaba kuupäeva valemiga „registrikuupäev miinus 1 tööpäev” — mis oli aastakümneid õige — hakkas 2024. aasta juunis märkamatult dividendikorrigeeringut sessiooni võrra liiga vara rakendama. Midagi ei lähe katki. Tegur satub lihtsalt valele reale.

Ettevõtte sündmustega seotud kood ei kuku kunagi veaga läbi. Tulemuseks on ühe päeva võrra nihkes number, mis näib täiesti usutav.

sulgemishind: 1208.88 — hind, mida failis pole

See on töötlemata tehinguhind ja enamikus uurimistöö torustikes on see vaid veerg, mida keegi ei loe. Signaale arvutatakse adj_close põhjal. Iga reegel, mis kasutab dollaris väljendatud aktsiahinda, viitab nüüd numbrile, mida ükski turuosaline ei näinud.

NVDA tõus $1,000 lähedale 2024. aasta kevadel oli päris sündmus, mille taga oli päris order flow: ümmargused hinnatasemed tõmbasid ligi, optsioonide täitmishinnad kuhjusid 950 ja 1000 juurde ning iga lähenemine tõi kaasa uudisteriski. Korrigeeritud andmetes toimub kogu see episood $100 juures. Kui testid psühholoogiliste hinnatasemete käitumist, hinnalünkade täitumise loogikat ümmarguste hindade lähedal või täitmishinna lähedusel põhinevat tunnust, testid seda hinnaseeriaga, mille skaala muutis sündmus, mida polnud veel juhtunud.

Sama kehtib aktsiate valikufiltrite kohta. „Jäta alla $5 hinnaga aktsiad välja” on mõistlik asendusnäitaja päris mikroturu probleemidele: suured suhtelised hinnavahed, tagatisnõuded ja hinnasammu reeglid. Korrigeeritud ajaloo põhjal jättad ettevõtted välja perioodidel, mil nende aktsiad maksid $30 ja hiljem tehti pöördsplit. Kui kasutad filtrit „hind üle $500”, jääb NVDA märkamatult välja kõigi aastate puhul enne 2024. aasta juunit. Hinnafiltreid tuleb rakendada korrigeerimata tehinguhindadele. Punkt.

spliti_tegur: 1.0 — ja järgmise rea 0.1

Tegur on tänasest tagasi arvutatav kumulatiivne korrutis. Iga 10. juunile 2024 eelnev rida kannab selle spliti tõttu tegurit 0.1, mis korrutatakse 2021. aasta 4:1 spliti teguriga 0.25 ja kõigele sellele eelnenuga. NVDA 2021. aasta eelset ajalugu korrutatakse 0.025-ga, nii et 2019. aastal hinnaga $200 kaubelnud küünal kuvatakse hinnaga $5.00.

Pea meeles 2 tagajärge. Esiteks muutub korrigeeritud ajalugu iga kord, kui toimub uus ettevõtte sündmus. 2024. aasta mais käivitatud järeltest ja täna käivitatud järeltest annavad sama koodi ja samade kuupäevade puhul erinevad numbrid. Kui salvestasid tunnused vahemällu väärtpaberi tunnuse ja kuupäeva järgi, andmeversiooni märkimata, sisaldab vahemälu nüüd kahte eri skaalat. Just sel põhjusel lisame tunnuse võtmesse korrigeerimise ajastu versiooni; selle õppimine läks meile maksma ühe väga segase pärastlõuna.

Teiseks liigub aktsia, millega kaubeldi $0.01 hinnasammuga, 0.025 kordse skaleerimise korral nüüd $0.00025 kaupa. Hinnasammule ümardamise loogika, „kas see on uus tipp” võrdlused ja ujukomaarvude võrdlemine võrdsuse alusel: kõik need töötavad nüüd täpsusest palju väiksemate väärtustega, kui turg tegelikult võimaldas.

dividend: 0.01 — arv, mis kaotab kõigi varasemate hindade sendiruudustiku

1 sent. See tundub tühine, kuid just seepärast adj_close on 120.8781, mitte ümmargune 120.888.

10. juuni sulgemishind oli 121.79. Dividendivaba päeva tegur on (121.79 − 0.01) / 121.79 = 0.99991789. See tegur korrutab iga 11. juunile eelneva hinna, nii et spliti järgi korrigeeritud 120.888 muutub väärtuseks 120.878074. Väike, püsiv ja rakendub uuesti kõigil kuuekümnel või enamal dividendivabal päeval NVDA ajaloos. Oluline on kumulatiivne mõju: 2015. aasta hind on korrutatud kümnete peaaegu suvaliste teguritega. Ükski korrigeeritud ajalooline hind ei asu enam sendiruudustikul.

See tähendab, et iga == võrdlus ümmarguse hinnatasemega on väär, iga kontroll „kas hind puudutas limiithinda” vajab tolerantsi ja rekonstrueeritud OHLC ei täida pärast lihtsat 4 komakohani ümardamist enam tingimust, et madalaim hind ≤ avamishind ≤ kõrgeim hind. Samuti tähendab see, et adj_close on kogutootluse seeria, samas kui close on hinnatootluse seeria. Kui arvutad tootluse ühest ja langused teisest, oled kokku seganud 2 erinevat käsitlust toimunu kohta.

maht: 42,800,000 — jagaja, mida rakendatakse ebaühtlaselt

Spliti-järgsete sessioonidega võrdlemiseks tuleb aktsiate maht korrutada 10-ga. Mõned andmepakkujad teevad seda. Mõned mitte. Mõned korrigeerivad OHLC-hindu ja jätavad mahu algseks. See on halvim variant, sest fail näib sisemiselt kooskõlaline, kuni korrutad hinna mahuga.

Kõige mõistlikum on lõpetada aktsiate mahu kasutamine tunnusena ja kasutada dollarites väljendatud mahtu, mis on splittide suhtes juba oma olemuselt muutumatu. 20 päeva keskmisel dollarimahul põhinev likviidsusfilter ei vaja üldse korrigeerimisloogikat ja ettevõtte sündmus ei saa seda rikkuda. Tunnuste muutumatus on parem kui korrektne korrigeerimiskood, sest korrektse korrigeerimiskoodi puhul pead pidevalt õigesti tegutsema.

3 andmepakkuja faili kuju, 3 veaviisi.

Faili sisu Mis läheb katki
Ainult korrigeeritud sulgemishind, algsed OHLC-hinnad Hinnalünga- ja päevasisene loogika arvutab kahe hinnaskaala alusel
Korrigeeritud OHLC-hinnad, algne maht Dollarimaht on spliti suhtarvu võrra vale; ADV-filtrid annavad valesid tulemusi
Algne OHLCV koos teguriveergudega Mitte midagi, kui rakendad tegureid. Kõik, kui rakendad need valele reale

Puuduvad veerud: korrigeeritud avamishind, kõrgeim hind ja madalaim hind

Lisame nüüd OHLC tagasi. Kui andmevoog korrigeerib ainult sulgemishinda ja sinu strateegia arvutab üleöö hinnalünga kujul open / prev_adj_close − 1, siis 10. juunil 2024 arvutatakse 120.37 / 120.8781 − 1, mis annab täiesti sobiva tulemuse, ligikaudu −0.4%. Kui käivitad sama koodi tagasi 7. juunile 2024, kasutab see algse faili avamishinda (umbes 1207) ja varasemate splittide tõttu 0.025-ga korrigeeritud sulgemishinda ning tulemuseks on mitme tuhande protsendiline hinnalünk.

Iga arvutus, mis segab algset ja korrigeeritud veergu, käib kahe koordinaatsüsteemi vahel. Nüüd käsitlen eri viisil korrigeeritud veergude lugemist laadija tasemel kontrollina, selle asemel et eeldada, et uurija peab seda meeles pidama, sest ta ei pea — ka mina mitte.

Mida ükski veerg ei ütle: mitu aktsiat oleksid tegelikult ostnud

Just see mõjutab järeltesti kulumudelit ja seetõttu ma sellest spliti kohta kirjutangi.

USA aktsiatega kauplemisel võetakse komisjonitasu sageli aktsia kohta. Oletame, et tasu on $0.005 aktsia kohta ja orderi miinimumtasu $1.00, mis on tavapärane püsitasu jaeinvestori maaklerikontol. Testi nüüd $400,000 väärtuses NVDA positsiooni aasta enne splitti, kui algne hind oli umbes $400 ja korrigeeritud hind kuvatakse kui $40.

Aktsiaid Komisjonitasu
Tegelik olukord (algne hind $400) 1,000 $5.00
Mida järeltest näeb (korrigeeritud hind $40) 10,000 $50.00

Sama positsiooniväärtus, sama tehing, mudeli arvutatud kulu on 10 korda suurem. See on $45 fiktiivset kulu tehingusuuna kohta ja $90 edasi-tagasi tehingu kohta; iga päev tehinguid tegev strateegia kulutab umbes $22,000 aastas kuludele, mida tegelikult polnud. $400k portfelli puhul tähendab see 5.6 protsendipunkti aastast tootlust, mille tekitas täielikult jagaja. Siin muudab see sinu tulemuse tegelikust halvemaks, mis on üleelatav.

Pöördsplitid mõjuvad vastupidi ja see suund on ohtlik. 1:10 pöördsplit tähendab, et korrigeeritud ajalugu näitab hindu 10 korda kõrgemana ja aktsiate arvu 10 korda väiksemana kui tegelikult oleksid kaubelnud. Kulumudel jagab aktsiapõhise komisjonitasu märkamatult kümnega. Pöördsplitid on levinud väikese kapitalisatsiooniga, alla $5 ja suure hinnavahega aktsiate seas, kus aktsiapõhised tasud moodustavad kulude suurima üksiku rea. Järeltest annab eelise just neile aktsiatele, mida peaks karistama.

Lahendus on lihtne ja süsteemne: määra positsiooni suurus dollarites, teisenda see aktsiateks, kasutades selle kuupäeva korrigeerimata hinda, ning arvuta aktsiapõhised tasud selle arvu järgi. Hoia algse hinna veerg laadijas alatiseks alles — mitte auditi jaoks, vaid täitmismootori aktiivse sisendina.

  1. Signaalid ja tootlus: korrigeeritud seeria.
  2. Aktsiate arv, aktsiapõhised tasud, hinnasammule ümardamine ja hinnataseme filtrid: korrigeerimata seeria.
  3. Likviidsus ja positsioonivõimekus: dollarimaht, mis ei vaja kumbagi.

6 veergu, 1 rida, üsna tavaline ettevõtte sündmus, millest teatati 3 nädalat ette ja mis ei üllatanud kedagi. Turg tuli sellega toime ühe hommikuga. Selle täpne rekonstrueerimine uurimistöö torustikus on palju raskem ja märgid, et torustik on läbi kukkunud, ei väljendu peaaegu kunagi veateatena.

ettevõtte sündmusedspliti korrigeerimineUSA aktsiadandmetöötlusjäreltestimine
← Kõik postitused