AI stratēģijas aģents var izveidot derīgu atpakaļtestu, izmantojot informāciju, kas vēl nebija pieejama brīdī, kad tam vajadzēja veikt darījumus. Kods darbojas. Kapitāla līkne izskatās ticama. Signāls pat var būt saprātīgs. Tomēr laika atzīme, datu savienošana vai vēlāk labots datu lauks ir nemanāmi iedevis aģentam atbildi no nākotnes.
Risinājums ir iekļaut datu pieejamības laiku izpētes nosacījumos. Par katru ievaddatu jāatbild uz 2 skaidriem jautājumiem: uz kuru brīdi attiecas šī vērtība, un kad stratēģija to pirmoreiz varēja uzzināt?
Kā nākotnes informācijas nobīde izskatās AI ģenerētā stratēģijā?
Acīmredzamākais gadījums ir signāls, kas aprēķināts pēc tās pašas sveces slēgšanas cenas, un pēc tam tiek izpildīts par šo cenu. Ja stratēģijai lēmuma pieņemšanai vajadzīga slēgšanas cena, tā nevar vienlaikus tirgot par šo cenu. Taču aģenti bieži rada mazāk pamanāmas šīs problēmas versijas, savienojot datu avotus vai izvēloties ērtus noklusējuma iestatījumus.
Pieņemsim, ka modelis aprēķina 20 sveču slīdošo vidējo katras minūtes beigās un atver pozīciju, kad slēgšanas cena to šķērso. Ja atpakaļtests izpilda darījumu par tās pašas sveces slēgšanas cenu, tas izmanto pēdējo šīs sveces darījuma cenu vēl pirms tā bija pieejama stratēģijai. Rīkojuma izpildes pārcelšana uz nākamās sveces atvēršanas cenu var būt saprātīgs tuvinājums, tomēr tirgus rīkojumā joprojām jāņem vērā komisijas un cenu ietekme.
Tagad pieņemsim, ka pazīme ir dienas akciju fundamentālais rādītājs vai kriptovalūtas atvērto pozīciju apjoma momentuzņēmums. Ieraksta datums var būt pirmdiena, bet vērtība, iespējams, publicēta pēc pirmdienas tirdzniecības sesijas beigām vai vēlāk labota. Datums nav pieejamības laika atzīme.
Kā atzīmēt stratēģijas ievaddatu laiku?
Ja avots to ļauj, glabājiet vismaz 3 laika atzīmes: periodu, uz kuru vērtība attiecas, laiku, kad publicētājs to publiskoja, un laiku, kad to saņēma jūsu sistēma. Stratēģijas informācijas kopā lēmuma pieņemšanas brīdī drīkst būt tikai līdz tam pieejamās vērtības.
| Lauks | Uz kādu jautājumu atbild | Tipiska kļūda |
|---|---|---|
| Notikuma laiks | Kad notika tirgus notikums? | Sveces slēgšanas cenas izmantošana, pirms svece ir noslēgusies |
| Publicēšanas laiks | Kad avots publicēja šo vērtību? | Dienas beigu atzīmes uztveršana kā publikācijas laiks sesijas sākumā |
| Saņemšanas laiks | Kad izpētes sistēma varēja šo datu izmantot? | Piegādātāja vai datu apstrādes plūsmas aizkaves ignorēšana |
| Labošanas laiks | Kad šī versija tika reģistrēta vai izlabota? | Vēlāk labotas vēstures ievietošana pagātnē tā, it kā dati būtu sākotnējie |
1 minūtes stratēģijā 1 sekundes aizkave ne vienmēr ir nekaitīga. Tās nozīme ir atkarīga no lēmuma pieņemšanas brīža un no signālā izmantotajiem datiem. Ja ievaddati ir pabeigta stundas statistika, aizkave var gandrīz neko nemainīt. Ja tie ir orderu grāmatas nelīdzsvarotības dati, kas iegūti tuvu rīkojuma iesniegšanas brīdim, aizkave var apvērst darījuma virzienu.
Vai datu glabātuve ar vērtībām konkrētajā laika brīdī var novērst informācijas noplūdi?
Tā palīdz, ja ar “konkrētajā laika brīdī pieejamām vērtībām” saprot iespēju izgūt vērtību, kas bija zināma vēsturiskā lēmuma pieņemšanas laikā, tostarp tajā brīdī spēkā esošo versiju. Tabulā, kurā ir tikai vēsturiski datumi, joprojām var būt šodien izlabotās vērtības par šiem datumiem.
Katram ierakstam saglabājiet derīguma intervālu un pieejamības laika atzīmi, kā arī paturiet iepriekšējās versijas, nevis pārrakstiet tās. Tad vēsturiskos vaicājumus veidojiet nepārprotami: atgrieziet jaunāko versiju, kas bija pieejama simulētā lēmuma pieņemšanas brīdī. Tas ir īpaši svarīgi fundamentālajiem rādītājiem, iekļaušanai indeksos, ekonomikas datu publikācijām un piegādātāju iztīrītām datu kopām.
Te ir arī necilāks ikdienas darba aspekts: nevainojama publicēšanas laika atzīme nav noderīga, ja datu ielādes uzdevums darbojās ar 20 minūšu nokavēšanos. Ja vēsturisko datu glabātuvē nav fiksēts saņemšanas laiks, izmantojiet piesardzīgu aizkavi un skaidri to norādiet. Precizitāte, ko avots nekad nav reģistrējis, ir tikai izgreznojums.
Kādas pārbaudes atklāj nākotnes informācijas nobīdi pirms simulētās tirdzniecības?
Lūdziet izpētes aģentam līdz ar atpakaļtestu izvadīt pazīmju un rīkojumu laika līniju. Katram lēmumam reģistrējiet jaunāko avota pieejamības laiku katrai pazīmei, lēmuma laiku, rīkojuma laiku un modelēto izpildes laiku. Noraidiet jebkuru rindu, kurā ievaddati saņemti pēc lēmuma pieņemšanas.
- Pabīdiet signālus uz priekšu par 1 sveci un salīdziniet rezultātus. Būtisks rezultātu kritums var atklāt atkarību no slēgšanas cenas laika, taču tā ir diagnostika, nevis informācijas noplūdes pierādījums.
- Nogrieziet katru avotu pie vēsturiska robeždatuma, palaidiet datu apstrādes plūsmu vēlreiz un salīdziniet iegūtās pazīmes ar saglabātajām vēsturiskajām pazīmēm.
- Aizstājiet aizdomīgo pazīmi ar konstanti. Ja rezultāti gandrīz nemainās, pārbaudiet, vai kods tiešām izmantoja paredzēto laika rindu.
- Izvadiet datu apstrādes plūsmā apzināti neiespējamu pazīmi no nākotnes. Validācijai skaidri jāziņo par kļūdu, ja tās pieejamības laiks ir vēlāk par lēmuma pieņemšanas laiku.
Šīs pārbaudes neapliecina stratēģijas pareizību. Tās padara konkrētus laika pieņēmumus redzamus un atklāj biežākos šo pieņēmumu pārkāpumus.
Vai simulētā tirdzniecība pierāda, ka atpakaļtestā nebija informācijas noplūdes?
Nē. Simulētā tirdzniecība var atklāt, ka tiešsaistes datu plūsma ir novēlota, nepilnīga vai citādi saskaņota nekā vēsturiskā plūsma. Tā nevar pierādīt, ka vecās apmācības pazīmes atspoguļoja to, kas tolaik bija zināms. Modelis var arī pārstāt gūt labumu no informācijas noplūdes vienkārši tāpēc, ka nejauši redzētā nākotne tagad ir tagadne.
Izmantojiet simulēto tirdzniecību, lai pārbaudītu atbilstību: salīdziniet tiešsaistes pazīmju vērtības, lēmumu laika atzīmes, rīkojumu izveidi un modelētos izpildījumus ar atpakaļtestā izmantotajām definīcijām. Ja tās atšķiras, izsekojiet konkrēto ievaddatu un pulksteni. Aģentu komanda, kas spēj izskaidrot katra lēmuma informācijas kopu, veic noderīgu izpēti. Aģentu komanda, kas var parādīt tikai gludu līkni, ir izlaidusi grūtāko audita daļu.
← Visi raksti


