rss

Записи пользователя uralpro

по

Блоги: личный (100) | открытые (0) | корпоративные (0) | все (100)

Разница между HFT на фьючерсах и акциях

Разница между HFT на фьючерсах и акциях

Статья из блога Jonathan Kinlay, в которой есть очень правильные наблюдения, относящиеся к высокочастотным стратегиям.

 Один талантливый молодой разработчик пришел ко мне с интересной кривой прибыльности высокочастотной стратегии, которую он создал на фьючерсах E-mini (рисунок в заглавии).

Очевидно, что он использовал технику мани менеджмента, так любимую многими разработчиками алгоритмов на фьючерсах. Я предложил ему посмотреть, как будет чувствовать его стратегия при торговле тысячным лотом E-mini, при падении рынка на 20 пунктов. Внутридневная просадка в 100 000$ может сделать такой алгоритм гораздо менее привлекательным. С другой стороны, если вы уже заработали миллионы долларов на стратегии, то можете не особо беспокоиться по этому поводу.

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



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

Простое преимущество в SPY

strat

Статья из блога "Trading with Python" об элементарной стратегии, которая демонстрирует последовательный подход к разработке алгоритмов.

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

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

Давайте возьмем наиболее популярный инструмент — S&P 500 ETF «SPY». Начнем с наблюдений.

Обзор данных

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



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

Состояния модели Маркова в графиках

hidden-markov-model

Еще одна статья с ресурса www.talaikis.com по разработке простой стратегии на модели Маркова с использованием Python.

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

Что будем использовать:

библиотеку Python - hmmlearn.

1. Данные. Возьмем данные по свечам (OHLC), включающие объем, из нашей базы 



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

Предсказание чего угодно с использованием Python

bayes-retgurns-1080x571

Небольшая статья с ресурса 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']


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

Скачки в раундтрипе

Вопрос к тем трейдерам, у которых сервер на колокейшене. Наблюдаю скачки раундтрипа ( а если точнее, времени с момента прихода коллбэка до времени прихода собственных ордеров в ордерлог) в миллисекундах:

Скачки в раундтрипе

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

Алгоритмический подход к созданию стратегий.Часть 3

Interview-with-a-Quant-Part-3-980x423

Начало здесь

Это третья часть интервью со старшим менеджером алгоритмических стратегий большого хедж-фонда. В первой части мы обсуждали теоретическую стадию создания алгоритмической стратегии. Во второй части говорили о передаче стратегии «в производство». Это интервью вызвало много вопросов у наших читателей, ответы на которые были выделены в отдельный пост. 

1.Как вы отслеживаете и управляете вашими моделями в боевых условиях? Какие дополнительные проверки и процедуры используются?

Я верю в ручное отслеживание прибыли/убытков в качестве инструмента диагностики. Мне нужно знать, каждый  день, точный источник моих прибылей/убытков. Что подорожало, что подешевело, насколько и почему. Это дает мне уверенность, что модель работает, как должна, и это действует как система предупреждения плохих новостей.



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

Алгоритмический подход к созданию стратегий.Часть 2

Interview-with-a-Quant-Part-2-980x423

Первую часть интервью смотрите здесь.

Что нужно учесть при запуске стратегии в производство?

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

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

Обычно создается исполнительный прототип, который делает все правильно, но не очень эффективно. Затем я поручаю моим сотрудникам-инженерам сделать производительную версию стратегии на языке Python или даже С, используя библиотеки для реального рынка, которые они создавали и совершенствовали годами. И эта версия подключается к  моей торговой системе, для запуска данной стратегии «в бой».



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

Алгоритмический подход к созданию стратегий.Часть 1

Interview-with-a-Quant-Part-1-980x423

Статья с аггрегатора Quandl Resource Hub.

Quandl взял интервью у старшего менеджера по алгоритмическим стратегиям одного из больших хеджевых фондов. Мы говорили о создании торговых стратегий — от абстрактного представления рынка до конкретного воплощения в стратегию с оригинальной предсказательной способностью.

Можете вы рассказать, как создаются новые торговые стратегии?

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



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

101 формула сигналов для трейдинга. Часть 3

1

Начало здесь.

Зависит ли корреляция сигналов от оборачиваемости?

Если мы проведем параллель между сигналами и акциями, то оборачиваемость по каждому альфа-сигналу является аналогом ликвидности акций, которая обычно измеряется через средний дневной объем торгов (ADDV). Логарифм ADDV обычно используется  как фактор риска в многофакторных моделях для аппроксимации ковариации матричной структуры портфеля ценных бумаг, чье назначение заключается в моделировании вне-диагональных элементов ковариационной матрицы, то есть структуры парных корреляций. Следуя этой аналогии, мы можем задать вопрос, может ли оборачиваемость – или точнее ее логарифм – объяснить  корреляции альфа-сигналов? Очевидно, что примененение оборачиваемости напрямую (в отличие от логарифма) ничего не даст из-за чрезвычайно искаженного (грубо логарифмически нормального) распределения оборота (см. рисунок в заглавии).



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

101 формула сигналов для трейдинга. Часть 2

7

Начало здесь.

Формулы 101 альфа сигнала

В этом разделе мы опишем некоторые общие особенности наших 101 сигналов. Эти сигналыявляются собственностью WorldQuant LLC и используются с его разрешения. Мы даем столько информации, насколько возможно в рамках ограничений, накладываемых правом собственности.Формулы выражений, которые также представляют собой компьютерный код – приведены в приложении А (в следующей части).

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

−ln(today`s open / yesterday`s close) (2)

Здесь в значении вчерашнего закрытия учтены любые сплиты и дивиденды, до момента текущей даты. Идея  состоит в том, что значение цены актива  вернется к среднему значению, чтобы вернуть часть прибыли (если сегодняшнее открытие выше вчерашнего закрытия) или возместить часть убытков (если сегодняшнее открытие ниже вчерашнего закрытия). Это так называемый сигнал с «задержкой-0». “Задержка-0” означает, что время определенных данных (например, цены), используемых в сигнале, совпадает со временем, в течение которого сигнал применяется для торговли. То есть, по сигналу (2) в идеале должны выставляться ордера в момент, или, более реалистично, максимально приближено к, сегодняшней цене открытия. В более широком смысле, это может быть какое-то другое время, например, закрытия дня.



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

....все тэги
UPDONW