2026. gada 6. novembris · dati

Jūsu backtestā izmantots nepareizs vēsturiskā brīža aktīvu kopums

Jūsu backtestā izmantots nepareizs vēsturiskā brīža aktīvu kopums

Backtestā var pareizi norādīt katras sveces laiku un tomēr izmantot rītdienas informāciju. Tā notiek, ja stratēģiju testē ar aktīviem, kas izdzīvojuši līdz šodienai, daudzu gadu vēsturē, it kā tā jau būtu zinājusi, kuri tirgi paliks likvīdi, kotēti un saglabāšanas vērti.

Aktīvu kopuma veidošana ir daļa no stratēģijas. Ja reāllaikā sistēma var izvēlēties tikai no aktīviem, kas pieejami katrā lēmuma pieņemšanas brīdī, backtestā jāievēro tā pati robeža. Trīs saīsnes to regulāri izdzēš.

Pirmā kļūda: šodienas saraksta backtestēšana visā vēsturē

Pieņemsim, ka šodien atlasāt 50 lielākos kriptovalūtu perpetual tirgus un pēc tam veicat to backtestu, sākot no 2021. gada. Sarakstā nav iekļauti līgumi, kas pazuduši, zaudējuši likviditāti vai tikuši izslēgti no biržas. Turklāt vecākos datumos tiek izmantoti tirgi, kas, iespējams, tolaik vēl nemaz nepastāvēja.

Problēmu ir viegli nepamanīt: stratēģija izskatās stabilāka, jo aktīvi, kas cieta neveiksmi, no tās izlases ir pazuduši. Piemēram, momentum noteikums var izskatīties lielisks, pārbaudot šodienas 50 tirgus, lai gan vēsturiskā stratēģija atkārtoti būtu ieguldījusi aktīvos, kas vēlāk sabruka vai tika izslēgti no tirdzniecības platformas. Jūs esat pārbaudījuši portfeli, kas atlasīts, zinot iznākumu.

Veidojiet dalības vēsturi ar datumiem. Katram aktīvam reģistrējiet, kad tas kļuva piemērots iekļaušanai, kad vairs nebija piemērots un kāpēc. Katrā portfeļa pārsvēršanā piemērojiet noteikumus, izmantojot tikai tobrīd pieejamo informāciju. Tirgus jāiekļauj pēc faktiskās kotēšanas sākuma un jebkura prasītā iesildīšanās perioda. Ja to izslēdz no biržas, tā pēdējai pozīcijai jānosaka iziešanas vai norēķinu kārtība; rindu dzēšana nav iziešanas noteikums.

Otrā kļūda: ranžēšana pēc rādītāja, kas aprēķināts pēc lēmuma brīža

Pat vēsturiskā aktīvu kopumā var rasties nākotnes informācijas noplūde, ja dalības noteikumā izmanto pilnu nākotnes periodu. “Katru mēnesi tirgot 20 likvīdākās akcijas” izklausās saprātīgi, līdz likviditāte tiek ranžēta, izmantojot visu mēnesi, kurā stratēģijai būtu jāveic tirdzniecība.

Iedomāsimies, ka portfeli pārsvērš pirmajā tirdzniecības dienā. Ranžēšana pēc šī mēneša vidējā dienas dolāru apgrozījuma nemanāmi izmanto nākamās 3 nedēļas, lai noteiktu, kuri aktīvi kvalificējās pirmajā dienā. Problēma bieži izpaužas kā neparasti laba kapacitāte: stratēģija izvairās no aktīviem, kas vēlāk mēnesī kļuva nelikvīdi, lai gan ieejas brīdī to nevarēja zināt.

Nosakiet mērījumu beigu brīdi pirms atlases laika. Ja ikmēneša portfeļa pārsvēršana notiek pirmajā sesijā, varat ranžēt pēc iepriekšējām 20 pabeigtajām sesijām, kas beidzas iepriekšējā sesijā. Tad skaidri nosakiet izpildes aizkavi: ja ranžēšanā izmanto vakardienas slēgšanas cenu, vai saskaņā ar jūsu pieņemto darba kārtību rīkojumu var iesniegt šodienas atvēršanas brīdī?

Atlases noteikumsKonkrētā brīža versijaBieži sastopama noplūde
20 lielākie pēc dolāru apgrozījumaRanžēt pabeigtās sesijas, kas beidzas pirms portfeļa pārsvēršanasIekļaut portfeļa pārsvēršanas dienu vai mēnesi
Kotēts biržāIzmantot faktiskos kotēšanas sākuma un beigu laikusIzmantot pašreizējo simbolu API veciem datumiem
Minimālais vēstures periodsSkaitīt atlases brīdī pieejamos novērojumusPieprasīt, lai aktīvs izdzīvotu nākotnē un izturētu filtru

Trešā kļūda: trūkstošu vēsturi uzskatīt par pierādījumu, ka aktīvs nebija piemērots

Datu piegādātāja arhīvs ne vienmēr ir pilnīgs vēsturiskā tirgus ieraksts. Trūkstošs simbols var nozīmēt, ka aktīvs nekad nav pastāvējis, birža mainījusi nosaukumu piešķiršanas kārtību, piegādātājs nav saglabājis no biržas izslēgtos instrumentus vai plūsmā vienkārši ir pārrāvums. Šiem gadījumiem ir atšķirīgas sekas.

Problēma ir glīts aktīvu kopums ar neizskaidrojamiem robiem. Pētnieki bieži pieprasa pilnu retrospektīvo periodu un pēc tam klusējot izslēdz visu, kam tāda nav. Tas var būt saprātīgs iesildīšanās noteikums, taču tādējādi apzināti tiek atmesti arī nesen kotēti aktīvi. Vēl sliktāk — ja trūkstošā vēsture galvenokārt ir neveiksmīgiem tirgiem, “tikai pilni dati” kļūst par vēl vienu izdzīvojušo filtru.

Atsevišķi reģistrējiet piemērotību, datu pieejamību un stratēģijas iesildīšanos. Katrā datumā norādiet, kāpēc aktīvs tika izslēgts. Saglabājiet trūkstošo datu faktu izpētes žurnālā, nevis pārvērtiet to par klusu dzēšanu. Ja avots neļauj noteikt, vai tirgus bija kotēts vai pieejams tirdzniecībai, norādiet to un novērtējiet, cik lielā mērā rezultāts ir atkarīgs no šīs nenoteiktības.

Padariet aktīvu kopumu reproducējamu

Noderīgu auditu sāciet ar vienu vēsturisku portfeļa pārsvēršanu. Atjaunojiet kandidātu sarakstu, izmantojot kotēšanas datus ar datumiem un datus, kas bija pieejami attiecīgajā beigu brīdī. Pārrēķiniet ranžēšanas ievaddatus, izmantojot tikai pabeigtos novērojumus. Pēc tam salīdziniet iegūto sastāvu ar sarakstu, ko faktiski izmantoja jūsu backtests.

Saglabājiet noteikumu, tā beigu brīdi, lēmumus par iekļaušanu un avota versiju līdzās izpildes rezultātam. Ja nevarat izskaidrot, kāpēc konkrētā datumā viens aktīvs tika iekļauts, bet cits — izslēgts, jūs vēl nevarat noteikt, vai stratēģija atklāja priekšrocību vai mantoja nākotnei pielāgotu izlasi.

Aktīvu kopuma kļūdas reti atklājas kā neiespējamas cenas. Tās parādās kā stratēģija, kas ērti izvairījusies no tirgiem, kuri vairs nebija ērti.

izdzīvojušo kļūdakonkrētā brīža datiaktīvu kopuma veidošanabacktestēšana
← Visi raksti