Блог им. uralpro |Проверка стратегии GMR с применением языка R

7hPrY5P

В прошлой статье мы рассмотрели простую портфельную стратегию ротации глобальных рынков. Результаты, которые привел автор статьи, были впечатляющими, однако он не опубликовал алгоритм своих расчетов, а только его общее описание. Ilya Kipnis в своем блоге решил проверить указанную стратегию и воспроизвел алгоритм на языке программирования R.

Для проверки был взят несколько иной набор биржевых фондов, чем у автора оригинальной статьи, но поведение этих активов идентично исходным. Итак, используется 5 ETF: MDY, ILF, FEZ, EEM, и EPP, совместно с облигационным фондом TLT в качестве защитного актива. Каждый месяц происходит инвестирование в фонд, показавший больший ценовой импульс на исторических данных. Автору не удалось получить такой же доходности, которая была обещана в оригинале, но и воспроизведен алгоритм был не со 100% точностью — вместо изменяемого исторического периода, по которому принимается решение о выборе, он использовал фиксированный трехмесячный период, так как не до конца понял принцип его формирования.



( Читать дальше )

Блог им. uralpro |Стратегия ротации глобальных рынков

6522331-13758890904933708-Fgrossmann

Насколько могут быть прибыльны портфельные инвестиции, если ими правильно управлять? О своем опыте рассказывает Frank Grossman в блоге Seeking Alpha.

Стратегия ротации глобальных рынков использует переключение между 6 разными биржевыми фондами ETF на месячных отрезках. Бэктестирование доходности такой стратегии c 2003 года впечатляет.

  • Годовая доходность = 41,4% (для S&P500 = 8,4%)
  • Общая доходность с 2003 года = 3740% (S&P500 = 134%)
  • 69% месячных трейдов имели положительную доходность против 31% с отрицательной доходностью

В заглавии статьи приведен график доходности стратегии по сравнению с индексом S&P500.

Используются следующие рынки и инструменты:

  • Американский рынок (MDY — S&P MidCap 400 SPDRs)
  • Европа (IEV- iShares S&P Europe 350 Index Fund)
  • Развивающиеся рынки (EEM — iShares MSCI Emerging Markets)
  • Латинская Америка (ILF — iShares S&P Latin America)
  • Тихоокеанский регион (EPP — iShares MSCI Pacific ex-Japan)


( Читать дальше )

Блог им. uralpro |Импульсные стратегии

mom_constr_hor

Определение и основные принципы построения импульсных стратегий изложены в блоге blog.johandp.com. Стратегии очень простые, но являются основой для многих сложных алгоритмов, их элементы используются и в моих роботах. Привожу здесь перевод статьи из блога в целях классификации различных видов стратегий.

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



( Читать дальше )

Блог им. uralpro |Стратегия на основе асимметрии стат. распределения

sharpe

Вариант стратегии, использующей ассиметрию статистического распределения доходности, рассмотрен в блоге blog.johnorford.com.

Напомню, приращение цены какого-либо актива равна разнице между его ценой в конце расчетного периода и ценой начала периода:

R_t=P_t-P_{t-1}



( Читать дальше )

Блог им. uralpro |Как быстро увеличить производительность алгоритма. Часть 2

NN2Main

Прошлая часть — см. в моем блоге.

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

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

Существует три основных техники объединения:

Смешивание:

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



( Читать дальше )

Блог им. uralpro |Исправления в "Алгоритмах маркетмейкера"

warning-sign

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

Хочу выразить благодарность за проделанную работы Eskaliburу и пользователю r0man, который также работает в направлении практического применения алгоритма. Думаю, у них все обязательно получится, и по результатам разместим отдельную статью на сайте.


Блог им. uralpro |Как быстро увеличить производительность алгоритма. Часть 1

biasnn

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

После построения алгоритма, вам нужно убедиться, что он робастен и будет генерировать прибыльные сигналы при реальной торговле. В данном посте мы представим 3 легких способа увеличить производительность вашей модели.

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



( Читать дальше )

Блог им. uralpro |Получение real-time данных с Google Finance

AAPLpm1

Существует класс алгоритмов, основанных на корелляции цен активов на разных рынках. Для того, чтобы исследовать такие корелляции, например, между американским и российским рынком, необходимо иметь доступ к данным в реальном времени с западных бирж, поставку которых предлагают специальные провайдеры за довольно существенную плату.Однако, есть возможность использования вместо платного датафида парсинг данных real-time с сайта Google Finance. На таких данных высокочастотную стратегию, конечно, не построить, но для более медленных стратегий такой способ вполне подойдет. Впрочем, на высоких частотах сильной корелляции с американцами уже давно нет, и HFT алгоритмы с такой идеей не работают, а вот на длинных промежутках времени есть очень широкое поле для исследований.  Как осуществить получение данных с Google Finance рассмотрено в блоге 



( Читать дальше )

Блог им. uralpro |Стратегия с классификацией ордеров по времени жизни. Часть 2

toa-age-201shrbbofilter-edgex-1366

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

Автоматические стратегии стараются отсылать биржевые приказы, которые содержат небольшие количества акций или лотов. Маркет мейкеры делают это для того, чтобы выборочно торговать с небольшими контрагентами, обходя сильные движения, вызываемые крупными покупками или продажами. Исполнительные алгоритмы отсылают небольшие ордера, чтобы скрыть свои намерения о реализации крупных объемов, избегая тем самым сильного воздействия на цену. Чтобы проверить, действительно ли существуют описанные тенденции на рынке, построим график движения цены, с точки зрения пассивной стороны трейда, после взятия всех ордеров на конкретном уровне для двух ситуаций — когда малые ордера принимают участие в данном трейде, и когда их нет. За малый объем ордера примем 2 целых лота и менее:



( Читать дальше )

Блог им. uralpro |Стратегия с классификацией ордеров по времени жизни. Часть 1

bats

Неплохую идею для высокочастотного трейдинга подсказал Kipp Rogers в своем блоге. Идея несложная, но требующая подробного объяснения, поэтому попробую изложить ее в двух статьях.

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



( Читать дальше )

....все тэги
UPDONW
Новый дизайн