Какво е Backtesting?
Backtesting е основният метод за установяване на това колко добре би се справила стратегия или модел впоследствие. Backtesting оценява жизнеспособността на търговската стратегия, като открива как би се разиграла, използвайки исторически данни. Ако бектестирането работи, търговците и анализаторите може да имат увереността да го използват напред.
Backtesting може да бъде важна стъпка в оптимизирането на вашата стратегия за търговия. За да научите повече за използването на инструменти за анализ на диаграми, за да разпознаете печеливши възможности за търговия, вижте курса за технически анализ в Академията за инвестиции.
Основите на бектестирането
Backtesting позволява на търговеца да симулира търговска стратегия, използвайки исторически данни, за да генерира резултати и анализира риска и рентабилността, преди да рискува какъвто и да е действителен капитал.
Добре проведеният бектест, който дава положителни резултати, гарантира на търговците, че стратегията е фундаментално стабилна и вероятно ще доведе до печалба, когато се прилага в реалност. Добре проведеният бектест, който дава неоптимални резултати, ще подтикне търговците да променят или отхвърлят стратегията. Особено сложните стратегии за търговия, като стратегиите, реализирани от автоматизирани системи за търговия, разчитат в голяма степен на бектестирането, за да докажат своята стойност, тъй като са твърде тайнствени, за да оценят друго.
Докато идеята за търговия може да бъде количествено определена, тя може да бъде подложена на повторна проверка. Някои търговци и инвеститори могат да потърсят експертния опит на квалифициран програмист, за да развият идеята в тестова форма. Обикновено това включва програмист, кодиращ идеята на собствения език, хостван от платформата за търговия. Програмистът може да включва входни променливи, дефинирани от потребителя, които позволяват на търговеца да "ощипва" системата. Пример за това е в простата движеща се средна система за кросоувър, отбелязана по-горе. Търговецът ще може да въвежда (или променя) дължините на двете подвижни средни стойности, използвани в системата. Търговецът може да направи бектест, за да определи кои дължини на подвижните средни стойности биха се представили най-добре в историческите данни.
Ключови заведения
- Backtesting оценява жизнеспособността на търговската стратегия или модела на ценообразуване, като открива как би се играе с помощта на исторически данни. Ако бектестирането работи, търговците и анализаторите може да имат увереността да го използват напред. Добре проведен бекстейт, който дава положителни резултати, гарантира на търговците че стратегията е фундаментално стабилна и вероятно ще донесе печалба, когато се реализира в реалност. Добре проведеният бектест, който дава неоптимални резултати, ще подтикне търговците да променят или отхвърлят стратегията.
Идеалният сценарий за обратно тестване
Идеалният бектест избира примерни данни от подходящ период от време, който отразява различни пазарни условия. По този начин човек може по-добре да прецени дали резултатите от последния тест представляват трескава или звукова търговия.
Историческият набор от данни трябва да включва наистина представителна извадка от акции, включително тези на компании, които в крайна сметка фалираха или бяха продадени или ликвидирани. Алтернативата, включваща само данни от исторически запаси, които съществуват и до днес, ще доведе до изкуствено висока възвръщаемост при повторно тестване.
Бектестът трябва да отчита всички разходи за търговия, колкото и да са незначителни, тъй като те могат да се сумират в хода на периода на бектестиране и драстично да повлияят на появата на рентабилност на стратегията. Търговците трябва да гарантират, че техният софтуер за обратно тестване отчита тези разходи. Изпробване извън извадката и тестване на напредъка на ефективността осигуряват допълнително потвърждение относно ефективността на системата и могат да покажат истинските цветове на системата, преди реалните пари да са на линия. Добрата връзка между резултатите от изпитването, извадката от извадката и резултатите от тестовете за напредък е жизненоважна за определянето на жизнеспособността на търговската система.
Backtesting vs. Forward Performance Testing
Предварително тестване на производителността, известно още като търговия с хартия, предоставя на търговците друг набор от извадкови данни, по които да оценят дадена система. Тестване на напредъка е симулация на реалната търговия и включва следване на логиката на системата на жив пазар. Нарича се още търговия с хартия, тъй като всички сделки се извършват само на хартия; т. е. търговските записвания и изходи се документират заедно с всяка печалба или загуба за системата, но не се извършват реални сделки.
Важен аспект на напредващото тестване на производителността е точно следване на логиката на системата; в противен случай става трудно, ако не и невъзможно, да се оцени точно тази стъпка от процеса. Търговците трябва да са честни по отношение на всякакви търговски влизания и излизания и да избягват поведение като избора на череши или да не включват търговия на хартия, обосновавайки, че „никога не бих предприел тази търговия“. Ако търговията би станала по логиката на системата, тя трябва да бъде документирана и оценена.
Разликата между Backtesting и сценарий анализ
Докато бектестирането използва реални исторически данни за тестване за годност или успех, анализът на сценариите използва хипотетични данни, които симулират различни възможни резултати. Например анализът на сценариите ще симулира конкретни промени в стойностите на ценните книжа на портфейла или настъпват ключови фактори, като например промяна в лихвения процент. Анализът на сценариите обикновено се използва за оценка на промените в стойността на портфейла в отговор на неблагоприятно събитие и може да се използва за изследване на теоретичен сценарий в най-лошия случай.
Някои клопки на Backtesting
За да осигурят смислени резултати с бекстейт, търговците трябва да разработят своите стратегии и да ги тестват добросъвестно, като избягват възможно най-много отклонения. Това означава, че стратегията трябва да бъде разработена, без да се разчита на данните, използвани при повторно тестване. Това е по-трудно, отколкото изглежда. Търговците обикновено изграждат стратегии въз основа на исторически данни. Те трябва да бъдат строги по отношение на тестване с различни набори от данни, от тези, на които обучават своите модели. В противен случай backtest ще доведе до светещи резултати, които не означават нищо.
По същия начин, търговците трябва също да избягват драгирането на данни, при което тестват широк спектър от хипотетични стратегии срещу един и същ набор от данни, които също ще доведат до успехи на пазарите в реално време, тъй като има много невалидни стратегии, които биха победили на пазара случайно определен период от време.
Един от начините да се компенсира тенденцията към драгиране на данни или избор на череши е да се използва стратегия, която да успее в съответния или в извадката времеви период и да я подкрепи отново с данни от различен или изваден от време период. Ако задръстките от извадката и извадката от пробата дават сходни резултати, тогава те обикновено са валидни.