Как да извършите бектестинг на стратегия за търгуване
Начало
Статии
Как да извършите бектестинг на стратегия за търгуване

Как да извършите бектестинг на стратегия за търгуване

Напреднал
Публикувано Dec 17, 2020Актуализирано Jun 21, 2023
7m

TL;DR

Смятате ли, че имате страхотни идеи за пазара, но не знаете как да ги изпробвате, без да рискувате средствата си? Да се научите как да извършите бектестинг на търговски идеи и основата на добрия систематичен търговец.

Основната предпоставка на бектестинга е, че това, което е работило в миналото, може да работи и в бъдеще. Но как ще направите това сами? И как трябва да оцените резултатите? Нека преминем през прост процес на бектестинг.


Въведение

Бектестингът е един от ключовите компоненти на разработването на собствена стратегия за графики и търговия. Той се прави чрез реконструиране на сделки, които биха се случили в миналото със система, базирана на исторически данни. Резултатите от бектестинга трябва да ви дадат обща представа за това дали дадена инвестиционна стратегия е ефективна, или не.

Преди да продължим по-нататък, ако искате да извършите бектестинг на собствените си стратегии, Binance Futures е чудесно място да го направите. Ако искате да получите достъп до исторически данни от платформата, моля, попълнете този формуляр за заявка.


Какво е бектестинг?

Първо, ако искате да се потопите по-задълбочено в това какво е бектестинг, прочетете нашата статия Какво е бектестинг?.

Накратко, основната цел на бектестинга е да ви покаже дали вашите търговски идеи са валидни. Използвате минали пазарни данни, за да видите как би се представила една стратегия. Ако стратегията изглежда, че има потенциал, тя може да бъде ефективна и в среда за търговия на живо.


Какво да направите преди бектестинг

Преди да започнем с примера за бектестинг, има нещо, което трябва да определите. Ще трябва да установите какъв вид търговец сте. Вие сте дискреционен или систематичен търговец?

Дискреционната търговия се основава на решения – търговците използват собствената си преценка за това кога да влязат и да излязат. Това е относително свободна и отворена стратегия, при която повечето от решенията зависят от оценката на търговеца за наличните условия. Както бихте очаквали, бектестингът е по-малко подходящ, когато става въпрос за дискреционна търговия, тъй като стратегията не е строго дефинирана.

Това, разбира се, не означава, че ако сте дискреционен търговец, изобщо не трябва да извършвате бектестинг или хартиена търговия. Това просто означава, че резултатите може да не са толкова надеждни, както в другия случай.

Систематичната търговия е по-приложима към нашата тема. Систематичните търговци разчитат на система за търговия, която дефинира и им казва точно кога да влизат и да излизат. Докато те имат пълен контрол върху това каква е стратегията, входните и изходните сигнали се определят от стратегията. Можете да мислите за проста систематична стратегия като:

  • Когато A и B се случат едновременно, влезте в сделка. 
  • Когато X се случи след това, излезте от търговията.

Някои търговци предпочитат този подход. Тя може да елиминира емоционалните решения от търговията и да осигури разумна степен на увереност, че системата за търговия е печеливша. Разбира се, все още няма гаранции.

Ето защо е важно да се уверите, че имате много специфични правила във вашата система за това кога да влизате или излизате от позиции. Ако стратегията не е добре дефинирана, резултатите също ще бъдат непоследователни. Както може да очаквате, този вид стил на търговия е по-популярен при алгоритмичната търговия.

Има софтуер за бектестинг, който можете да закупите, ако искате да правите автоматично тестване. Можете да въведете свои собствени данни и софтуерът ще извърши бектестинг за вас. В този пример обаче ще се спрем на стратегия за ръчно тестване. Ще отнеме малко повече работа, но е напълно безплатно.


Как да извършите бектестинг на стратегия за търгуване

Можете да намерите шаблон за електронна таблица в Google Sheets в тази връзка. Това е елементарен шаблон, който можете да използвате като отправна точка, за да създадете свой собствен. Той ви дава обща представа за това каква информация може да съдържа лист за бектестинг. Някои търговци ще предпочетат да използват Excel или да го кодират в Python – тук няма строги правила. Можете да добавите много повече данни и всичко друго, което смятате за полезно.
Дата
Пазар
Страна
Влизане
Спиране на загубаПрибиране на печалбатаРискНаградаPnL:

08.12

BTCUSD

Дълга

18 000 долара

16 200 долара

21 600 долара

10%

20%

3600

09.12

BTCUSD

Къса

19 000 долара

20 900 долара

13 300 долара

10%

30%

-1900


И така, нека извършим бектестинг на една проста стратегия за търговия. Ето нашата идея:

  • Ние купуваме един биткойн при първото ежедневно затваряне след златен кръст. Златен кръст е налице, когато 50-дневната пълзяща средна пресече над 200-дневната пълзяща средна.
  • Ние продаваме един биткойн при първото ежедневно затваряне след смъртен кръст. Смъртен кръст е налице, когато 200-дневната пълзяща средна пресече под 50-дневната пълзяща средна.

Както можете да видите, ние дефинирахме и времевата рамка, в която стратегията е валидна. Това означава, че няма да го считаме за сигнал за търговия, ако на 4-часовата графика се случи златен кръст.

В името на този пример ще разгледаме само периода от време до началото на 2019 г. Въпреки това, ако искате да получите по-точни и надеждни резултати, можете да се върнете много по-назад в ценовото действие на биткойн.

Сега, нека видим какви търговски сигнали произведе тази система за периода:

  • Купуване @ ~5400 долара
  • Продаване @ ~9200 долара
  • Купуване @ ~9600 долара
  • Продаване @ ~6700 долара
  • Купуване @ ~9000 долара


Ето как изглеждат нашите сигнали насложени върху графиката:

Стратегия за златен кръст и смъртен кръст. Източник: TradingView.


Първата ни сделка би довела до печалба от около 3800 долара, докато втората ни сделка доведе до загуба от около 2900 долара. Това означава, че нашият реализиран PnL в момента е 900 долара. 

Ние също сме в активна търговия, която към декември 2020 г. има около 9000 долара нереализирана печалба. Ако се придържаме към нашата първоначално дефинирана стратегия, ще затворим това, когато се случи следващият смъртен кръст. 



Оценка на резултатите от бектестинга

И така, какво показват тези резултати? Нашата стратегия би довела до разумна възвръщаемост, но не показва нищо толкова забележително засега. Бихме могли да реализираме отворената в момента търговия, за да увеличим драстично нашия реализиран PnL, но това би обезсмислило бектестинга. Ако не се придържаме към плана, резултатите също няма да са надеждни.

Въпреки че това е систематична стратегия, си струва да вземете предвид и контекста. Нерентабилната търговия от 9600 до 6700 долара беше по време на сриването от COVID-19 през март 2020 г. Такова събитие „черен лебед“ може да има огромно влияние върху всяка система за търговия. Това е друга причина, поради която си струва да се върнем по-назад, за да видим дали тази загуба е извънредна или просто страничен продукт на стратегията.
Във всеки случай, така може да изглежда един прост процес на бектестинг. Тази стратегия може да е обещаваща, ако се върнем назад и я тестваме с повече данни или включим други технически индикатори, които потенциално да направят сигналите, които произвежда, по-силни.

Но какво друго могат да ви покажат резултатите от бектестинга?

  • Мерки за волатилност: вашият максимален възход и спад.
  • Експозиция: размерът на капитала, който трябва да разпределите за стратегията от цялото си портфолио.
  • Годишна възвръщаемост: процентната възвръщаемост на стратегията за една година.
  • Съотношение печалба-загуба: колко от сделките в системата водят до печалба и колко до загуба.
  • Средна цена на попълване: средната цена на вашите попълнени влизания и излизания в стратегията.
Това са само няколко примера и по никакъв начин не е изчерпателен списък. Какви показатели искате да проследявате зависи изцяло от вас. Във всеки случай, колкото повече подробности записвате в дневник за настройките, толкова повече възможности ще имате да научите от резултатите. Някои търговци са много стриктни в своите тестове и това може също да рефлектира в техните резултати.
Последното нещо, което трябва да имате предвид, е оптимизацията. Ако сте прочели нашата статия за бектестинг, ще разберете разликата между бектестинг и форуърдно тестване или търговия на хартия. Може да бъде полезно да тествате и оптимизирате идеите си в среда за търговия в реално време, като тестовата мрежа на Binance Futures.


Заключителни мисли

Минахме през основния процес как да извършим ръчен бектестинг на търговска стратегия. Не забравяйте, че миналите резултати не са гаранция за бъдещи резултати. 

Пазарната среда се променя и вие ще трябва да се адаптирате към тези промени, ако искате да подобрите своята търговия. По принцип също е полезно да не се доверявате сляпо на данните. Здравият разум може да бъде изненадващо полезен инструмент, когато става въпрос за оценка на резултатите.