Избранное трейдера Артемий Должиков
Небольшая статья с ресурса 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']
Автокорреляция — статистическая взаимосвязь между последовательностями величин одного ряда, взятыми со сдвигом, например, по времени.Если подать данные в стандартные функции расчета автокорреляции, на выходе получим высоконаучную хрень, которую непонятно как интерпретировать в реальном мире. Поэтому переписываем по-человечески, чтобы она измеряла что? Приавильно, вероятность продолжения тренда, т.е. нужное, полезное и понятное большинству трейдеров качество :)
Общеизвестно, что классическим называют арбитраж, который реализуется между поставочным фьючерсом и его базовым активом. Он относится к рыночно – нейтральным стратегиям и является одним из самых низко рисковых стратегий работы на рынке ценных бумаг. Естественно платой за низкие риски является сопоставимая с ключевой ставкой ЦБ доходность.
Повысить доходность классической арбитражной позиции, без существенного увеличения рисков можно добавляя к двумерным арбитражным позициям (фьючерсы против базовых активов) дополнительное измерение (координату) в виде статистического арбитража фьючерсов или акций входящих в эти пары. Такой вид арбитража мы назвали 3D арбитраж.
Теоретически возможность для такого арбитража создана нашим рынком, где подавляющее число высоколиквидных ценных бумаг в среднесрочном, а тем более долгосрочном плане, высоко коррелированы. Это позволяет позицию по одной акции хеджировать двумя разными фьючерсами без существенного увеличения рисков (один фьючерс на эту же акцию, а другой — на другую акцию, но которая высоко коррелирована с первой). Или наоборот, хеджировать позицию по одному фьючерсу двумя акциями (одна акция — базовый актив, другая высоко коррелированна с базовым активом).
Первую часть интервью смотрите здесь.
Что нужно учесть при запуске стратегии в производство?
Новичкам нужно обратить внимание на соответствие «реальному миру» — на нюансы типа дней экспирации и праздников. Когда вы калибруете систему на исторических данных, можно допускать аппроксимацию без таких дней. Но когда вы переходите к реальной торговле, то не можете быть небрежным, все должно быть максимально точно.
Другой аспект заключается в том, что скорость критична. Я не могу рассчитывать модель в реальном времени (градиентный поиск очень медленный), поэтому нужно все сократить до линейных аппроксимаций изменений. Все это влечет за собой много матричных манипуляций.
Обычно создается исполнительный прототип, который делает все правильно, но не очень эффективно. Затем я поручаю моим сотрудникам-инженерам сделать производительную версию стратегии на языке Python или даже С, используя библиотеки для реального рынка, которые они создавали и совершенствовали годами. И эта версия подключается к моей торговой системе, для запуска данной стратегии «в бой».
Поблагодарить
Можно плюсиками и при желании любой суммой на дальнейшие покупки на:
По поводу «скидывания» на тиковые данные и получения всей истории обращайтесь в личку (у кого не хватает рейтинга пишите комментарий, я вам напишу в личку и она станет доступна). Цена вопроса всего 5000 рублей.
Ранее «скинувшиеся» увидят все данные (и добавленный новый контракт и дальнейшие обновления) по полученной ими ссылке
P.S.
Конструктивные комментарии и вопросы приветствуются.
Флуд, навязывания своего мнения – в топку.