следует исключать, поскольку в большинстве случаев они не соответствуют базовым параметрам тестируемой стратегии.

5.3. Моделирование торговых заявок

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

Эффективный бэктестинг возможен только тогда, когда моделируемые сделки не отличаются от их исполнения в реальной торговле. Хотя некоторые различия в ценах и объемах исполнения неизбежны, задача разработчика состоит в их максимальном приближении. Неизбежность расхождений между моделируемыми и реальными сделками требует включения в алгоритм бэктестинга возможностей моделирования частичного исполнения ордеров и исполнения с использованием цен, несколько отличающихся от зафиксированных в базе исторических данных. Кроме того, цена исполнения должна корректироваться с учетом комиссий, начисляемых за исполнение торговых операций (либо комиссии должны учитываться на более позднем этапе при оценке прибыльности стратегии).

5.3.1. Моделирование объема

Как правило, в исторической базе данных имеется информация об объемах спроса и предложения. Можно было бы полагать, что объем исполнения лимитного ордера равен соответствующему объему котировки. Однако реальное исполнение редко соответствует этому объему. Текущий объем котировки может представлять собой сумму, сложенную из объемов разных торговых площадок. В таких условиях исполнение всего объема вовсе не гарантировано, поскольку сделка должна быть разбита брокером на несколько составляющих и направлена на разные площадки, что делает их полное исполнение неодновременным и сложнореализуемым. Кроме того, рынок опционов организован по принципу маркет-мейкинга, в следствии чего дилер может непрерывно изменять объемы спроса и предложения в зависимости от многих факторов: рыночной ситуации, оценки всей совокупности его собственных позиций и даже от заявок, которые ему поручено исполнять. Таким образом, объемы котировок, имеющиеся в базе данных, могут служить лишь косвенным ориентиром для оценки возможного объема исполнения лимитного ордера.

Другим косвенным указателем на возможный объем исполнения может служить дневной объем сделок по данному опциону, а также «открытый интерес» по нему. Однако и тут не все просто. Объемы опционных торгов часто носят локальный характер. Большие сделки могут происходить крайне эпизодически и не отражать реальную глубину рынка. То же относится и к размеру «открытого интереса», который может быть обусловлен несколькими крупными сделками в предшествующие моменты времени.

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

Конкретный алгоритм, закладываемый в вычисление такой функции и глубина истории, по которой усредняются дневные объемы, могут быть разными. Например, сюда может быть заложен прогноз роста объемов торгов опционами при приближении даты экспирации, а также при приближении цены базового актива к страйку опциона.

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

При моделировании объема исполнения необходимо также учитывать, что ордер, генерируемый системой бэктестинга должен быть кратным величине стандартного лота. Если в теории опцион может рассматриваться как одна ценная бумага, то на биржах опционы торгуются в виде стандартизированных лотов, размер которых определяется установленным биржей множителем. Обычно один лот опционов на американские акции равен 100, на опционы на фьючерс S&P 500 E-Mini один лот равен 50, один лот на опционы на фьючерсы на VIX равен 1000, и т. д. Такой множитель является обязательным элементом опционной базы данных. В силу указанной дискретности объемы открываемых позиций должны быть величинами, кратными лотам. Этого можно добиться либо на этапе формирования ордера, либо в процессе его исполнения.

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

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

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

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

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

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

Вы читаете Опционы
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату