professor facepalm
professor facepalm личный блог
11 января 2016, 12:18

Открыл библиотеку для бектестинга

По мотивам: smart-lab.ru/blog/300948.php

Ссылка:
github.com/bytefury/trading_robot_2

Выкладываю скорее для себя. Вряд ли кто-то будет разбираться в ней и тем более пользоваться.

Пример стратегии: github.com/bytefury/trading_robot_2/blob/master/strategies/common/mo_watcher_strategy.hpp

Что она делает: отправляет заявку, если было три серии совершения сделок на 200 и более контрактов. Серия сделок должна произойти не более, чем за 5 секунд. И промежуток между сериями должен быть не более, чем 5 секунд. Инчае стратегия прерывается и всё начинается заново.

И никаких вам 200 перменных и 3000 кубов на tslab'е! :)

Это если в кратце. Там ещё много чего есть. Например, автоматическое перемещение заявки, если между ней и лучше сделкой того же направления накопилось больше 50 заявок. Есть и другое.

Возможно кому-то пригодятся классы на С++ для работы с файлами qsh-формата. Это портирования с C# версия классов Морошкина.

ЗЫ: ищу работу по разработке на С++. Если есть интересные предложения, то в профиле на гитхабе есть email.
61 Комментарий
  • Displacer
    11 января 2016, 12:23
    Постараюсь посмотреть на досуге. Это очень достойное решение опубликовать такую работу как Free Software. Respect, кто бы что ни говорил.
      • Pobeditel
        11 января 2016, 12:59
        professor facepalm, вот прежде чем выкладывать и искать работу стоило бы хотя бы сайт этот по ссыле тестировщикам отдать на тестирование… нифига не открывается… картинки точно не открываются
        • stitrace
          11 января 2016, 13:01
          Pobeditel, какой сайт? Гитхаб? Ха-ха-ха) Этот «сайт» на IPO заработал 2 миллиарда долларов на NASDAQ)
          • Pobeditel
            11 января 2016, 15:59
            stitrace, вот сейчас открывается и что? да он криво открывался в хроме… какая на… н разница сколько он заработал если он не открывался? м?) 
  • wallarion
    11 января 2016, 13:08
    +1, с критики гитХаба угарел=)
  • stitrace
    11 января 2016, 13:10
    Посмотрел код. Весьма качественно написано, на первый взгляд. Только доки нет никакой, жаль. Сколько по времени примерно занимает «прогон» суточного лога от запуска до вывода результатов?
  • SMT
    11 января 2016, 13:38
     ищу работу по разработке на С++

    Вроде как программеры от безработицы не страдают ни где. Вопрос оплаты труда только. 
    обязательно в сфере биржевой торговли работать хотите?
      обязательно удаленно?
    на какую  з/п рассчитываете?
      • SMT
        11 января 2016, 14:30
        professor facepalm,  из любопытства? Жизнью «звезды» программирования  интересуюсь ибо фанат.=) 
        Публично выведываю сокровенные тайны у обезличенного персонажа . 
        Уже очевидно что ни в какой команде  не уживетесь.
        Только фриланс за еду. 
        // удачи

         
  • Пафос Респектыч
    11 января 2016, 13:38
    Респект, коллега! Это правильно )
  • Пафос Респектыч
    11 января 2016, 13:43
    Код простенький, но чистенький! ) Даж asio все дела ) Ну всё теперь только резюме заслать! )
  • П М
    11 января 2016, 14:24
    Круто, спасибо! А зачем искусственное ограничение по времени? Я понимаю, память жалко, но так обрезать это слишком упрощенно
      • П М
        11 января 2016, 21:17
        professor facepalm, ну, 5 секунд в стратегии
          • П М
            11 января 2016, 21:58
            professor facepalm, ясно, идея хорошая.
            сегодня в Si за минуту кто-то 50 тыс контрактов купил.
            вот это был всплеск активности...
            на самом дне по 76400
              • П М
                11 января 2016, 23:37
                professor facepalm, меня научи по дружбе. я как раз к подобной задаче подошел. надоело одним скользящим лимитником исполняться.
                хотя б литературу присоветуй в метро почитать
                  • П М
                    12 января 2016, 08:37
                    professor facepalm, программировать не проблема вообще. мне принцип хочется понять. желательно с объяснением. мб я просто не брался, а там ничего сложного.
                    но понимаю, что точно надо следить за потоком всех сделок, чтобы попадать в ритм… просто сам поток сделок ещё не анализировал в квике, начал сверху. часовые свечи, пятиминутные, минутные, теперь к тикам приглядываюсь.
                      • П М
                        12 января 2016, 14:16
                        professor facepalm, ясно. пока делаю всё до слов «или отменить заявку». а в чём незаметность? в грамотном разбиении? и как разбить?
              • П М
                14 января 2016, 10:36
                professor facepalm, он кстати вчера снова заходил в 16:38.
                даже на утреннем падении до его входа 70 коп не достало.
                а 700 * 50 000 = 35 млн. профита
                вот это, блин, торговля.
  • mmm
    11 января 2016, 14:38
    А через что оно подключается к рынку?

    Может, вы и сами qsh файлы выложите?
    • stitrace
      11 января 2016, 14:59
      mmm, оно не подключается к рынку, оно его эмулирует по ордерлогу.
      • mmm
        11 января 2016, 18:20
        professor facepalm, спасибо!
          • mmm
            11 января 2016, 21:19
            professor facepalm, а есть какая-нибудь библиотека для работы с этим qsh, или вам пришлось самостоятельно писать?
  • Анзорик
    11 января 2016, 14:55
    И как долго эти бустовские корутины компилируются? Я лучше следующего стандарта подожду, там вроде обещали добавить.
    Вообще что-то такое хочу сделать под квик, но там увы нет ордерлога.
    Кто-нибудь знает как можно эффективно хранить снимки стаканов?
    • stitrace
      11 января 2016, 15:01
      Анзорик, храни только первый снимок стакана, а остальная инфа только изменения его.
    • Михаил Пиписькин
      11 января 2016, 16:17
      Анзорик, в памяти
  • Михаил Пиписькин
    11 января 2016, 16:14
    ооо даже несколько тестов есть! если честно стратегия выглядит как лапшакод, слишком много нужно написать левого кода. какой перформанс например RI сутки по логу при реакции на каждый коммит с условием что лог загрузить в память?
    • helk3rn
      11 января 2016, 16:58
      Александр, вот добавил бы он пару сотен переменных, все сразу бы встало на места!:)
      • Михаил Пиписькин
        11 января 2016, 18:15
        professor facepalm, мой код это секретные разработки.

        сколько времени нужно вашему тестеру чтобы прогнать дневной лог по RI, если данные из лога предварительно загружены в память.
          • Михаил Пиписькин
            11 января 2016, 19:35
            professor facepalm, тогда это супер результат 2 минуты на день. я на питоне пару лет назад писал за 40 сек работало. текущая реализация на с++ за 14 сек в среднем. 13 месяцев по RI 

            start 14:23:19.295917
            end 15:53:59.027683

            успехов!

              • П М
                11 января 2016, 21:25
                professor facepalm, вот кстати чем плох С++ — он фигово профилируется. или я чего-то уже забыл.
                в java косяки перформанса можно за пару прогонов вылечить.
              • Михаил Пиписькин
                11 января 2016, 21:57
                professor facepalm, я думаю у ребят на Delphi еще быстрее. результат ограничен только скоростью диска. не представляю что можно делать 2 минуты с файлом. еще забыл добавить что тестируется сразу 10-20 стратегий.
  • nbvehrfr
    11 января 2016, 18:44
    кстати у чувака с 3000 кубиками насколько я помню один параметр только в системе
    • Mr. Bean
      11 января 2016, 22:25
      nbvehrfr, интересно что остальные 2999 кубиков делают
  • Пафос Респектыч
    12 января 2016, 18:50
    Хинт: если в теле ифа стоит ретурн, то элс после него не нужен. )
  • imperativ
    23 января 2016, 13:42
    подскажите пожалуйста для нубов как собрать проект? я так понимаю Qt creator нужен и gcc??
  • imperativ
    24 января 2016, 14:06
    спасибо вам за ваш труд, жаль что вы нигде не указали про платформозависимость вашего проекта. под виндой не собирается. используются linux'овый тип u_int8_t, gcc'шный noexcept. Не переносимое решение…
  • imperativ
    28 января 2016, 21:27
    спасибо) да Qt creator и винда это боль, особенно в сочетании с msvc. Русские символы в путях не понимает, в консоли сборки выводит кракозябры. Хоть и удалось победить проблемы с кодировками, буду ставить убунту. жаль конечно что последняя убунту не встает на VirtualBox, придется туда винду перемещать))

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

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