5.3.2. Моделирование цены

В условиях недостаточной ликвидности лимитный ордер может быть исполнен не полностью (что выражается в более низком объеме исполнения по сравнению с объемом ордера), однако цена его не может быть хуже заявленного лимита. Противоположная ситуация наблюдается в случае рыночного ордера – объем исполнения, как правило, соответствует заявленному, зато цена исполнения может оказаться гораздо хуже той, которая существовала на рынке в момент генерирования сигнала на открытие позиции. Такое явление известно под названием «проскальзывание» (slippage).

Для того чтобы смоделировать цену исполнения, необходимо ввести в систему бэктестинга параметр, выражающий величину проскальзывания. Так же как и в случае с моделированием объема исполнения лимитного ордера, этот параметр представляет собой функцию, значение которой зависит от следующих аргументов: среднедневной объем; величина спреда между ценой спроса и предложения; удаленность страйка от текущей цены базового актива; число дней до экспирации. Такой набор аргументов объясняется тем, что в большинстве случаев величина проскальзывания тем меньше, чем выше дневной объем сделок и чем меньше величина спреда. Ликвидность опционов тем выше (соответственно, проскальзывание меньше), чем ближе цена базового актива к страйку и чем меньше дней остается до истечения опционов.

При разработке стратегий, ориентированных на торговлю высоколиквидными опционами со страйками «около денег» и близкими датами экспирации, проскальзыванием можно пренебречь. При моделировании таких ситуаций объем позиций, открываемых в течении заданного промежутка времени по каждому контракту, не должен превышать определенную долю от среднедневного оборота. Величина промежутка времени и доли от оборота являются параметрами бэктестинга и должны задаваться разработчиком стратегии исходя из реалий рынка, на котором он работает. Если считать проскальзывание нулевым, то при использовании рыночных ордеров в качестве цены покупки и продажи можно принимать худшую сторону спреда (покупка по цене предложения (Ask), продажа по цене спроса (Bid)).

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

Такую возможность можно учесть в бэктестинге с помощью параметра ?, принимающего значения от 0 до 1. При ? = 0 покупка происходит по цене Ask, а продажа – по цене Bid (то есть реализуются худшие цены исполнения). При ? = 1 реализуются лучшие цены исполнения – покупка по цене Bid и продажа по цене Ask. В общем случае:

sell price = ? ? Ask + (1 – ?) ? Bid,buy price = ? ? Bid + (1 – ?) ? Ask,

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

Более 800 000 книг и аудиокниг! 📚

Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением

ПОЛУЧИТЬ ПОДАРОК