Strategia-agentti voi saastuttaa testijoukon, vaikka yhtäkään testiriviä ei päätyisi koulutusajoon. Jos agentti näkee testituloksen, muuttaa parametria ja ajaa testin uudelleen, tulos on jo vaikuttanut strategiaan. Koodissa ajanjaksoa saatetaan kutsua ”otoksen ulkopuoliseksi”. Tutkimusprosessi on kuitenkin ottanut sen mukaan hakuun.
Olen nähnyt näin käyvän helppouden vuoksi: agentti suorittaa erän, lukee yhteenvetotaulukon ja ehdottaa sitten pientä parannusta. Kukaan ei pyytänyt sitä sovittamaan mallia varalla pidettyyn dataan. Palautesilmukka teki sen silti.
Virhe 1: Agentin annetaan kurkata jokaisen ajon jälkeen
Jäljet näkyvät yleensä testijoukon Sharpen tasaisena nousuna pienin askelin. Agentti kokeilee 30 versiota, säilyttää parhaan ja kokeilee sitten 30 versiota sen ympäriltä. Jokainen yksittäinen muutos vaikuttaa järkevältä. Yhdessä ne muuttavat testijakson optimointikohteeksi.
Tässä yksinkertaistettu esimerkki. Oletetaan, ettei strategialla ole todellista etua ja testaat varalla pidetyllä aineistolla 100 toisistaan riippumatonta versiota. Jos valitset korkeimman Sharpen, voit hyvinkin saada sattumalta mairittelevan tuloksen. Strategiahaussa versiot eivät yleensä ole aidosti riippumattomia, mutta se ei pelasta prosessia: toistuva palaute suosii edelleen asetuksia, jotka sattuvat sopimaan varalla pidetyn aineiston erikoispiirteisiin.
Suojaa varalla pidetty aineisto tulosrajalla. Agentti voi kehittää strategiaa koulutus- ja validointijaksojen avulla, mutta se ei saa hakea varalla pidetyn aineiston mittareita tai kaavioita. Tee lopullinen arviointi erillisessä ajossa kerran sen jälkeen, kun tutkimusvalinnat on lukittu, ja tallenna tuloksen yhteyteen strategian versio ja dataotos.
Virhe 2: Jokaisen myöhemmän ajanjakson kutsuminen tuoreeksi
Ajanjakso ei ole tuore vain siksi, että se sijoittuu koulutusikkunan jälkeen. Jos agentti on nähnyt siitä tuloksen tai ihminen on vaihtanut ominaisuutta sen perusteella, että näki sen maksimitappion, ajanjakso on jo mukana palautesilmukassa.
| Jakso | Sallittu käyttö | Mikä muuttaa sen asemaa |
|---|---|---|
| Koulutus | Sääntöjen ja parametrien sovittaminen | Ei mikään; sitä kuuluukin tutkia |
| Validointi | Ehdokkaiden vertailu ja tutkimuspäätökset | Toistuva käyttö helpottaa ylisovittamista |
| Lopullinen varalla pidetty aineisto | Lukitun ehdokkaan kertaluonteinen arviointi | Tuloksen lukeminen ja ehdokkaan muuttaminen |
| Tuleva paperikaupankäyntijakso | Toteutuksen toiminnan seuraaminen etukäteen | Tulosten käyttäminen säätämiseen käynnistää uuden tutkimusjakson |
Rullaava walk-forward-arviointi voi auttaa arvioimaan, miten kiinteä tutkimusprosessi toimii ajan mittaan. Se ei anna rajatonta lupaa kurkata jokaisen osan tuloksia. Jos agentti näkee osien tulokset ja mukauttaa hakuaan, myös ne osat ovat palautetta. Säilytä yksi lopullinen, koskematon ajanjakso sitä päätöstä varten, jonka todella haluat tehdä.
Virhe 3: Koodin lukitseminen mutta kysymyksen muuttaminen
Joskus strategian koodi pysyy samana, mutta tutkija muuttaa arviointia tuloksen nähtyään: vaihtaa vertailuindeksiä, jättää heikon kuukauden pois, raportoi eri markkinajoukosta tai keskittyy mittariin, joka näyttää vahvimmalta. Testijoukko on ohjannut tulkintaa, vaikka parametri ei muuttunut.
Jäljet näkyvät viimeistellyssä raportissa, jossa on yksi siisti päätulos eikä merkintää muista kokeilluista näkymistä. Osakestrategia voi näyttää heikolta laajaa markkinaindeksiä vasten mutta vahvalta käteiseen verrattuna; kryptostrategia voi loistaa yhdellä kaupankäyntipaikalla sen jälkeen, kun useita paikkoja on tarkasteltu. Vertailuista voi olla hyötyä, mutta niiden välillä valitseminen varalla pidetyn aineiston tuloksen nähtyäsi on jälleen yksi valintavaihe.
Pidä tutkimuslokia. Tallenna jokaisesta ajosta hypoteesi, koodiversio, dataotos, parametrien haku, arviointi-ikkunat, pyydetyt mittarit sekä tieto siitä, näkikö agentti tai tutkija tuloksen. Tiivis loki on hyödyllisempi kuin viimeisen päälle uskottavalta kuulostava ”otoksen ulkopuolinen” -merkintä.
Määrittele sitten lopullinen kysymys ennen arviointia: mikä ehdokas, mikä markkinajoukko, mikä vertailuindeksi, mitkä kulut ja mitkä mittarit? Jos vastaus muuttuu tuloksen saavuttua, käsittele seuraavaa ajoa tutkimuksena ja varaa uutta dataa seuraavaa lopullista tarkistusta varten.
Mitä voin vielä oppia saastuneesta varalla pidetystä aineistosta?
Se ei ole hyödytön. Sen avulla voi nähdä, miten strategia toimi kyseisellä ajanjaksolla, ja selvittää epäonnistumisen syitä. Älä vain enää esitä sen tulosta riippumattomana vahvistuksena. Käytä sitä kehitystyön näyttönä, lukitse seuraava ehdokas ja arvioi se aidosti tulevalla paperikaupankäyntijaksolla samoilla kirjanpito- ja toteutusoletuksilla.
Agenttivetoisessa työnkulussa kokeiden määrän kadottaa helposti näkyvistä: yksi kehote voi synnyttää kymmeniä ajoja ennen kuin kukaan huomaa. Suojaus on menettelytavoissa. Rajoita, mitä agentti voi tarkastella, kirjaa jokainen koe ja pidä yksi arviointi, jonka tulos ei voi ohjata arvioitavana olevaa ehdokasta.
← Kaikki kirjoitukset

