Epärealistinen osuus backtestissä on se, että salkun ja positiokoon kasvaessa ostettaisiin aika isoja määriä samaa osaketta, ja epäilen että slippagea pitäisi varmaan kasvattaa.
Minulla on mahdollisuus ajaa myös tuo Monte Carlo mutta en ole vielä niin hyvin perillä sen tarkoituksesta että osaisin arvioida millä asetuksilla se pitäisi ajaa, tai osaa tulkita tuloksia. Täytyy tutustua mm. tähän lisää.
Ja tärkeänä tietona tietenkin myös se että kaupat on tehty 100% käteisellä ja marginaalia ei ole testin kaupoissa käytetty.
Riippuu paljolti siitä miten hyvin backtestit on toteutettu. Nopeasti ei kovin hyvää varmuutta ole saatavissa algoritmin hyvyydestä. Ehkä laskisin ensin 10 vuoden tuloksista vaikka kuukausittaiset ylituotot ja näiden keskihajonnan.
Sitten vaan varsinainen testijakso treidauksen osalta käyntiin. Jos backtestitn ylituotto on vaikka 2,0% kuukaudessa ja keskihajonta on 3,0% niin 68% kuukausista pitäisi osua välille (-1,0%, +5%). Tuosta on ihan hyvä lähteä liikkeelle ja antaa osviittaa suoriutumisesta.
Tuottokuvio on vähän tuollainen hömppä yksinkertaistus, jonka avulla on vain tarkoitus havainnollistaa tuottoa. Tässä kaikki havainnot on laitettu peräkkäin suunnilleen aikajärjestyksessä ja sijoitetaan, kun ennuste on yli 0%.
Alla mallia on opetettu vähän enemmän, jonka jälkeen ennusteiden ja ennustevirheen vaihteluväli pienenee merkittävästi. Positiivisia ennusteita on enemmän ja ennusteiden suuntaa ennustetaan vähän tarkemmin.
Ensimmäinen kuvio on lauantailta ja alla oleva tiistailta. Kehityksen suunta on aika samanlainen kuin edellisessä. Vaikuttaa kuitenkin, että jatkossa kehitys hidastuisi.
Ei ollut täysin out-of-sample, mutta osittain kuitenkin. Tulokset on kuitenkin ihan vastaavia kuin testaamani DAX yhtiöiden ennusteet, joita ei ollut käytetty opetuksessa lainkaan.
Y-akselin yksikkö Ennuste, Ennustevirhe ja Suunta oikein kaavioissa on %. Ennustevirhe viimeisessä alimmillaan n. 1,4 prosenttiyksikköä
X-akselilla on kaikki havainnot sortattuna ennusteen perusteella pienimmästä suurimpaan. Yhteensä suunnilleen 100 osaketta * 10 vuotta * 251 päivää/vuosi = 251 000. Käytännössä kuitenkin jonkun verran vähemmän.
Poikkeuksena Tuotossa on suunnilleen aikajärjestys ja alkusalkuksi asetettu 1$, joka kasvaisi tuonne 10^28$.
Ennustetaan toistaiseksi ainoastaan yksittäistä päivää.
Mallin paremetreja on nyt toi 5,8 miljoonaa. Tässä välissä testailin 3,3 miljoonan parametrin mallia, mutta päätin kuitenkin vähän nostaa määrää. Opetuksessa käytettävien tokenien määrää en ole laskenut, mutta kasvatan sitä nyt koko ajan.
Edelleen mennään character-tason tokenisoinnilla, joita on yhteensä 582. Testinä näistä puolet on yhden päivän tuotoille ja toinen puolisko 1-200 päivän tuotoille
Ihan kiinnostavilta nää tulokset näyttää, mutta vaativat kyllä kaveriksi hyvän strategian ja halvat kaupankäyntikustannukset.
Alla muutaman osakkeen pidemmän aikavälin ennusteita. Kuvioissa 150. päivän kohdalla tehdään ennuste seuraavalle 50 päivälle.
Noi on tuossa vähän sarjakuva tyyliin. Seuraavan ruudun ennuste tehdään aina mihin edellisen ruudun ennustejakso loppuu (AMZN 0 → AMZN 1 … → AMZN 5). Viimeisen ruudun ennustejakso päättyy nykyhetkeen.
Melkoiset systeemit rakennetaan pienten marginaalien hyödyntämiseksi.
" XTX Markets
– Ostaa ja myy osakkeita, valuuttoja, velkakirjoja, raaka-aineita ja optioita yli 80 markkinapaikalla.
– Etsii markkinoiden tehottomuudesta johtuvia hyvin pieniä ja vain sekunnin osia kestäviä hintaeroja.
– Sama tuote voi olla eri puolilla maailmaa eri hintainen, ja XTX:n monimutkaiset algoritmit tunnistavat tällaiset tilanteet.
– Yhtiöllä ei ole yhtään ihmismeklaria, vaan kaikki kaupat tekee kone.
– Päivittäinen kaupankäyntisumma on lähes 300 miljardia Yhdysvaltain dollaria.
– Liikevoitto oli vuonna 2022 1,1 miljardia puntaa ja vuonna 2023 835 miljoonaa puntaa. "
Oletko testannut ja saanut hyviä tuloksia GRU layereitä käyttävillä malleilla? Olen käyttänyt muutamissa aikasarjoihin liittyvissä projekteissa ja todennut aika hyväksi.
Eipä ole tullut testailtua aikaisemmin. Niillä näyttäisi tulevan ihan hyviä tuloksia muutaman paperin perusteella, joten vaikuttaa ihan tutustumisen arvoisilta.
RNN:t tai niiden variantit kuten GRU:t ja LTSM:t ovat varmasti ihan passeli ratkaisu, jos esim. opetusdata ja laskentakapasiteetti asettavat rajoituksia. RNN:t olivat kuitenkin sekvenssidatan opetuksen sota-malleja sen reilu kymmenen vuotta ennen transformereita. Siksi löytynee myös muita uudempia malleja paremmin tutkimusta.
Selvää lienee kuitenkin jo nyt se, että transformerilla tai muilla uudemmilla malliarkkitehtuureilla on mahdollisuus oppia sellaisia säännönmukaisuuksia, jota RNN:illä jää mallien yksinkertaisuuden vuoksi oppimatta.
Totta, transformerit mahdollistaa paljon pidemmän ”muistin” ja siten riippuvuudet paljon kaukaisempiin tapahtumiin datassa huomioidaan paremmin. Mikäli datasetti on pieni ja haluaa testata yksinkertaista mallia lyhyille aikasarjoille, niin LSTM/GRU ovat ihan toimivia edelleen. Näistä melko paljon tuoreitakin julkaisuja ongelmissa joihin ne sopivat luontaisesti paremmin. Transformerit parempia, mutta monimutkaisempia toteuttaa.
pohdiskelin, et voiskohan kielimallista olla hyötyä perussijottajille enempi, jos analyysiin pohjautuvaa dataa sais jotenkin kuratoitua ensin? esim jonkun uutis / makro databasen kautta.
vähänniinkuin cursor tekee koodauksessa, mut tää toimis sijotustiedossa.
Cursor toimii kahta kautta erityisen hyvin koodaukseen
Koska se on fine-tunattu massiivisella määrällä koodia nimenomaan koodauksen downstream-taskeihin
Sen voi kytkeä RAGaamaan esim. organisaation omaa code basea
Periaattessa kohdan 2. voisi toteuttaa jonkun frontier-mallin kanssa. Mutta silti ei ole odotettavissa talousanalyysiin yhtä hyviä tuloksia kuin Cursorilla koodaukseen, koska 1. pitäisi tehdä myös siten, että viritetään alla oleva LLM nimenomaan ymmärtämään talousanalyysia geneeristä mallia paremmin.
Yllä oleva on jossain määrin toki spekulaatiota, koska mallista ja sen treenauksesta ei kerrota juuri mitään. Mutta yleiskokemuksen perusteella on oletettavaa, että yllä oleva pitää paikkaansa.
Voi taas olla et noi nykyset mallit ei pääse täyteen potentiaaliin analyysissa, koska 1. niil ei aina oo ajankohtasinta dataa ja 2. sekin data joka niillä on sotkeutuu kohinaan