BIKENZO

Backtestingas: ką jis gali parodyti ir kaip klaidina

Backtestingas taiko prekybos taisyklę istoriniams duomenims, kad pamatytų, kaip ji būtų elgusis, tačiau gerai atrodantis backtestas neprognozuoja būsimų rezultatų — permokymas ir paslėpti šališkumai reguliariai priverčia strategijas atrodyti kur kas geriau popieriuje, nei jos veikia realiai.

Backtestingas — tai praktika, kai imamas apibrėžtas prekybos taisyklių rinkinys ir taikomas praeities kainų duomenims, siekiant išmatuoti, kaip tos taisyklės būtų veikusios. Tai vienas dažniausių įrankių kiekybinėje ir diskrecinėje prekyboje, ir jis gali būti tikrai naudingas norint suprasti strategijos elgseną. Kartu tai vienas iš tų įrankių, kuriuo lengviausia apgauti patį save. Šiame straipsnyje paprastais žodžiais paaiškinama, ką iš tikrųjų matuoja backtestas, iš kur atsiranda jo rezultatai ir kokiais konkrečiais būdais — pirmiausia dėl permokymo — backtestas gali klaidinti. Nieko čia nėra prekybos patarimas ar rekomendacija; tai kontekstas, kad backtesto rezultatus galėtumėte skaityti su deramu skepticizmu.

Kas iš tikrųjų yra backtestingas

Backtestas ima fiksuotą taisyklių rinkinį — pavyzdžiui, įėjimo sąlygą, išėjimo sąlygą ir pozicijos dydį — ir atkartoja jį istoriniame duomenų rinkinyje, tokiame kaip praeities Bitcoin (BTC) kainos. Jis fiksuoja, kokius sandorius taisyklė būtų sugeneravusi, ir pateikia tokią statistiką kaip bendra grąža, laimėjimų dalis (win rate), maksimalus nuosmukis (drawdown) ir sandorių skaičius.

Pagrindinė mintis paprasta: jei taisyklė neturi jokios naudingos struktūros, ji neturėtų veikti geriau nei atsitiktinumas praeities duomenyse. Backtestingas yra būdas patikrinti taisyklės istorinę elgseną išmatuojamu ir pakartojamu būdu, o ne pasikliauti atmintimi ar intuicija apie tai, „kas paprastai nutinka.“

Ką backtestas gali teisėtai parodyti

Backtestu labiausiai galima pasitikėti kaip aprašomuoju ir diagnostiniu, o ne prognostiniu įrankiu. Jis gali atskleisti, kaip dažnai taisyklė būtų prekiavusi, koks buvo didžiausias jos istorinis nuosmukis, kiek rezultatai jautrūs sąnaudoms ir ar logika apskritai veikia be klaidų.

Jis taip pat naudingas atmetimui. Taisyklė, kuri prastai veikė per ilgą ir įvairialypę istoriją — arba kuri veikė tik viename siaurame laikotarpyje — akivaizdžiai neįrodė tvirtumo. Idėjų atmetimas dažnai yra sąžiningesnis backtestingo panaudojimas nei bandymas patvirtinti, kad mėgstama idėja „veikia.“

Permokymas: pagrindiniai spąstai

Permokymas įvyksta, kai strategija taip glaudžiai priderinama prie vieno istorinio duomenų rinkinio ypatumų, kad ji pagauna triukšmą, o ne kokį nors tvarų dėsningumą. Jei išbandote šimtus parametrų derinių ir pasiliekate tą, kurio praeities grąža geriausia, greičiausiai atrinkote sėkmę, o ne įgūdį — koks nors derinys visada atsitiktinai atrodys geras.

Įspėjamieji ženklai gerai žinomi: daug derinamų parametrų, rezultatai, kurie subyra vos truputį pakoregavus nustatymą, įspūdingas rezultatyvumas, susitelkęs keliuose sandoriuose, ir taisyklės, kurios buvo koreguojamos vėl ir vėl, kol nuosavo kapitalo kreivė ėmė atrodyti patraukliai. Permokyta strategija paprastai veikia kur kas prasčiau už imties ribų — su duomenimis, kuriems ji nebuvo derinta — ir dar prasčiau realioje prekyboje.

Kiti šališkumai, išpučiantys backtesto rezultatus

Permokymas nėra vienintelė problema. Žvilgsnio į priekį šališkumas (look-ahead bias) naudoja informaciją, kurios sandorio momentu nebūtų buvę galima gauti. Išlikimo šališkumas (survivorship bias) testuoja tik vis dar egzistuojančius aktyvus, ignoruodamas tuos, kurie žlugo. Duomenų šnipinėjimo šališkumas (data-snooping bias) kaupiasi, kai daug žmonių testuoja daug idėjų toje pačioje istorijoje, o pranešama tik apie laimėtojus.

Praktinius trikdžius taip pat lengva praleisti. Prekybos sąnaudos, mokesčiai, slydimas (slippage), skirtumai (spreadai), finansavimas ir sunkumas įvykdyti didelius pavedimus retose rinkose gali paversti popieriuje pelningą taisyklę nuostolinga. Backtestas, kuris daro prielaidą apie tobulą įvykdymą idealiomis kainomis, matuoja rinką, kurios nėra.

Kodėl geras backtestas nėra prognozė

Net kruopščiai sudarytas, nuo šališkumų apsaugotas backtestas aprašo praeitį pagal vieną konkretų sąlygų rinkinį. Rinkos keičiasi: likvidumas, kintamumas, dalyviai ir reguliavimas laikui bėgant kinta, o taisyklė, tikusi vienam režimui, gali žlugti kitame. Praeities rezultatai nesuteikia jokios garantijos dėl ateities, o backtestai dažnai būna perdedami.

Būtent todėl prognostiniai prekybos metodai apskritai — grafikų figūros, Elliotto bangos, Fibonacci lygiai ir techniniai indikatoriai, tokie kaip RSI ar MACD — yra ginčytini ir subjektyvūs. Jų backtestavimas gali priversti juos atrodyti tikslius, bet negali padaryti, kad jie patikimai prognozuotų kainas. Prekyba yra didelės rizikos, o tyrimai nuosekliai rodo, kad dauguma mažmeninių prekiautojų ilgainiui praranda pinigus.

Rinkos duomenų skaitymas su kontekstu

Kadangi backtestai gali strategiją pagražinti, kai kurie žmonės renkasi žiūrėti ir į platesnį rinkos duomenų kontekstą, o ne vien į kainą. BIKENZO yra Bitcoin duomenų ir analitikos terminalas, rodantis tokią informaciją kaip likvidumas BTC kainos atžvilgiu; tas kontekstas gali padėti jums įvertinti, ar istorinis judėjimas įvyko gilioje, likvidžioje rinkoje, ar retoje.

Tai kontekstas, o ne signalas ar prognozė. BIKENZO nesako, kas nutiks, negeneruoja sandorių ir nėra vieta prekiauti — tai lęšis, padedantis suprasti duomenis, slypinčius už kainos. Bet koks sprendimas ir bet kokia rizika lieka visiškai jūsų pačių.

FAQ

Ar pelningas backtestas reiškia, kad strategija uždirbs pinigų?
Ne. Backtestas aprašo istorinę elgseną pagal konkrečias prielaidas; jis negarantuoja būsimų rezultatų. Stiprus praeities rezultatyvumas gali kilti iš permokymo, praleistų sąnaudų ar rinkos režimo, kurio nebėra, ir realioje prekyboje rezultatai dažnai būna daug prastesni.
Kas yra permokymas paprastais žodžiais?
Permokymas — tai kai strategija taip glaudžiai priderinama prie vieno duomenų rinkinio, kad ji įsimena atsitiktinį triukšmą, o ne kokį nors tikrą dėsningumą. Tokios strategijos puikiai atrodo su duomenimis, kuriems buvo priderintos, ir paprastai subyra su naujais duomenimis arba realioje prekyboje.
Kaip žmonės bando sumažinti permokymą?
Įprasta praktika apima mažesnio parametrų skaičiaus naudojimą, testavimą su duomenimis, kuriems taisyklė nebuvo derinta (už imties ribų), tikrinimą, ar rezultatai išlieka po nedidelių nustatymų pakeitimų, ir realistiškų sąnaudų bei slydimo įtraukimą. Tai sumažina riziką, bet niekada jos nepašalina — joks backtestas negali įrodyti, kad strategija veiks ateityje.
Ar backtestingas gali patvirtinti grafikų figūras, Fibonacci ar indikatorius kaip RSI ir MACD?
Ne patikimai. Šie metodai yra subjektyvūs ir ginčytini, o backtestas gali priversti juos atrodyti tikslesnius, nei jie yra. Backtestingas gali aprašyti, kaip taisyklė elgėsi istoriškai, bet negali paversti ginčytino metodo patikimu kainos prognozuotoju.
Tai gal backtestingas beprasmis?
Ne. Naudojamas sąžiningai, jis vertingas norint suprasti taisyklės elgseną, išmatuoti istorinius nuosmukius, patikrinti jautrumą prielaidoms ir atmesti trapias idėjas. Pavojus — laikyti jį būsimo pelno įrodymu, o ne diagnostiniu įrankiu.
Kaip BIKENZO susijęs su backtestingu?
BIKENZO yra Bitcoin duomenų ir analitikos terminalas, o ne brokeris, birža ar backtestingo variklis. Jis gali suteikti rinkos duomenų konteksto, tokio kaip likvidumas BTC kainos atžvilgiu, kuris gali padėti jums įvertinti istorinius judėjimus — bet jis nedaro jokių prognozių ir nesiūlo jokių prekybos signalų.

A Bitcoin liquidity terminal. Global central-bank liquidity, plotted against the Bitcoin price, in one screen.

Paprašyti peržiūros