Искам да споделя малко информация на тема кървфитинг (Curve Fitting). В литературата се разпространява мнението, че прекаленото настройване на параметрите на една търговска стратегия създава така нареченото НАПАСВАНЕ НА РЕЗУЛТАТА КЪМ ГРАФИКАТА и една такава стратегия, работила добре в миналото, започва да работи зле в бъдещето (нулира акаунта). Ако това наистина е вярно, то тогава се обезсмисля ФУНДАМЕНТАЛНА ОСНОВА на търсенето на търговски стратегии посредством правене на исторически тестове. Причината - след като от позицията на бъдещето ние решаваме кое Equity от миналото е било по-добро, то това автоматично означава, че ние ВИНАГИ ПРАВИМ КЪРВФИТИНГ.
Явно проблемът не е има ли го или го няма, защото КЪРВФИТИНГА ВИНАГИ ГО ИМА. Проблемът е как да разберем колко голям е той и какви мерки да предприемем, за да го намалим. По този въпрос много има изписано в литературата, и всеки автор се чувства задължен да даде "умни" мъгляви акъли, но никой не казва нищо конкретно, което да е подкрепено с доказателства.
И понеже аз трудно се доверявам на трейдерската литература, реших сам да направя малко изследвания по въпроса. Накратко така настроих Strategy Quant, щото да генерира стратегии само на база на данните до 2016 г., а 2017 и 2018 година да ми смята Expectancy-то, но без да го използва в генетичните алгоритми за подбор на най-добрите стратегии. Пуснах го да смята една седмица по 20 валутни двойки и се сдобих с няколко хиляди уж добри стратегии до края на 2016 г. Идеята беше после да разгледам какво се е случвало в бъдещето на тези стратегии (2017 и 2018 г.), и ето какво научих по въпроса:
1. Бъдещето на тези стратегии покрива целия спектър от възможни бъдещета - от дълбоко губещо, през случайно (около нулата) до силно печелившо, като при някои стратегии дори е по-печелившо от това, което е било в миналото.
2. Не открих никаква логика кои правила създават губещо бъдеще и кои - печелившо, но специално този аспект си го оставям като задача за по-подробно изследване.
3. Открих обаче нещо много по-важно - СЧУПВАНЕТО НА СТРАТЕГИИТЕ НЕ СТАВА ВЕДНАГА в началото на 2017 г. Става в точка, която или е била няколко сделки или месеца по-назад в миналото, или няколко сделки или месеца по-напред във бъдещето.
4. С две думи стратегията не се счупва, защото е била кървфитната, а защото се е появила нова пазарна тенденция, която е неизвестна за правилата на стратегията, и затова тези правила не са се настроили към нея. Много често началото на счупващата тенденция се вижда в последните сделки от историческия тест. Също така има и другите случаи - стратегията продължава да работи добре, и след време се счупва и тръгва уверено надолу.
5. В почти всички случаи това, което се случва в бъдещето, наподобява участъци от стратегията със стагнации, които вече са се случвали в миналото. Тоест не се случва нищо ново, а се повтаря вече известното старо.
На базата на тези наблюдения си извадих следните изводи:
1. С нашите изследвания на миналото с цел подбор на стратегии ние винаги ще създаваме кървфитинг, независимо какви правила използваме и какви методи прилагаме. Тоест отърване няма.
2. Можем обаче да използваме свойствата на кървфитнатото бъдеще, за да извлечем ПМО от това ново знание, че счупването не се случва веднага, а преди или след точката на края на теста.
След едно сравнително бързо обмисляне на ситуацията реших да предприема (да пробвам) следните мерки:
1. При подбора на стратегии да отхвърлям тези, при които последните няколко сделки вървят надолу. Това може да е невинно, но може и да е началото на счупващата тенденция, така че по-добре да не рискувам. Ще утвърждавам само стратегии, при които последните няколко сделки са били печеливши.
2. С така утвърдените стратегии ще правя само по 1-2 сделки, и след това ще пак ще ги преоптимизирам.
3. Точки 1 и 2 представляват метод, за който ще напиша код да се извършва автоматично, и след това ще го пусна да работи още от самото начало на стратегията.
С две думи - променям си глобалната концепция и включвам в нея правилото, че с дадена стратегия се търгуват само 1-2 сделки, и после тя се преоптимизира с новата информация за тези сделки. Това правило го залагам в собствения си Strategy Tester и то става част от всеки един исторически тест. Самите мои стратегии вече ще представляват не стратегии, написани с конкретни правила, а стратегии, написани с методи за автоматичен подбор на правила, автоматични преоптимизации за откриване на верните параметри на тези правила, и автоматично вземане на решения само за 1-2 сделки от бъдещето преди следващата преоптимизация.
Една направена по този начин стратегия не би трябвало да е кървфитната. Тя или ще намира зависимости, и ще търгува по тях, или ще отказва да прави сделки, ако не намери такива зависимости. Тази стратегия пак ще има губещи сделки, защото няма как на 100% да се избяга от случайността, но би трябвало сравнително бързо да се адаптира, ако пазарната зависимост се счупи и се появи някаква друга такава. Ако идеята проработи, такъв един робот ще го разпознаем по това, че ще печели винаги и навсякъде, където го пуснем да работи. В най-лошия случай ще печели малко или въобще няма да търгува, но в никакъв случай няма да търгува с големи загуби, които да доведат до зануляване на акаунта.