Блог им. AdrenaLeen

База коинтегрированных пар

Друзья, представляю вашему вниманию базу коинтегрированных пар:
iqsignal.net/coint

На сайте выложена база данных, состоящая из 1 296 208 коинтегрированных пар (из 14 163 423 предварительно проанализированных пар) с 7 бирж (MOEX, NYSE, NASDAQ, AMEX, Poloniex, Binance, Kraken). Для того, чтобы этот проект появился, были написаны:
  1. 7 парсеров
  2. приложение для статистического анализа, которое использует матлаб для проверки коинтеграции и получения коэффициента авторегрессии коинтеграционного спреда
  3. бектестер, корректность которого была проверена сравнением сделок с бектестером метатрейдера
Ранее у меня была идея сделать сервис торговых сигналов по парному арбитражу. Однако после тщательных исследований стало понятно, что эта идея не подходит в качестве успешной бизнес-модели. Анализ рынка показал, что веб-приложение, связанное только с темой коинтеграции, способно захватить лишь очень узкий сегмент.

Сейчас мы сделали пивот. Однако база данных с коинтегрированными парами может быть полезна, если вы занимаетесь парным арбитражом.
★8
36 комментариев
в CSV бы)
avatar
robomakerr, у меня была выгрузка в эксель, но текущее апи не справляется, потому что данных слишком много. Я подумаю над отдельным апи для экспорта.
Ксения Кузнецова, а нельзя ли просто выложить БД на яндекс-диск? веб-интерфейс капец как неудобен.
avatar
robomakerr, могу выложить дамп из постгрес, но что-то мне подсказывает, идея не самая лучшая. Поделитесь, чем неудобен интерфейс?
Ксения Кузнецова, да всем. Долго думает, невозможно сохранить выборку одной страницей, невозможно в текстовый файл сохранить. Но ради одного читателя думаю нет смысла возиться.
avatar
Eugene Logunov, 0,05.
Ксения Кузнецова, то есть значимость 0,05 * 14 163 423 или абсолютно незначимы
avatar
@Ксения Кузнецова бектестер написан не на c#, случаем? мб и его заодно выложить, если под пивотом подразумевается уход от алго?
avatar
ipsnow, на C#. Мы сделали пивот в сторону торгового робота, который будет генерить сделки для автоследования. Бектестер очень специфический, потому что брутфорсом проверяет торговые стратегии на всех найденных коинтегрированных парах. Выкладывать в текущем виде не готова. Были мысли интегрировать его в веб-приложение, но пока руки не дошли.
Если не секрет, почему ориентированы именно на автоследование?  или суть пивота больше в роботе, а вопросы его использования пока на второстепенном плане?
И правильно ли понимаю, что вы работаете в этой теме с переменной интенсивностью около 5-7 лет? Интерес вызывает мотивация к столь долгосрочным и затратным исследованиям
avatar
ipsnow, было несколько причин:
— Начинающим трейдерам тяжело заниматься алгоритмической торговлей.
— Я думаю, что сумею разработать торгового робота, который будет генерировать сделки, повторение которых поможет начинающим трейдерам войти в рынок.
— Статистика по торговому роботу поможет начинающему трейдеру объективно оценить привлекательность инвестиционной идеи.
— Создав торгового робота с публичными сделками, мы дадим начинающим трейдерам прозрачность, ощущение контроля и уверенность в стабильном росте средств на инвестиционном счете.

Суть пивота больше в монетизации. Да, занимаюсь около 7 лет. Мотивация заключается в том, чтобы нагрузить свой мозг на 100% и реализовать весь его потенциал.
Ксения Кузнецова, весьма достойная мотивация. Озвученные причины, конечно, странные, но следить за процессом все равно будет интересно
avatar
ipsnow, а что вам показалось странным в причинах ориентироваться именно на автоследование?

Ксения Кузнецова, возможно просто странные для меня формулировки, но все же:

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

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

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

Обсуждения на эту тему изучу. Если там совсем зашквар, то сделаем еще один пивот )

Ксения Кузнецова, это не зашквар, конечно) просто есть особенности.

Еще вспомнился колобочек, который начал с разработки AutoML платформы, потом пивотнулся на алгорисерч, а закончил запуском автоследования с тактикой мартингейла на малых суммах… Или еще не закончил, мб знает кто?

avatar
ipsnow, жестко )))
Открою секрет, на бирже нет настоящей коинтеграции, а лишь лажа которая триггерит статистические тесты. Коинтеграция однозначно должна давать  error correction model. Если совсем на пальцах, то это означает наличие индикатора(через разность пар или коинтеграционный вектор) положительные значения, которого скоррелированны с положительными приращениями ценового ряда, а отрицательные соответственно с отрицательными. Такой прелести не на одном более менее эффективном биржевом инструменте вы не найдете.
avatar
vlad1024, вы нам тут секрет не открыли. Уже давно известно, что остатки не распределены нормально. Однако как сказал математик Джордж Бокс: «В сущности, все модели неправильны, но некоторые полезны». Пока данная модель позволяет извлекать прибыль, мы ей пользуемся. Когда она себя исчерпает, возьмем другую.
Ксения Кузнецова, коинтеграция как раз и не подразумевает нормальность остатков в общем случаи, а лишь то что остатки будут стохастическим процессом с порядком интеграции ниже чем у случайного блуждания. Таким образом болтаться между «индикатором» туда сюда, а болтание должно обеспечиваться за счет механизма корреляции приращений с положением «индикатора» относительно нуля, но это все лирика математической теории…
avatar
vlad1024, вся коинтеграция и эконометрика базового уровня построена на нормальности остатков. Стохастический процесс с порядком интеграции ниже, чем у случайного блуждания, — это и есть белый шум с нормальным распределением.
Ксения Кузнецова, коинтеграция построена на том, что остатки это стационарный процесс. К стационарным относятся например такие процессы, как применение любого конечно линейного фильтра к белому шума, или процесс  возврата к среднему(орнштейна-уленбека). Да и вообще белый шум в остатках противоречит даже простейшей интуитивной модели на которой демонстрируют коинтеграцию «пьяница с собакой на резиновом повадке ». Молчу уж про то, что нормальность и белый шум в остатках, подразумевает простейшая модель линейной регрессии, и за это никто нобелевку бы не дал. )
avatar
vlad1024, Орнштейн-Уленбек вообще не рядом, потому что это уже стохастические диффуры, и там принципиально другая модель. А коинтеграция — это и есть простейшая модель линейной регрессии, только ряды нестационарные. На всякий случай напомню, что это работа 1987 года.

Хотя сама концепция коинтеграции очень проста, эконометрические методы, необходимые для работы с ней, существенно отличаются от классических эконометрических принципов. Именно поэтому вменяемые статистические тесты на коинтеграцию есть только в матлабе, да и то под патентами.
Ксения Кузнецова, опять мимо, вы уж разберитесь в чем разница между нормальным распределением и стационарным процессом. Линейная регрессия это про нормальные остатки, коинтеграция это про стационарные остатки. Нормальные остатки(и любой белый шум) это стационарный процесс, но большинство стационарных процессов это не белый шум. Стохастические дифуры к удивлению тоже могут давать стационарные процессы.
avatar
vlad1024, не надо сочинять. Если вы откройте статью Энгла и Грэнджера 1987 года, то увидите, что остатки там нормальные, а слова «стационарность» нет и в помине.
Ксения Кузнецова, сочинять? вы бы хотя бы для начала википедию проверили. https://en.wikipedia.org/wiki/Cointegration
Раз:
The Engle-Granger method first constructs residuals (errors) based on the static regression.The residuals are tested for the presence of unit roots using ADF or a similar test. If the time series is cointegrated, then the residuals will be practically stationary
Два:
If two or more series are individually integrated (in the time series sense) but some linear combination of them has a lower order of integration, then the series are said to be cointegrated. A common example is where the individual series are first-order integrated ( I ( 1 ) {\displaystyle I(1)} {\displaystyle I(1)}) but some (cointegrating) vector of coefficients exists to form a stationary linear combination of them.

А разбирать что вы ни так поняли, в оригинальной статье, у меня нет столько времени.
avatar
vlad1024, если бы вы нашли время почитать оригиналы статей, вы бы поняли, что никакого противоречия нет. Формулы там однозначные.
Ксения Кузнецова, так противоречия никакого и нет, так как нормальный белый шум это стационарный процесс. )
avatar
vlad1024, а существует ли в природе общепринятая модель возвратности на дифурах (типа ОУ) для нестационарных процессов? Ну т.е. с учетом трендовой (медленно меняющейся) составляющей? Что-то погуглил и не нашел сходу.
avatar
robomakerr, для детерминированного среднего, очевидно, достаточно сложить тренд и ОУ. К примеру, константное смещение матожидания приращений, даст прямую beta*time.  Дальше встает вопрос о вашей стохастической модели тренда, если не устраивает тривиальная. Но я вообще мало видел исследований по этому поводу, за исключением того что писал уважаемый А.Г. ) Слабо меняющийся тренд, можно считать кусочно-константным, сшитым из линейных кусков обозначенных выше.
avatar
vlad1024, так о том и речь, чтобы сложить тренд, надо сначала иметь его модель)
Прямая конечно не годится, кусочно-линейная тоже, но меня вполне бы устроила модель «медленно и плавно меняющаяся составляющая» типа SMA, но без запаздывания, возможно аппроксимация типа loess или HP-фильтра. Странно, что человечество еще не составило такой дифур)
avatar
robomakerr, в теории это можно сделать через фильтр Калмана, на практике ему сносит крышу. Так как он не может сделать decoupling тренда и стохастической составляющей. Или я не знаю как это правильно сделать, хотя и пытался не особо. Но вообще я думаю, что это сложно сделать даже с теоретической точки зрения, так как по факту это просто две МАшки, одна медленная, другая быстрая.
«Запаздывание» при поступающих данных online не возможно победить, так как точка смены параметров распределения, и когда мы сможем это достоверно определить, всегда будут идти с временным лагом. Определить точки смены тренда постфактум, имея все данные, более подъемная задача.
avatar
Очень понравилась вводная в публикации 





avatar
XuMuK, требования российских научных журналов максимально кринжовые )))
Небольшое добавление к дискуссии: согласно теореме Энгла-Гренджера линейная комбинация нестационарных временных рядов является стационарные рядом (по предположению), но требуется проверка на единичный корень (тест Дикки-Фуллера или ему подобный).
avatar

теги блога Ксения Кузнецова

....все тэги



UPDONW
Новый дизайн