Избранное трейдера tashik

Перевод основных моментов статьи «Momentum in traditional and cryptocurrencies made simple» Janick Rohrbach, Silvan Suremann, Joerg Osterrieder. Статья интересна последовательным подходом к разработке алгоритма, обходясь при этом очень простой математикой.
Введение
Импульс это традиционная стратегия для торговли валютами. Растущие ранее активы с большей вероятностью продолжат свой рост, ранее падающие продолжат падение. Для исполнения такой стратегии нужно покупать дорожающие валюты и продавать дешевеющие. Мы используем алгоритм, представленный в Baz, J., Granger, N., Harvey, C.R., Le Roux, N., Rattray, S., 2015. Dissecting investment strategies in the cross section and time series., для генерации импульсных сигналов, основанных на пересечениях трех экспоненциальных скользящих средних с различными временными горизонтами. Эти три скользящие средние определяют короткий, средний и долгосрочный тренд. В упомянутой статье было показано, что этот подход работает хорошо для различных классов активов. Мы возьмем только валютный рынок и детально покажем, как алгоритм работает применительно к нормально распределенным приращениям. Затем мы используем алгоритм для бэктеста на реальных данных и продемонстрируем, на каких периодах стратегия работает, а на каких — нет.

Небольшая статья с ресурса http://www.talaikis.com/ о построении простой стратегии, использующую наивный байесовский классификатор при создании процесса возврата к среднему. Весь код в статье приведен на языке Python.
Это достаточно большая область исследований, но расскажем все очень кратко. Мы попытаемся найти взаимоотношение между временными сериями (в данном случае возьмем в качестве сигнала взаимный фонд XLF из финансового сектора, сдвинутый по времени на 1 день назад), а нашей целью будет фьючерс S&P500 в форме CFD. Будем входить в длинную позицию по этой бумаге при нулевой вероятности приращения. Логически нулевая вероятность ни о чем не говорит, другими словами, будем покупать возврат к среднему.
1. Получение данных
Y = read_mongo(dbase, "S&P5001440") X = read_mongo(dbase, syms[s]).shift() #готовим набор данных res = pd.concat([X.CLOSE, Y.CLOSE], axis=1, join_axes=[X.index]).pct_change().dropna() res.columns = ['X', 'Y']

Всем привет.
Решил выложить в открытый доступ базу данных тиков с CME, которая накапливалась за последние годы, и обновляется по итогу дня.
85.25.211.62
login: smartlab
pass: smartlabpass
Ссылки на торрент: http://ge.tt/1Ql8j3Y2
№2: app.box.com/s/h0dhmkif0fhnvlpzdp8ma89c1ysv876t
seconds (int32) — кол-во секунд с начала суток по Чикаго.
milliseconds (int32)
price (int32)
volume (int32)
bestBidPrice (sbyte) — расстояние в тиках между price и реальной ценой BidPrice
bestAskPrice (sbyte) - расстояние в тиках между price и реальной ценой AskPrice
bestBidSize (int32) — доступно с июня 2015
bestAskSize (int32) - доступно с июня 2015
Создаем класс Tick:

Продолжение. Начало в моем блоге и на сайте.
В прошлой статье про модель Хестона мы отметили, что она обладет недостатком, который проявляется в неточности определения цен опционов на малых сроках экспирации. Здесь мы рассмотрим модель Бейтса, в которой этот недостаток устранен, и она является одной из лучших аппроксимаций, описывающих поведение цен опционов для разных страйков и периодов до экспирации.
Модель Бейтса относится к моделям стохастической волатильности и определятся следующими уравнениями:
