2026 m. spalio 17 d. · tyrimai

Leidome DI tyrimų agentui optimizuoti strategiją. Dienoraštis buvo ne toks įspūdingas.

Leidome DI tyrimų agentui optimizuoti strategiją. Dienoraštis buvo ne toks įspūdingas.

Pirmadienį mūsų DI tyrimų agentas rado kriptovaliutų ateities sandorių strategiją, kurios Sharpe rodiklis siekė 4.1. Iki ketvirtadienio, suskaičiavę eksperimentus ir nebeleidę agentui derinti parametrų pagal tą patį validavimo laikotarpį, gavome 0.8. Strategija nepasikeitė. Pasikeitė mūsų vertinimas, ką paieška iš tiesų pasiekė.

Tai vykdėme kaip nedidelį tyrimų dienoraštį, nes patarti „optimizuoti atsargiai“ lengva, o paversti šį patarimą praktika sunku, kai agentas gali rašyti kodą, paleisti istorinius testus, peržiūrėti įvertį ir po kelių minučių bandyti iš naujo. Štai kas sugedo ir kokia tvarka.

Pirmadienis: pateikiame agentui aiškiai apibrėžtą užduotį

Paprašėme agento išbandyti paprastą valandinę tendencijos strategiją likvidžioje neterminuotų ateities sandorių rinkoje: atidaryti poziciją, kai trumpasis slankusis vidurkis kerta ilgesnįjį, nustatyti pozicijos dydį pagal fiksuotą volatilumo tikslą ir uždaryti ją gavus priešingą signalą. Nurodėme instrumentą, datas, komisinių tvarką, finansavimo istoriją, vykdymo prielaidą ir parametrų ribas, kurias jis galėjo tyrinėti.

Istorinė imtis apėmė laikotarpį nuo 2021 iki 2025 metų. 2021–2023 m. skyrėme kūrimui, 2024 m. – validavimui, o 2025 m. palikome užrakintą galutiniam patikrinimui. Šis padalijimas buvo įrašytas į užduoties konfigūraciją, todėl agentas galėjo matyti kūrimo rezultatus ir validavimo įverčius, bet negalėjo gauti galutinio patikrinimo laikotarpio grąžų.

Pirmoji mūsų klaida buvo leisti vienoje užduotyje išbandyti 300 parametrų derinių, neįtraukiant paieškos biudžeto į tyrimo rezultatus. Agentas pateikė geriausią variantą: 9 valandų trumpąjį vidurkį, 73 valandų ilgąjį vidurkį ir 0.8% volatilumo tikslą. Jo validavimo Sharpe rodiklis siekė 4.1. Žinojome, kad agentas išbandė daug nustatymų. Tačiau dar nebuvome užtikrinę, kad šio fakto būtų neįmanoma pamiršti.

Antradienis: pakartojus bandymą nugalėtojas pasikeitė

Tą pačią užduotį pakartojome švarioje aplinkoje. Geriausias nustatymas pasikeitė, o Sharpe rodiklis nukrito iki 2.7. Pirmojo bandymo metu rinkos duomenų talpykla pateikė atnaujintą finansavimo duomenų seką, o pakartotiniame bandyme naudota užfiksuota kopija. Abiejose užduotyse buvo nurodytas tas pats datų intervalas, tačiau tik vienoje buvo naudojama atkuriama duomenų versija.

Nustojome lyginti įverčius ir pradėjome fiksuoti visą eksperimentą: kodo versiją, duomenų kopiją, komisinius, finansavimą, vykdymo nustatymus, parametrų reikšmes ir kiekvieną agento paleistą bandymą. Tapo aišku, kad 4.1 nebuvo paslaptingas rinkos pranašumas. Šis rezultatas priklausė vienam nustatymui iš 300 bandymų, atliktų naudojant tuos pačius validavimo metus.

300išbandytų parametrų derinių
1pakartotinai tikrinti validavimo metai
0agentui parodytų galutinio patikrinimo rezultatų

Trečiadienis: užfiksuojame paiešką prieš atverdami galutinio patikrinimo laikotarpį

Eksperimentą pakartojome naudodami fiksuotą duomenų kopiją ir mažesnį, iš anksto apibrėžtą tinklelį: 24 derinius. Agentas galėjo juos įvertinti pagal 2021–2023 m. kūrimo laikotarpį. Leidome jam vieną kartą peržiūrėti 2024 m. duomenis, kad galėtų pasirinkti, o tada užrakinome pasirinktus nustatymus ir kodą.

Pasirinktos strategijos Sharpe rodiklis validavimo laikotarpiu buvo 0.8. Užrakintame 2025 m. galutinio patikrinimo laikotarpyje jis siekė 0.3, įskaičiavus taker mokesčius, finansavimą ir tą patį viso tyrimo metu taikytą 1 žvakės vykdymo vėlavimą. Tai buvo naudingas atsakymas. Tačiau tai neįrodė, kad strategija uždirbtų pinigų realioje sąskaitoje.

Dar viena šios savaitės pastaba: daugiau laiko skyrėme susitarimui, ką laikyti „vienu bandymu“, nei slankiojo vidurkio kodui parašyti. Parametrų rinkinio pakeitimą laikėme bandymu, taip pat skaičiavome vykdymus, kuriuose keitėsi signalas ar pozicijos dydžio nustatymo taisyklė. Naują duomenų kopiją ar vykdymo prielaidą registravome atskirai, nes ji galėjo lygiai taip pat pakeisti rezultatų reitingą.

Ketvirtadienis: ko kitą kartą atsisakytume

Atsisakytume pirmosios, atviro tipo užduoties. Tyrimų agentui reikia paieškos biudžeto ir išbandytų variantų įrašo, ypač kai jis gali remtis kiekvienu rezultatu spręsdamas, ką bandyti toliau. Galutinį patikrinimo laikotarpį taip pat reikia apsaugoti nuo neformalaus žvilgčiojimo: kai kas nors pamato jo rezultatą ir pakeičia strategiją, tas laikotarpis tampa dar vienu validavimo rinkiniu.

Nedidelei paieškai pakanka paprasto ir aiškaus eksperimentų žurnalo:

Ką fiksuotiKodėl tai svarbu
Kodo ir duomenų versijasKad pakartotiniame bandyme būtų naudojami tie patys įvesties duomenys ir logika
Kiekvieną išbandytą variantąKad nugalėtoją vertintume atsižvelgdami į visą paiešką
Kūrimo, validavimo ir galutinio patikrinimo paskirtįKad galutinis įvertis nebūtų slapta naudojamas derinant parametrus
Komisinius, finansavimą ir vykdymo prielaidasKad pateiktas rezultatas apibūdintų patikrinamą simuliaciją

Atvėrę galutinio patikrinimo laikotarpį, grįžkite prie kūrimo su nauju tyrimo klausimu, o seną rezultatą išsaugokite kaip istorinį įrodymą. Nenuolat tobulinkite tos pačios strategijos pagal laikotarpį, kurį ji jau yra „mačiusi“.

Agentas atliko savo darbą: greitai ištyrė variantus ir rado konfigūraciją, kurią verta panagrinėti. Mūsų užduotis buvo padaryti paiešką suprantamą, išsaugoti nepaliestą testą ir vertinti įvertį kaip matavimą, turintį savo istoriją. Įdomiausia buvo ne 4.1 ar 0.3, o tiksliai pamatyti, kaip atsirado pirmasis skaičius.

DI agentaistrategijos optimizavimaspersimokymasistorinis testavimasprekyba bandomojoje aplinkoje
← Visi įrašai