📚 Hub Books: Онлайн-чтение книгДомашняяОпционы. Разработка, оптимизация и тестирование торговых стратегий - Вадим Цудикман

Опционы. Разработка, оптимизация и тестирование торговых стратегий - Вадим Цудикман

Шрифт:

-
+

Интервал:

-
+
1 ... 70 71 72 73 74 75 76 77 78 ... 85
Перейти на страницу:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1 ... 70 71 72 73 74 75 76 77 78 ... 85
Перейти на страницу:

Комментарии

Обратите внимание, что комментарий должен быть не короче 20 символов. Покажите уважение к себе и другим пользователям!

Никто еще не прокомментировал. Хотите быть первым, кто выскажется?