Executarea unui backtest nu este suficient

Cuprins:

Anonim

Backtest-ul este o modalitate de a verifica eficiența unei strategii în trecut. Acest instrument funcționează cu adevărat?

Când începeți în lumea tranzacțiilor, unul dintre primele lucruri pe care le învățați este conceptul de backtesting. Adică, înainte de a utiliza o strategie, este recomandabil, dacă nu esențial, să verificați rezultatele unor reguli din perioadele anterioare. Aceste reguli le numim un sistem de tranzacționare sau pur și simplu un sistem. Conceptul în sine, sau cel puțin ideea, este foarte bun. Deși acum ni se pare evident, nu a fost întotdeauna. Mai mult, chiar și astăzi, există comercianți sau investitori care preferă, din greșeală sau omisiune, să își încredințeze capitalul viitorului destinului.

Evident, fiecare speculează cu capitalul său după cum consideră potrivit. Desigur, cu mijloacele la cel puțin un clic distanță pentru a încerca cel puțin să verifice, și cu relativă ușurință, randamentele pe care le-a avut o strategie în trecut, pare cel puțin absurd să nu o facă.

Notă: omitem acele părți ale unei analize care nu sunt cuantificabile. Ceva care se întâmplă în toate tipurile de analiză. Mereu ne lipsește ceva.

Returnările anterioare nu garantează returnările viitoare

Unii dintre cei care sunt reticenți în a-și cuantifica strategiile, pot susține - și foarte bine susținut - că randamentele din trecut nu garantează randamentele viitoare. Dar, având în vedere că au dreptate, ajung întotdeauna la următoarea concluzie: dacă nu vă puteți asigura că ceea ce a funcționat va continua să funcționeze, ceea ce vă face să credeți că ceea ce nu a funcționat va funcționa acum. Ar putea funcționa? Da, dar pare mai mult un act de credință decât orice altceva.

Speranța este ultimul lucru care trebuie pierdut deoarece, desigur, înainte de ao pierde, ceea ce veți pierde cu siguranță este capitalul dumneavoastră.

Nici testul din spate nu funcționează

Având în vedere ideea că un backtest este mai bun decât să ne bazăm pe astrologie, trebuie să continuăm să ne perfecționăm pentru a nu face aceleași greșeli pe care mulți comercianți le-au făcut, și, din păcate, vor continua să le facă.

În acest moment, trebuie să punem ulei pe pânză pentru a afirma că o testare din spate este mai bună decât să ne bazăm pe întâmplarea destinației, dar este departe de a fi suficientă.

De ce nu este suficient?

Un backtest este suficient pentru a verifica dacă, după ce am folosit un anumit sistem de tranzacționare în trecut, am fi generat anumite rezultate. Dar instrumentul se termină acolo. Cuvântul însuși îl spune, „Înapoi” (trecut) și „test” (Dovadă). Extrapolând, fără a analiza în continuare, unele rezultate sunt încă - deși într-o măsură mai mică - un alt act de credință. Din întâmplare, ar putea continua să funcționeze și să fi găsit un sistem care funcționează fără să știe de ce sau că funcționează și nu știi până când. Acest mod de a proceda de către unii analiști cantitativi contrastează cu critica lor neîncetată a analizei tehnice. Adică, critică ceva ce ei înșiși, inconștient, aplică zilnic.

Ce trebuie analizat?

Presupunând că un sistem are parametri fixi, este necesar să se verifice valabilitatea acestuia în diferite medii de piață. Chiar și în medii care nu există. Verificați cum ar fi funcționat un sistem în medii cu volatilitate ridicată, cu volatilitate scăzută, înainte și după schimbări structurale, pe piețele alcista, urcatoare și laterale. Și astfel am putea continua aproape la infinit.

Dacă sistemul are parametri variabili, ceea ce se întâmplă de obicei în majoritatea cazurilor, vom face același proces, dar ținând cont de faptul că sistemul este modificabil și, prin urmare, optimizabil. Și chiar faptul de a fi optimizabil îl face susceptibil de a fi supra-optimizat. Acest punct este de o importanță vitală pentru a încerca să obținem randamente stabile în viitor.

Pasul obișnuit după găsirea unei strategii care a funcționat bine în trecut este încercarea de a optimiza modelul. Mare greșeală. Mai întâi ar trebui să-l puneți în tensiune, sau ceea ce eu numesc stresarea sistemului. Puneți-l la lucru în cel mai prost mediu cunoscut pentru astfel de sisteme. Astfel, de exemplu, dacă avem un sistem de tendință, va fi necesar să îl punem în funcțiune în perioade laterale prelungite pentru a vedea cum se comportă atunci când nu există un scenariu favorabil pentru generarea de randamente din sistem. Motivul celor de mai sus este că nu știm ce se va întâmpla în viitor, așa că a ne pune în cel mai rău scenariu posibil ne duce cât mai departe de inevitabilitatea (și dezirabilitatea) aleatoriei.

Ce să faci în afară de stres?

Conceptele care schimbă totul sunt teste directe și teste din eșantion. Dar, dacă nu cunoaștem viitorul, cum vom testa ceva despre ceva ce nu știm? Avem două opțiuni, pe care le vom vedea în curând. Pe de altă parte, avem conceptul de out of sample. Alegerea acestui eșantion - pe care îl recomand să fie destul de puține (nu doar una) și cu distribuții de probabilitate care prezintă caracteristici disparate - este esențială pentru a realiza un sistem care funcționează. Ideea este că backtest-ul și optimizarea sunt realizate în perioade diferite. Astfel, vor rămâne probe gratuite. Deși acest lucru depinde de gustul analistului. Se poate face într-un alt mod, dar putem cădea în erori statistice care nu sunt obiectivul acestui articol.

  • Prima modalitate de a realiza acest proces este ceea ce vom numi tradițional: realizăm un sistem, îl optimizăm și, după ce ne uităm la câteva valori, îl punem în funcțiune cu bani fictivi sau cu bani reali puțini. Dacă totul merge bine, îl punem în funcțiune în realitate.
  • A doua modalitate de realizare a procesului este ceea ce vom numi „nou”, deși în realitate are puține noutăți: realizăm un sistem, îl optimizăm, verificăm stabilitatea parametrilor în timp, îl realizăm din teste de probă, teste de transmisie artificială și le punem în funcțiune cu un test de transmisie reală. Dacă totul merge bine, îl punem în funcțiune în realitate.

Al doilea mod de procedare, comparativ cu primul, se bazează pe două concepte: stabilitatea parametrilor în timp și teste artificiale de transmitere. Testele artificiale înainte nu sunt un tip de teste în afara eșantionului care încearcă să simuleze un test real real. Să ne gândim la următoarele:

Am făcut un proces pentru un sistem în ultimul an. Punerea în funcțiune din această lună (iulie) până la sfârșitul anului (decembrie) este practic la fel ca înaintarea tuturor celor 6 luni și simularea testului înainte din ianuarie până în iulie. Nu este același lucru, deoarece condițiile reale ne oferă întotdeauna situații dificil de inventat, dar avansăm mai departe și obținem rezultate mai bune. Și după aceste „invenții”, deoarece acestea sunt de fapt invenții, am efectuat testul înainte în timp real. La asta mă refer prin teste artificiale înainte. Unii s-ar putea să nu le placă așa, dar gândirea contrară este părtinitoare mental. Dacă ați fi descoperit această strategie cu 6 luni mai devreme, ați fi făcut la fel.

Pe de altă parte, avem stabilitatea parametrilor sistemului în timp. Pentru mine, aceasta este cea mai importantă valoare și ne spune dacă sistemul este supra-optimizat. Dacă parametrii rămân stabili în timp după optimizări la fiecare X perioadă, înseamnă că este mai puțin probabil ca parametrii să fie supra-optimizați decât alții care variază mai mult. Dacă la acest lucru adăugăm că pentru fiecare dintre optimizări efectuăm un test artificial înainte și rezultatele sunt, de asemenea, stabile, ne confruntăm cu un sistem cu probabilitatea de a fi cu adevărat profitabil.

Toate acestea pot deveni mult mai complicate. Deși pare complex, nu este. Este greu, dar este mai simplu decât mecanismul unui ulcior. Ca întotdeauna, fiecare are propriul său mod de a face lucrurile, nu aceasta este singura modalitate, dar ceea ce am vrut să precizez este că un backtest fără însoțitori de călătorie este inutil și inutil. Cel puțin, desigur, în lumea comerțului.