Обсуждение статьи "Разрабатываем мультивалютный советник (Часть 12): Риск-менеджер как для проп-трейдинговых компаний"

 

Опубликована статья Разрабатываем мультивалютный советник (Часть 12): Риск-менеджер как для проп-трейдинговых компаний:

В разрабатываемом советнике у нас уже заложен определённый механизм контроля просадки. Но он имеет вероятностную природу, так как основывается на результатах тестирования на исторических ценовых данных. Поэтому просадка, хотя и с небольшой вероятностью, может иногда превышать максимальные ожидаемые значения. Попробуем добавить механизм, обеспечивающий гарантированное соблюдение заданного уровня просадки.

За последнее время тема контроля рисков поднималась, например, в статьях Риск-менеджер для ручной торговли и Риск-менеджер для алгоритмической торговли. В них автор предлагал программную реализацию, контролирующую соответствие различных параметров торговли заранее заданным показателям. Например, при превышении установленного уровня убытка за день, неделю или месяц, торговля приостанавливается.

Также весьма интересной показалась статья Учимся у проп-трейдинговых компаний, в которой автор рассматривает требования к торговле, предъявляемые проп-трейдинговыми компаниями для прохождения испытаний трейдеров, желающих получить капитал в управление. Несмотря на неоднозначное отношение к деятельности подобных компаний, которое можно встретить на различных ресурсах, посвящённых трейдингу, использование чётких правил контроля рисков является одной из важнейших составляющих успешной торговли. Поэтому, почему бы нам не воспользоваться уже накопленным чужим опытом и не реализовать свой собственный риск-менеджер, взяв за основу модель контроля рисков, применяемую в проп-трейдинговых компаниях?


Автор: Yuriy Bykov

 
Классную вы работу проводите! Спасибо за статью.
 
Спасибо за отзыв! Будем стараться и дальше держать планку. 
 

Спасибо за интересную статью! Классная работа.

Если позволите, хотел уточнить пару моментов логического и технического характера:

Правильно я понимаю, что при контроле рисков в методе DailyLoss() не учитывается риск просадки по еквити?

Почему при работе с массивами используете именно макросы? 

Спасибо.

 

Спасибо за отзыв!

Правильно я понимаю, что при контроле рисков в методе DailyLoss() не учитывается риск просадки по еквити?

Наверное, неправильно. Метод DailyLoss() не производит оценку насколько большая случилась просадка. Он только переводит заданный максимальный уровень просадки в валюту счета из процентов при необходимости. Само сравнение происходит в методе CheckDailyLimit():

if(m_dailyProfit < -DailyLoss() && CMoney::DepoPart() > 0) { ... }

Значение m_dailyProfit обновляется на каждом тике и вычисляется как разность текущих средств (эквити) и дневного уровня (максимума из значения баланса и средств на начало дневного периода):

m_dailyProfit = m_equity - m_baseDailyLevel;

Поэтому вроде бы просадка по средствам как раз и учитывается. Или я неправильно понял вопрос?


Почему при работе с массивами используете именно макросы?

Для компактности кода. Еще макросы позволяют передать себе в качестве параметра блок кода, а при реализации подобных операций через функции передавать функциям блок кода как параметр нельзя.

 
Yuriy Bykov #:

Спасибо за отзыв!

Наверное, неправильно. Метод DailyLoss() не производит оценку насколько большая случилась просадка. Он только переводит заданный максимальный уровень просадки в валюту счета из процентов при необходимости. Само сравнение происходит в методе CheckDailyLimit():

Значение m_dailyProfit обновляется на каждом тике и вычисляется как разность текущих средств (эквити) и дневного уровня (максимума из значения баланса и средств на начало дневного периода):

Поэтому вроде бы просадка по средствам как раз и учитывается. Или я неправильно понял вопрос?


Для компактности кода. Еще макросы позволяют передать себе в качестве параметра блок кода, а при реализации подобных операций через функции передавать функциям блок кода как параметр нельзя.

Спасибо большое за расширенный ответ )) Будем ждать новых статей! )