~Russian Bear’Z Blog~



Руководство по использованию GA4TS

GA4TS Dynamic Link Library (version 1.1) имеет стандартный интерфейс, поэтому использовать библиотеку можно в любой программе, поддерживающей вызовы через API. Библиотека защищена современными криптографическими методами и может быть использована только на компьютере зарегистрированного пользователя. Поддерживается совместимость только в ОС: Windows 2000 и более поздние версии.

(more…)

Разбиение волатильности

В продолжение статьи Оценка волатильности, по просьбе читателей, привожу пример разбиения волатильности на составляющие движения вверх и вниз. Это полезно для оценки исторических значений для разных опционов пут и колл. Суть метода в следующем: имеющейся ряд Ci ценовых приращений, мы разбиваем на две непересекающиеся выборки. Например, это можно сделать, выбрав дни с Ui белыми и Di чёрными свечами. Очевидна такая выборка будет отвечать требованиям по корреляции.

(more…)

Тестирование опционных стратегий в Omega TradeStation

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

Иной раз приходилось использовать абсурдные вещи: делать сигнал на открытие позиции с параметром k контрактов, где k принимает +1/-1, т.е. на “как и было”/ “поменять покупку на продажу и наоборот”. Оптимизация это та чёрная работа, которую компьютер может сделать лучше человека. Это к тому что и опционов много и параметров тоже.

Итак, что бы провести тестирование стратегии на опционах Omega – наилучший инструмент для этого (после Excel конечно). Для этого не обязательно иметь данные по всем страйкам опционов, со всем возможными датами погашения. А достаточно иметь дневные свечи по активу (spot) и волатильности (implied volatility). Возьмем, к примеру на Yahoo Finance, QQQQ(Trust Shares NASDAQ 100) и ^QQV(QQQ Implied Volatility Index), и загрузим их в Omega как показано на рисунке ниже:


Рис. 1. Тестирование опционной стратегии.

Для этого сначала загружается QQQQ, после клавишей F5 добавляется Data2.

(more…)

GA4TS.DLL – Генетический алгоритм для TradeStation

GA4TS – динамическая библиотека, предназначенная для оптимизации стратегий по одному или нескольким критериям в TradeStation Omega(any version).
Достоинства алгоритма реализованного в GA4TS:

  1. Возможность поиска оптимальных по Парето решений.
  2. Поиск осуществляется методом Генетического Алгоритма.
  3. Большáя скорость сходимости, на порядки выше других аналогичных методов (ГА).
  4. Высокая точность вычислений.

Данная библиотека в себя включает:

  1. Библиотека позволяет использовать все возможности алгоритма.
  2. Возможность использования через специальный интерфейс во всех версиях TradeStation Omega.
  3. Возможность настройки, и коррекции параметров репродуктивного цикла в Генетическом Алгоритме.
  4. Добавление в базовую популяцию, заведомо известных, хороших решений.
  5. Побитовая точность вычислений.
  6. Фильтрация данных, при выводе.

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

Для этого рассмотрим пример из MATLAB’а: Rastrigin’s Function (рис. 1), в описании к Genetic Algorithm and Direct Search Toolbox. Функция имеет вид:


Ras(x,y) = -(x2+y2)+10(-2 + cos(2πx) + cos(2πy)),

в которой, совершены тождественные преобразование для сохранения точности вычислений, т.к 1 +10-16 на ПК как правило равно 1.

Рис. 1. Rastrigin’s Function.

(more…)

Поиск оптимальных по Парето стратегий

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

Остановимся подробней на самом поиске оптимальных решений. Очевидно, основной критерий качества стратегии, это прибыль которую она может показать в будущем, поэтому, упростив условия задачи путём проведения тестов только на исторических данных, нельзя руководствоваться одним только этим показателем, потому что на истории он никак не отражает основную суть задачи. Таким образом, необходимо анализировать такой критерий, или несколько, который ведёт себя наиболее устойчиво к данным. Такими критериями могут быть PF(Profit Factor), DD(Drawdown), Percent Profitable, Ratio Avg. Win/Avg. Loss и т.д. Но при этом, получив решение, оптимально по одному из критериев, совсем не обязательно, что оно будет оптимально по какому-либо другому. А хотелось бы, например, решить задачу – минимизировать риск, максимизировать прибыль, причём одновременно.

(more…)