~Russian Bear’Z Blog~



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

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

(more…)

Search of the optimal strategies using Pareto Set

Posted in Live, Research(eng), генетический алгоритм by whiteline on the April 13th, 2006

The question of the utilization of optimization for the strategies is disputable but I don t want to make you change your mind. I just want to mention that if you have invented some strategy without any parameters it will work only for having some historical data. And its impossible to draw a conclusion concerning its utilization. And having an assumption that some connection exists the dynamics of the alteration of the quotations with the past you can empirically select the best solutions (it can be either a single strategy or a set of it, reliant from the parameters). But there may be a situation when there are a lot of parameters or there are a little data under test, on which the resolution may behave aloof. It is examined by the carrying out the additional tests on other data.

Let’s examine in details the search of the optimum conclusion. It is obvious that the main objective of the quality of the strategy is a future profit that is why if you simplify the terms of the task by varying out the tests only for the historical data you must not be guided only by this single parameter as it does not reflect the main essence of the task. Thus, it is necessary to analyze such a criteria which can be regarded as a stable in respect of data. Such objectives are: Profit Factor, Drawdown, Percent Profitable, Ratio Avg. Win/Avg. Loss etc. But at the same time having obtained a conclusion which is optimum in respect of one objective it does not necessarily mean that it will be optimum for another one. Nevertheless you would like to solve the following task: to minimize the risk and maximize the profit at the same time.

(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…)