Носорог
Носорог личный блог
07 февраля 2020, 06:05

Новая старая история минуток Сишки

Привет всем!

Для тестирования торговой стратегии, очевидно, нужна качественная история. Обсуждение тем «тест истории ничего не гарантирует» и «покупай у ММВБ тип А (https://www.moex.com/ru/orders?historicaldata) и сиди восстанавливай весь ход торгов» — оставляю за пределами этой темы.

Моя цель — трудозатратами до 1-2 «рабочих вечеров» получить более-менее качественную историю Сишки с 2012г., склеенную с учетом фактической практики моего переключения контрактов.

Как и большинство трейдеров исторические данные я качаю с Финама (юзаю свой макрос в Excel, ибо я олд-скул-программист, осваивать новые питоны — некогда).

Раньше брал финамовскую склейку, но очевидно, что это не удовлетворяет второй части моей цели, что будет снижать качество тестирования. Поэтому решил заморочиться со склейкой контрактов самостоятельно. Алгоритм то простой — обрезать у конкретных контрактов данные в момент, когда я по своей практике и переключаюсь между ними.

При этом, уже долгое время юзая финамовскую склейку, я регулярно нахожу в ней косяки — явно нереальные шипы. Бывает они длятся часами. Поэтому ради светлой цели решил восстановить свой макрос в Excel, которым некогда пробовал таскать данные по акциям через ISS с сайта ММВБ. Для меня была аксиома, что именно там — самые качественные данные. В принципе, быстрым костылем и не особо вспоминая (старый) API ISS, удалось скачать данные по контрактам сишки. Правда не с первого раза — то данные есть, то их нет, но за пару раз все скачалось.
Прим. Говорят, что есть уже новое API, но разбираться с ним мне точно сейчас не охота, это гарантированно за пределами моего бюджета времени на этот вопрос.

В общем, сделал склейку данных с ММВБ — и решил сравнить графики с Финама и с ММВБ, предвкушая наблюдение массы финамовских «шипов-козявок», а также дыр данных, ради избавления от которых, собственно говоря, и тратил свое время. Безусловно, я их увидел, но шокирован был другим — чуть ли не больше их есть на стороне ММВБ! Могет это следствие бесплатности данных, типа стимулирование покупать платный продукт. Не знаю.

Вот как это выглядит:

Новая старая история минуток Сишки

На верхнем графике — данные с ММВБ.
В середине — данные с Финама.
На нижнем индикаторе — простая формула: максимум из разниц между OpenММВБ и OpenФинам, HighММВБ и HighФинам и т.д. При полном совпадении свечей индикатор, очевидно, равен 0. Но на показанном примере — мы видим разницу High больше 100 пунктов!

При всем уважении к ММВБ, мне данный шип кажется нереальным. Конечно, в торговле все бывает, но не так часто. А еще — в правой части графика мы видим — дыру данных! Сам график я перед публикацией сделал более крупным, но в реальности буквально в этот же день с 14:55 там еще одна дыра, вернее дырище — аж до начала вечерней сессии!

В итоге, немного расстроенный пошел спать, но в 5 утра мой мозг снова проснулся и повел меня писать этот пост :).


Итак, коллеги, вопрос простой — есть ли идея получше, чем:
— скачать данные по каждому контракту теперь и с Финама.
— сделать быстренько сверку в Excel (можно даже формулами, но мне удобнее макросом, не суть) — и при выявлении шипа (сверх например 30 пунктов) на одном из графиков при отсутствии его на другом — тупо брать данные свечи без шипа. Допускаю, что шипы у ММВБ являются некой защитой интеллектуальной собственности (признаться, сам бы, наверное, в их ситуации делал бы так, причем индивидуально каждому клиенту — для последующей идентификации сливщика данных). Но если сделать предположение, что случайные или специальные ошибки в данных являются следствием случайной функции, то вероятность совпадения выдуманных шипов одновременно на обеих свечах — маловероятно. Ну а в случае дыр остается брать данные с Финама, естественно все же посмотрев наличие их шипов на этом участке. 

Прим. Кстати, после правки шипов у ММВБ получается, что данные уже перестали быть их интеллектуальной собственностью — ведь я получил исходник бесплатно, после чего вложил свой труд в их модификацию (ровно также, как если бы я расставил свои запятые в стихах Пушкина :)


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

Заранее благодарен за любую помощь!




31 Комментарий
  • Кашников Александр
    07 февраля 2020, 10:01
    Привет! Вам нужно реальные обезличенные сделки (я думаю у кого-то из частных трейдеров они есть), уже с них строите нужный график со склейками и т.п. Моекс и остальные поставщики прячут свои сделки, фильтруют крупных игроков, т.е. делают все, для того, что бы чел, который занимается тестированием не нашел ситуаций, когда его выбъет по стопу 5 раз в день или вообще внутри 1-й минуты раз 30. В итоге стратегия будет гладкой, а на деле — гадкой)
  • Кирилл Глухов
    07 февраля 2020, 10:49
    Большую работу проделываете. Тоже интересно, где можно взять качественную историю. Как вариант при тестировании в самой стратегии прописывать: не торговать момент склейки. Ну тут тоже есть минусы. 
  • old schooler
    07 февраля 2020, 11:02
    вот здесь глянь , автор пишет «Все спайки (шпили, «заборы», аномальные свечи) на склейках постараюсь зачистить.»-но сам не проверял
    • Кирилл Глухов
      07 февраля 2020, 12:02
      old schooler, проверял, НЕ зачищено
  • XXM
    07 февраля 2020, 12:49
    Торгую Si стратегии, протестированные на USDTOD. Проблем со склейкой не имею :)
  • SergeyJu
    07 февраля 2020, 13:21
    Минутки с финама, взятые раздельно по каждому фьючу, очень чистые. Не идеал, но почти. Склеивать надо самому, это не просто, а очень просто. На смартике обсуждали это множество раз. 
      • SergeyJu
        07 февраля 2020, 15:58
        Носорог, на написание  комментов+чтение посетители потратили намного больше временных ресурсов. 
  • Oerlikonium
    07 февраля 2020, 15:11
    А зачем вам такая чистота и точность? На рынке всё равно будет что-то новенькое, с которым торговой системе придётся взаимодействовать в плюс. Если такие мелочи имеют значение — это плохой знак.
      • Oerlikonium
        07 февраля 2020, 16:33
        Носорог, я сам качаю данные с ФИНАМа и на отдельных контрактах вроде никакого лютого криминала не видел, хотя может и не присматривался. Сейчас я вообще дальше 2016-17 года в прошлое не смотрю, и вообще интересуюсь только ценами закрытия минуток и объёмами.
        Не, я вообще не намекаю на подгонку )
        Просто да, если в данных присутствуют какие-то незначительные несовпадения с абсолютно точной историей с самой биржи, это вообще ни на что существенно влиять не должно, шум он и есть шум.
        • Дмитрий Овчинников
          08 февраля 2020, 21:31
          oerlikon, 
          почему не смотрите далее 2016-17 года?
          • Oerlikonium
            08 февраля 2020, 22:14
            Дмитрий Овчинников, да как-то дальше в прошлое не нужно, практика показывает что этого вроде как хватает для обучения моделек. Но я торгую интрадей.
            • Дмитрий Овчинников
              08 февраля 2020, 22:54
              oerlikon, 
              у меня большинство алгоритмов тоже интрадей, но я недавно добавил к моделям 2015 год. И добавил бы еще и 2014, это очень интересно, но к сожалению, пока нет технической возможности. И, кстати, на 2015 результаты существенно отличаются от 2016 и 2017.
              • Oerlikonium
                09 февраля 2020, 00:43
                Дмитрий Овчинников, да наверное отличаются, но я как бы не историей занимаюсь ) можно конечно попробовать обучиться на данных тех лет и посмотреть что было бы если бы сейчас было тогда, только не вижу большого смысла если честно. Интереснее какой-нибудь новый инструмент попробовать с текущими данными.
                • Дмитрий Овчинников
                  09 февраля 2020, 01:01
                  oerlikon, 
                  вы не поняли, я не говорю об обучении моделей. Я говорю о тесте OUS. Мне интересно поведение моего портфеля систем на данных, отличных от тех, на которых проводилось построение. Эти данные могут быть на графике как справа, так и слева. Но справа медленно, а слева быстро :)
                  • Oerlikonium
                    09 февраля 2020, 01:29
                    Дмитрий Овчинников, да не, я всё понял конечно. Просто я модели делаю не для любых данных, а только для тех что будут справа. То есть чтобы проверить как вся эта люстра повела бы себя в прошлом, надо переобучить её так, как будто бы она в прошлом, а 2015 скажем год ещё не наступил ) Иначе на просто каких-то данных из прошлого её гонять конечно можно, но довольно бессмыссленно. Так для оценки рисков если только что будет если модели работать перестанут )))
                    • Дмитрий Овчинников
                      09 февраля 2020, 01:53
                      oerlikon, 
                      Бинго! Я это делаю именно и только для оценки рисков. 
                      • Oerlikonium
                        09 февраля 2020, 14:51
                        Дмитрий Овчинников, да что бинго )) это не самый важный элемент в оценке рисков, настолько что его можно спокойно доверить подмастерьям просто чтобы без дела не сидели. Ну, как плац драить )
                        • Дмитрий Овчинников
                          09 февраля 2020, 15:00
                          oerlikon, 
                          какие же элементы оценки рисков наиболее важны?
                          • Oerlikonium
                            09 февраля 2020, 15:03
                            Дмитрий Овчинников, риск того, что обученная модель окажется негодной конечно же. Это как бы должно быть очевидно, не?
                            • Дмитрий Овчинников
                              09 февраля 2020, 15:05
                              oerlikon, 
                              прошлое об этом вам ничего не скажет, а к будущему доступа нет, поэтому точного ответа на этот вопрос вы не получите. Значит этот вопрос не имеет смысла.
                              • Oerlikonium
                                09 февраля 2020, 15:17
                                Дмитрий Овчинников, ну, не имеет так не имеет ))
  • ch5oh
    07 февраля 2020, 21:29
    Если Вы так хорошо считаете Ваше время, может, разумней купить эти данные на МФД или напрямую на бирже? Оплатить подключение к сервису ISS — и выкачать за пару дней всё, что он только согласится Вам отдать?..
      • ch5oh
        08 февраля 2020, 00:19

        Носорог, может, неправильно понял в своё время, но ISS, который бесплатный — это тестовое подключение. Чтобы попробовать и отладить свои системы. Отличие в качестве данных, понятно, лучше выяснять напрямую у техподдержки тамошней.

         

        И по ценнику он мне показался довольно гуманным. Вы же не тики/стаканы качать планируете. Всего лишь минутки.

         

        Но личного опыта работы с этим сервисом нет.

         

        С уважением,

  • Пафос Респектыч
    07 февраля 2020, 22:52
    Когда с FTP мосбиржи ещё можно было выкачивать бесплатно все сделки по фьючам я качал, кажися есть 2011-2018 год сишка-ришка точно есть. По ним можно легко восстановить минутки точно-преточно, если нужно.

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

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