Ксения Кузнецова
Ксения Кузнецова личный блог
24 февраля 2023, 18:00

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

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

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

Сейчас мы сделали пивот. Однако база данных с коинтегрированными парами может быть полезна, если вы занимаетесь парным арбитражом.
36 Комментариев
  • robomakerr
    24 февраля 2023, 18:21
    в CSV бы)
      • robomakerr
        25 февраля 2023, 13:30
        Ксения Кузнецова, а нельзя ли просто выложить БД на яндекс-диск? веб-интерфейс капец как неудобен.
          • robomakerr
            26 февраля 2023, 17:32
            Ксения Кузнецова, да всем. Долго думает, невозможно сохранить выборку одной страницей, невозможно в текстовый файл сохранить. Но ради одного читателя думаю нет смысла возиться.
  • ipsnow
    24 февраля 2023, 19:55
    @Ксения Кузнецова бектестер написан не на c#, случаем? мб и его заодно выложить, если под пивотом подразумевается уход от алго?
      • ipsnow
        24 февраля 2023, 20:35
        Если не секрет, почему ориентированы именно на автоследование?  или суть пивота больше в роботе, а вопросы его использования пока на второстепенном плане?
        И правильно ли понимаю, что вы работаете в этой теме с переменной интенсивностью около 5-7 лет? Интерес вызывает мотивация к столь долгосрочным и затратным исследованиям
          • ipsnow
            24 февраля 2023, 21:07
            Ксения Кузнецова, весьма достойная мотивация. Озвученные причины, конечно, странные, но следить за процессом все равно будет интересно
              • ipsnow
                24 февраля 2023, 21:30

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

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

                  • ipsnow
                    24 февраля 2023, 22:40

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

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

  • vlad1024
    24 февраля 2023, 21:48
    Открою секрет, на бирже нет настоящей коинтеграции, а лишь лажа которая триггерит статистические тесты. Коинтеграция однозначно должна давать  error correction model. Если совсем на пальцах, то это означает наличие индикатора(через разность пар или коинтеграционный вектор) положительные значения, которого скоррелированны с положительными приращениями ценового ряда, а отрицательные соответственно с отрицательными. Такой прелести не на одном более менее эффективном биржевом инструменте вы не найдете.
      • vlad1024
        24 февраля 2023, 22:24
        Ксения Кузнецова, коинтеграция как раз и не подразумевает нормальность остатков в общем случаи, а лишь то что остатки будут стохастическим процессом с порядком интеграции ниже чем у случайного блуждания. Таким образом болтаться между «индикатором» туда сюда, а болтание должно обеспечиваться за счет механизма корреляции приращений с положением «индикатора» относительно нуля, но это все лирика математической теории…
          • vlad1024
            24 февраля 2023, 23:50
            Ксения Кузнецова, коинтеграция построена на том, что остатки это стационарный процесс. К стационарным относятся например такие процессы, как применение любого конечно линейного фильтра к белому шума, или процесс  возврата к среднему(орнштейна-уленбека). Да и вообще белый шум в остатках противоречит даже простейшей интуитивной модели на которой демонстрируют коинтеграцию «пьяница с собакой на резиновом повадке ». Молчу уж про то, что нормальность и белый шум в остатках, подразумевает простейшая модель линейной регрессии, и за это никто нобелевку бы не дал. )
              • vlad1024
                25 февраля 2023, 08:46
                Ксения Кузнецова, опять мимо, вы уж разберитесь в чем разница между нормальным распределением и стационарным процессом. Линейная регрессия это про нормальные остатки, коинтеграция это про стационарные остатки. Нормальные остатки(и любой белый шум) это стационарный процесс, но большинство стационарных процессов это не белый шум. Стохастические дифуры к удивлению тоже могут давать стационарные процессы.
                  • vlad1024
                    25 февраля 2023, 09:16
                    Ксения Кузнецова, сочинять? вы бы хотя бы для начала википедию проверили. 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.

                    А разбирать что вы ни так поняли, в оригинальной статье, у меня нет столько времени.
                      • vlad1024
                        25 февраля 2023, 09:32
                        Ксения Кузнецова, так противоречия никакого и нет, так как нормальный белый шум это стационарный процесс. )
            • robomakerr
              25 февраля 2023, 13:28
              vlad1024, а существует ли в природе общепринятая модель возвратности на дифурах (типа ОУ) для нестационарных процессов? Ну т.е. с учетом трендовой (медленно меняющейся) составляющей? Что-то погуглил и не нашел сходу.
              • vlad1024
                25 февраля 2023, 14:43
                robomakerr, для детерминированного среднего, очевидно, достаточно сложить тренд и ОУ. К примеру, константное смещение матожидания приращений, даст прямую beta*time.  Дальше встает вопрос о вашей стохастической модели тренда, если не устраивает тривиальная. Но я вообще мало видел исследований по этому поводу, за исключением того что писал уважаемый А.Г. ) Слабо меняющийся тренд, можно считать кусочно-константным, сшитым из линейных кусков обозначенных выше.
                • robomakerr
                  25 февраля 2023, 14:57
                  vlad1024, так о том и речь, чтобы сложить тренд, надо сначала иметь его модель)
                  Прямая конечно не годится, кусочно-линейная тоже, но меня вполне бы устроила модель «медленно и плавно меняющаяся составляющая» типа SMA, но без запаздывания, возможно аппроксимация типа loess или HP-фильтра. Странно, что человечество еще не составило такой дифур)
                  • vlad1024
                    25 февраля 2023, 15:11
                    robomakerr, в теории это можно сделать через фильтр Калмана, на практике ему сносит крышу. Так как он не может сделать decoupling тренда и стохастической составляющей. Или я не знаю как это правильно сделать, хотя и пытался не особо. Но вообще я думаю, что это сложно сделать даже с теоретической точки зрения, так как по факту это просто две МАшки, одна медленная, другая быстрая.
                    «Запаздывание» при поступающих данных online не возможно победить, так как точка смены параметров распределения, и когда мы сможем это достоверно определить, всегда будут идти с временным лагом. Определить точки смены тренда постфактум, имея все данные, более подъемная задача.
  • XuMuK
    25 февраля 2023, 07:16
    Очень понравилась вводная в публикации 





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

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн