Robo4ex: 11 stycznia 2016, 15:00 ! . 1517

Irracjonalność back test`ów

Ostatnio spędziłem dużo czasu na testach jakiegoś tam systemu. Zastanowiła mnie jedna rzecz. Mianowicie dużo osób chciałoby zobaczyć wyniki back testów w ujęciu długoterminowym (czyli jak się dany system zachowywał w przeszłości np. 10 lat-dość częsta praktyka w funduszach inwestycyjnych oraz działach typu asset management).

Powiedzmy że zaprojektowany system w długim terminie osiągnął wyniki jak w pliku:

oraz że jest początek 1995 roku.

Wyniki są bardzo obiecujące, klaszczemy w ręce patrząc na nie. W końcu idziemy na drinka no bo taka okazja nie zdarza się często. Podejmujemy decyzję - wdrażamy ten algorytm. Co było potem, można się domyśleć, jest w pliku:

Cały model załamał się.

Reasumując:

nigdy nie można mieć pewności czy model nie załamie się za tydzień, miesiąc, rok. Nawet wyliczenia tego nie przewidzą bo są oparte na przeszłości. W związku z tym robienie backtest w długim okresie mija się z jakimkolwiek sensem według mnie. Podobnie jest ze słynnym DD. nawet pamięć wewnętrzna tu nie pomaga.

Rozważmy teraz taki przykład:

dziś jest 15 lipca 2015, z backtest wynika iż DD dla naszego algorytmu wyniósł 5%. Zaczynamy inwestować. Przesuńmy się teraz w czasie do przodu.

Obecnie mamy 15 września 2015, nasz DD wynosi 9%. Zaczynamy się zastanawiać czy nasz model wciąż działa. Co jest przyczyną. Wyliczamy punkt przegięcia dla naszego modelu. Podejmujemy decyzję że przestajemy używać tego algorytmu.

A teraz spójrzmy na ten przykład z innej strony.

Dziś jest 15 września 2015, z backtest wynika iż DD dla naszego algorytmu wyniósł 9%. Co robimy...? Nic. Zaczynamy inwestować na jego podstawie, po prostu przyjmujemy że DD wyniósł 9%.

Reasumując:

testując cokolwiek opieramy się na przeszłości i próbujemy przełożyć to w sposób liniowy na przyszłość. Ale nie ma to sensu, jak w powyższych przykładach. No bo co nam mówi że DD wyniósł 5%? Dlaczego spodziewamy się że nie będzie większy? I co to znaczy że model się załamuje? W jakim terminie? To są te fale, które co jakiś czas zmywają z pokładu fundusze hedge i inwestorów. Jednak pomimo tego można ograniczyć prawdopodobieństwo bankructwa lub przedłużyć „egzystencję” na rynku stosując odpowiednie algorytmy.

Backtesty robiłem w następujący sposób:

Walk-forward

Out-of_sample data

step 1 week

© Robo4ex

Dodawanie komentarzy dostępne jest tylko dla zarejestrowanych i zalogowanych użytkowników. Zarejestruj się by móc skomentować ten wpis.

Profil

Analityk: Robo4ex

  • + statystyki

  • + o sobie

Shoutbox: Robo4ex

« Archiwum: Luty 2020 »
PoWtŚrCzPtSoNd
0102
03040506070809
10111213141516
171819 20212223
242526272829