Maanantaina AI-tutkimusagenttimme löysi kryptofutuuristrategian, jonka Sharpe-luku oli 4.1. Torstaihin mennessä, kun olimme laskeneet kokeet ja estäneet agenttia säätämästä strategiaa samaa validointi-ikkunaa vasten, tulos oli 0.8. Strategia ei ollut muuttunut. Käsityksemme siitä, mitä haku oli saanut aikaan, oli.
Pidimme tästä pientä tutkimuspäiväkirjaa, koska ”optimoi huolellisesti” on helppo neuvo antaa mutta vaikea toteuttaa käytännössä, kun agentti pystyy kirjoittamaan koodia, käynnistämään jälkitestejä, tarkastelemaan tulosta ja yrittämään uudelleen muutamassa minuutissa. Tässä on järjestyksessä, mikä meni pieleen.
Maanantai: Rajaa agentille selkeä kysymys
Pyysimme agenttia testaamaan yksinkertaista tuntitason trendi-ideaa likvidillä jatkuvien futuurien markkinalla: avaa positio, kun lyhyen aikavälin liukuva keskiarvo leikkaa pitkän aikavälin keskiarvon, mitoita positio kiinteän volatiliteettitavoitteen mukaan ja sulje se vastakkaisen signaalin tullessa. Määrittelimme instrumentin, päivämäärät, palkkioaikataulun, rahoitushistorian, toteutusoletuksen ja parametriarvot, joita se sai tutkia.
Historiallinen otos kattoi vuodet 2021–2025. Jaoimme vuodet 2021–2023 kehitysjaksoon ja vuoden 2024 validointijaksoon, ja pidimme vuoden 2025 suljettuna lopullisena holdout-otoksena. Jako kirjattiin työn asetuksiin, joten agentti pystyi lukemaan kehitysjakson tulokset ja validointipisteet, mutta ei saanut haettua holdout-otoksen tuottoja.
Ensimmäinen virheemme oli sallia 300 parametrikombinaatiota yhdessä työssä kirjaamatta hakubudjettia tutkimustulokseksi. Agentti palautti parhaan tuloksen: lyhyen aikavälin keskiarvo 9 tunnilta, pitkän aikavälin keskiarvo 73 tunnilta ja volatiliteettitavoite 0.8%. Sen Sharpe-luku validointijaksolla oli 4.1. Tiesimme, että agentti oli kokeillut monia asetuksia. Emme vielä olleet tehneet tuota tosiasiaa mahdottomaksi unohtaa.
Tiistai: Voittaja vaihtui, kun ajoimme kokeen uudelleen
Ajoimme saman työn uudelleen puhtaassa ympäristössä. Paras asetus vaihtui, ja sen Sharpe putosi 2.7:ään. Markkinadatan välimuisti oli toimittanut ensimmäisellä ajolla päivitetyn rahoitussarjan, kun taas uudelleenajo käytti lukittua tilannekuvaa. Molemmat työt väittivät käyttävänsä samaa ajanjaksoa, mutta vain toisessa dataversio oli toistettavissa.
Lopetimme pisteiden vertailun ja aloimme kirjata koko kokeen: koodiversion, datatilannekuvan, palkkiot, rahoituksen, toteutusasetukset, parametriarvot sekä jokaisen agentin käynnistämän kokeen. Näin selvisi, ettei 4.1 ollut mikään mystinen markkinaetu. Se kuului yhdelle asetukselle haussa, jossa tehtiin 300 yritystä saman validointivuoden aineistolla.
Keskiviikko: Jäädytä haku ennen holdout-otoksen avaamista
Ajoimme kokeen uudelleen kiinteällä datatilannekuvalla ja pienemmällä, ennalta määritellyllä ruudukolla: 24 kombinaatiota. Agentti sai asettaa ne paremmuusjärjestykseen vuosien 2021–2023 kehitysjakson perusteella. Annoimme sen tarkastella vuotta 2024 kerran valintaa varten, minkä jälkeen lukitsimme valitut asetukset ja koodin.
Valitun strategian Sharpe validointijaksolla oli 0.8. Suljetussa vuoden 2025 holdout-otoksessa se sai arvon 0.3, kun mukaan laskettiin taker-palkkiot, rahoitus ja koko tutkimuksessa käytetty yhden palkin toteutusviive. Se oli hyödyllinen vastaus. Se ei ollut näyttöä siitä, että strategia tuottaisi voittoa live-tilillä.
Sivuhuomio tältä viikolta: käytimme enemmän aikaa sen sopimiseen, mitä ”yksi koe” tarkoittaa, kuin liukuvien keskiarvojen koodin kirjoittamiseen. Laskimme kokeeksi muuttuneen parametrikokonaisuuden ja laskimme mukaan myös ajot, joissa signaali tai mitoitussääntö muuttui. Uusi datatilannekuva tai toteutusoletus sai oman ajotietueensa, koska se saattoi muuttaa järjestystä yhtä lailla.
Torstai: Mitä jättäisimme ensi kerralla väliin
Jättäisimme avoimeksi jäävän ensimmäisen työn väliin. Tutkimusagentti tarvitsee hakubudjetin ja kirjauksen siitä, mitä se kokeili, etenkin kun se voi käyttää jokaista tulosta seuraavan kokeen valintaan. Myös holdout-otos pitää suojata epämuodolliselta kurkistelulta: kun joku lukee sen tuloksen ja muuttaa strategiaa, otoksesta tulee uusi validointijoukko.
Pienessä haussa käytännöllinen kokeiden seurantataulukko voi olla yksinkertainen ja selkeä:
| Kirjattava asia | Miksi sillä on merkitystä |
|---|---|
| Koodi- ja dataversiot | Jotta uudelleenajo käyttää samoja syötteitä ja samaa logiikkaa |
| Jokainen kokeiltu versio | Jotta voittaja ymmärretään haun laajemmassa yhteydessä |
| Kehitys-, validointi- ja holdout-jaksojen roolit | Jotta lopullista pistemäärää ei käytetä huomaamatta uudelleen säätämiseen |
| Palkkiot, rahoitus ja toteutusoletukset | Jotta raportoitu tulos kuvaa testattavaa simulaatiota |
Kun holdout-otos on avattu, palaa kehitysjaksoon uuden tutkimuskysymyksen kanssa ja säilytä vanha tulos historiallisena näyttönä. Älä jatka saman strategian hiomista ajanjaksolla, jonka se on jo nähnyt.
Agentti teki työnsä: se haki nopeasti ja löysi asetuksen, jota kannatti tutkia. Meidän tehtävämme oli tehdä hausta läpinäkyvä, säilyttää koskematon testijakso ja käsitellä tulosta mittauksena, jolla on oma historiansa. Kiinnostava tulos ei ollut 4.1 eikä 0.3. Kiinnostavaa oli nähdä tarkalleen, miten ensimmäinen luku syntyi.
← Kaikki kirjoitukset


