r0man
r0man личный блог
31 января 2020, 19:24

Как за полминуты протестировать идею на 150 миллионах тиков

Тестировать будем крипту на Bitmex, так как там можно без проблем достать тики с направлениями на халяву.
Собственно, идея очень простая:
— покупаем, если сумма объемов последних 5 сделок больше 500,000
— продаем, если сумма объемов последних 5 сделок меньше -500,000
Торгуем одним условным битком (тикер XBTUSD).
Использовать будем R и пакет QuantTools.
Пишем немножко кода:
Как за полминуты протестировать идею на 150 миллионах тиков

Результаты:
Как за полминуты протестировать идею на 150 миллионах тиков
Как за полминуты протестировать идею на 150 миллионах тиков

Посчиталось всё где-то за 38 секунд. Из них 30сек заняло чтение тиков с диска. Ниже табличка профайлинга по времени в миллисекндах:
Как за полминуты протестировать идею на 150 миллионах тиков

25 Комментариев
  • fxsaber
    31 января 2020, 19:41
    Интересно сравнить производительность с другими Тестерами.
    • ves2010
      01 февраля 2020, 19:50
      fxsaber, самый шустрый амиброкер… там специально сделали чтоб самый быстрый код крутился на ядре и процессорном кэше без доступа к внешней оперативке...


      • fxsaber
        01 февраля 2020, 23:26
        ves2010, если знаете Ami, можно сравнить с MT5.
  • day0markets.ru
    31 января 2020, 19:55
    векторный тест… думаю numpy так же обработало бы.
    то, что быстро круто, но от реальности будет ой как далеко.
    вообще тест подтверждает мои ощущения от крипты — если налили лимитник, то будет минус:)
  • fxsaber
    31 января 2020, 20:03
    Логично было бы вынести во входные параметры ТС какие-то показатели и сделать Оптимизацию. Не в курсе, справится ли QT. Ну и walk-forward замутить там же.
    • day0markets.ru
      31 января 2020, 20:11
      fxsaber, да нет в этом смысла. это тиковый грааль. добавить задержки в макрет дате и исполнении + кодовый обвесок движка и грааль стухнет. опять же экзекьюн на тике, а не на котировке. такое надо на нормальном движе тестить для начала и потом уже добавлять оптимизацию и прочее
      • Cristopher Robin
        31 января 2020, 21:01
        day0markets, не пизди. Все что работает на тиках и все что считается наносекунды и обрабатывается за 8 секунд, это все экстремально критично к исполнению и экстремально не пригодно для бектестинга.

        П.С. Прошу прощения, только сейчас увидел что вы именно это и имели в виду.
  • Rostislav Kudryashov
    31 января 2020, 20:21
    Что такое «тики с направлениями»?
    «сумма объемов последних 5 сделок» — это сумма объёмов на последних 5 тиках?
  • ch5oh
    31 января 2020, 21:08
    Этот «тестер» бесконечно далек от нормальной симуляции исполнения заявок. Также хотелось бы на выходе получить стандартную статистику: список сделок, средняя сделка, распределение финрезов сделок… Что я Вам рассказываю прописные истины? =)
      • Capital Management
        01 февраля 2020, 00:28
        r0man, а какая просадка у вашей стратегии и каким обьемом тестили
          • Capital Management
            01 февраля 2020, 02:21
            r0man, при обьеме 10 контрактов просадка будит 8000usd я так понимаю) а при 100 80тыс в моменте, а если тест не годовой)))
              • Capital Management
                01 февраля 2020, 14:59
                r0man, я о том что просадка будит увеличиваться какая цена битка не была, всегда и что самое интересное вы ни когда не знаете ав друг макс просадка продлитс подольше)
  • Gryphon
    31 января 2020, 21:19
    На мексе когда движуха такая ордера не проходят
    • tranquility
      31 января 2020, 21:35
      Gryphon, а если лимитку ставить подальше от движухи с рассчетом что ее потом смоет волной еще дальше, такие ордера принимает? Понятно, что профит тогда меньше будет, но, может, не отрицательный получится в итоге…

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

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