Artemunak
Artemunak личный блог
07 мая 2018, 11:45

про выбор платформы и свой софт

Я тут перечитал статью Антона Кротова которую упомянул недавно smart-lab.ru/blog/122223.php
И меня часто спрашивают на чём крутятся мои роботы. Интересно, кто меня часто читает тот уже знает как я увяжу два этих пункта?
Я пользуюсь тслабом. Ок, я знаю что я нуб, и после этой фразы дальше можно не читать, и ваши самописные решения лучше в миллион раз.


1. Скорость прогона тестов, в тслабе она значительно выше чем в другом софте который я пробовал или про который слышал.
Никакой мудрёж с генной, нейросетевой, видеокартной, облачной, итд, оптимизацией с такой скоростью нафиг не нужен. Те тесты которые я обычно гоняю проводятся за минуту или чуть больше. Конечно с ростом количества параметров время прогона сильно увеличивается, но перебор кучи параметров в один заход это довольно глупо, с таким подходом никакого софта не хватит, а если делать оптимизацию поэтапно и грамотно то в принципе любой софт подойдёт.

2. Стабильность. Помню как страдал первое время, было много глюков, потом сменил брокера, коннектор (имхо Алор самый стабильный брокер с их коннектором алор-трейд), вышла 64 бит версия тслаба, до конца разобрался со всеми настройками и спорными моментами, философия трейдинга эволюционировала.
В итоге уже года 2 как вообще нет ни одного глюка который бы меня волновал, и когда прихожу домой то теперь первым делом не проверяю ботов а занимаюсь своими делами.
За 2 года из глюков было всего 2 перерыва на час-два в торговле по разным причинам,  но такие сбои уже никак не сказываются на моей торговле, ведь среднее время удержания позиций выше, а низкие плечи позволят пережить всё что угодно.
И вопрос на засыпку, что будет делать твой софт когда биржа будет присылать стаканы вверх ногами, с перепутанными бидами и асками? А такое было на ммвб не так давно.

3. Доступность индикаторов. Из коробки в тслабе один из самых бедных наборов индикаторов. На благодаря сборке от Vito тслаб тут вырывается в лидирующие позиции. Кто-то скажет что индикаторы нафиг не нужны, но я их обожаю, хотя даже со сборкой от Vito мне их стало не хватать.

4. Бедность функционала. Вообще в тслабе кучи всего не хватает, но с другой стороны лишнее бы только в сторону уводило. То что реально нужно есть, и работает норм.
Ок, про тслаб хватит, почитайте ещё Ves2010, он про него норм писал. Теперь про свой софт.

Тут есть один человек который больше 2х лет выбирает какой софт использовать или написать ли ему свой, и периодически пишет о том какая должна быть архитектура и какие в нём классы. Блин, за это время я уже тысячу разных тестов провёл, уже весь набор ботов в торговле заменился постепенно полностью 2 раза. Такими темпами пока ты свой софт выберешь уже интернет в РФ или мосбиржу прикроют нафиг. 
Блин, какие классы? В софте должна быть функция «пульнуть заявку», и ещё несколько, а их можно хоть на ассемблере написать, хоть в qpile или метатрейдере, если не было бы тслаба то пулял бы заявки хоть из них, а для моих бектестов сгодился бы любой софт из того что видел.
Ещё должна быть кнопка «выводить бабло». Но для этого у брокеров есть личный кабинет, и свой софт для этого не нужен, если кто вдруг не знал.

Тут есть люди которые потратили годы на свой софт. Ну если кого-то прикалывает писать софт бесплатно то почему бы и нет. Продать его вряд ли получится. И лично я бы вообще не рискнул на своём или на малоизвестном софте торговать, одному человеку сложно и долго протестировать всё так чтобы гарантировалась стабильная работа.

Ок, добрались до самого главного на мой взгляд. Если человек потратил годы на свой софт то он ожидает что рынок ему должен заплатить за это. А вот нифига. От этого и разочарование в трейдинге, типа потратил Х лет, а в результате… Частично пост Антона Кротова об этом.
А рынок даёт столько сколько может дать, и ни копейки сверху, и ему пофиг на твой софт и какие в нём классы.
Потом со своим софтом у тебя может появиться ощущение что ты типа самый умный и что у тебя хорошие системы благодаря ему.
А мне кажется что все зарабатывающие системы примерно одинаковые, одинаково фиговые. Когда ты не потратил кучу времени на них то у тебя будет меньше завышенных ожиданий, и плечи соответственно тоже возьмёшь под них низкие. Что и позволит тебе выжить если что-то пойдёт немного не так как ты хотел, т.е. обычным для рынка чередом, и не разочароваться если ты не заработал кучу годовых.
69 Комментариев
  • Igr
    07 мая 2018, 12:01
    а тслаб спасёт от глюков биржи?  от перевёрнутого стакана? 
      • Андрей К
        07 мая 2018, 12:16
        Artemunak, стаканы перевернулись не во всех источниках данных биржи. Практически все коннекторы не используют эти источники, в которых были проблемы
      • Oleg Only Algo
        07 мая 2018, 17:48
        Artemunak, а у тебя дома сервер или за деньги снимаешь?
          • Oleg Only Algo
            07 мая 2018, 18:39
            Artemunak, у меня на ноутбуке все крутится вообще. ))Правда на ночь его два Раза в неделю выключаю, а то трещать начинает уже. Вот думаю прикупить системник для него с питанием автономным. Думаю все же памяти нужно поболее взять и помощнее. А то все же оптимизация тормозная у тслаба( ну или я хочу быстрее)
            • ch5oh
              07 мая 2018, 21:32
              Oleg Only Algo, сейчас для системника можно кубить блок питания без вентиллятора (полностью бесшумный) + винт ССД, понятное дело. "… И тишина!"
              • П М
                08 мая 2018, 09:47
                ch5oh, ++ и малошумящие венты на проц и системник. желательно с большим диапазоном работы, т.е. чтоб на системнике мог включаться совсем на малых оборотах и неслышно прогонять воздух. плюс установить надо куда-то где будет хороший естественный поток воздуха и малая пыльность. 
                • ch5oh
                  08 мая 2018, 10:31
                  ПBМ, у меня один большой вентиллятор на проце. Емнип, Zalman Lucifier. Хватает. Да, боковая крышка системника открыта всегда — но зато вообще непонятно включен комп или нет.
                  • П М
                    08 мая 2018, 10:48

                    ch5oh, а, круто. у меня сильно попроще вроде Zalman CNPS8900 Quiet

  • Тарас Громницкий
    07 мая 2018, 12:09

    Разумно.

    Пока вам хватает уровня гибкости и функционала тслаба.

    Следующим шагом неизбежно будет свой софт.

    Когда стратегии станут более сложными и например потребуется тихо набирать или скидывать позу.

    Либо синхронно входить/выходить из нескольких активов.

    Когда встанет вопрос диверсификации.

    Собрать портфель значит анализировать больше данных и принимать больше торговых решений за меньшее время.

    С увеличением средств в управлении даже самые неторопливые стратегии требуют качественно иных технических подходов.

    • ch5oh
      07 мая 2018, 12:46

      Тарас Громницкий, в ТСЛаб можно тихо набрать и тихо скинуть позу. Можно следить за 10 тикерами. Можно синхронно кинуть заявку в 10 инструментов.

       

      ХФТ нельзя делать, кмк. Но не исключено, что просто не умею его нагнуть правильно.

      • Sergey Pavlov
        07 мая 2018, 12:52
        ch5oh, еще бы работу со списками тикеров сделали…
        • ch5oh
          07 мая 2018, 13:17

          Sergey Pavlov, =) Тикет в саппорт с конкретным на пальцах разъяснением, что Вы имеете в виду.

           

          Чтобы оптимизатор мог перебирать инструменты как один из параметров оптимизации?

          • Sergey Pavlov
            07 мая 2018, 13:21
            ch5oh, например, система = портфель из акций. До очередного пересчета система не знает, какое подмножество тикеров будет выбрано для трейдов на очередном шаге. Исходное множество для анализа либо предписанное списком, либо (в случае с мосбиржей) тупо все почти 300 бумаг. 
            • ch5oh
              07 мая 2018, 13:31

              Sergey Pavlov, а если Вы уже взяли позицию по Сберу, а на следующем пересчете решили, что Вам Сбер не нужен?

               

              Чем-то похожая задача возникает на амерском рынке: там это называется "Предторговый фильтр", но он действует один раз за день в момент начала торгов.

               

              А дальше следующий вопрос. Окей, список инструментов сформирован. А дальше что с ним делать? По каждому сгенерировать торговый агент и запустить?

              • Sergey Pavlov
                07 мая 2018, 13:58
                ch5oh, ага, ну и прибыль пусть на карточку дальше шлёт.
                • ch5oh
                  07 мая 2018, 15:34

                  Sergey Pavlov, =) при всем уважении, запросы в терминах "чего-то хочется, а кого не знаю" получают традиционный ответ «Когда-нибудь… что-нибудь. Возможно. Подумаем...».

                   

                  А когда нарисованы картинки и стрелочки с указанием где именно ш… и* — другое дело.

                   

                  ПС *«ш… и» == «шашечки».

                  • Sergey Pavlov
                    07 мая 2018, 17:19
                    ch5oh, Антон, при том же уважении, куда точнее? Применяем один и тот же алгоритм, но к разным тикерам. Разница агентов будет лишь в тикерах и сопутствующих деталях (размер лота, шаг цены и т.п.). При одинаковом исходном наборе тикеров возожны два сценария:
                    1. Мы заранее определили подмножество тикеров из доступных и на них торгуем одно и то же.
                    2. На каждом такте подмножество тикеров переопределяется.
                    Второй сценарий в тслабе сейчас в принципе не реализуем. Первый реализуем, но путем дурацкого копипаста агентов. Зачем? А если выбрали торговать 30 тикеров? 30 агентов? Везде руками прописывать шаги цен ипр? Риск ошибиться высок и работа глупая копипастить. Другое дело, что это может быть совсем не актуально для большинства… Но в порядке набрасывания… вот для меня такая тема актуальна.
                    Ну и для тестирования всё аналогично по множеству тикеров. Разумеется эквити должна быть сводной с возможностью детализации по тикерам.
                    • ch5oh
                      07 мая 2018, 18:29

                      Sergey Pavlov, сейчас есть возможность перекинуть значение одного индикатора (или константы) из одного агента в другой.

                       

                      Чисто гипотетичсески, у Вас один агент может заниматься расчетом торговых объемов для портфеля, а все стадо роботов просто принимать для себя рабочий сайз или те параметры, которые почему-то меняются при смене тикера.

                      + Общая защита счета с помощью Риск-Менеджера.

                       

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

                       

                      Пункт 2 я по-прежнему не понимаю. Какое-то извращение ради извращения? Вы мне ответься на вопрос: "что делать с позицией в Сбере, если Вы на следующем пересчете решили, что Сбер Вам уже не нужен?"

                       

                      Соответственно, можно и в обратную сторону: каждый робот считает свою эквити, переводит в рубли и кидает в Глобальный Кеш. Поверх этого крутится некий агрегатор, который эти эквити суммирует.

                      • Sergey Pavlov
                        08 мая 2018, 03:29
                        ch5oh, нет проблемы с примером в виде сбера. Формально строгое правило на выход (очевидное): если сбер выпал из торгуемого подмножества на очередном шаге — это сигнал на закрытие позиции. Можно и иные правила придумать.

                        В целом мы же не только за искусство, но и против курвфиттинга? Первый шаг на этом пути — стокпикинг. Чтобы избежать курвфиттинга от стокпикинга — работаем с пулом тикеров. Ну а дальше то, о чем я написал.
        • Oleg Only Algo
          07 мая 2018, 18:47
          Sergey Pavlov, вообще непонимаю почему не сделают стоить эквити по разным стратегиям. Просили уж 5 лет назад
          • ch5oh
            07 мая 2018, 21:35

            Oleg Only Algo, на ФОРТС многие фьючерсы в своей валюте. Конвертация требует определенной ловкости рук.


            Вы же захотите складывать брент + СИ + РИ + Сбер и получать результат в рублях, верно? А если симуляция за 10 лет — то курс рубля каждый день должен быть свой. Иначе чушь получится.

      • Тарас Громницкий
        07 мая 2018, 12:55

        ch5oh, всему своё время.

        Под каждую задачу свой инструмент.

        • Oleg Only Algo
          07 мая 2018, 19:15
          Тарас Громницкий, каждый раз в Эксель строить геморно
          • Тарас Громницкий
            08 мая 2018, 06:13

            Oleg Only Algo, кстати у экселя довольно сносный API.

            С ним вполне удобно работать даже из C#.

            На сколько помню, даже у Горчакова эксель долгое время был основным инструментом.

    • Boris Litvinov
      07 мая 2018, 22:10
      Тарас Громницкий, автор хотел сказать что он по жизни тяп ляп. Такой подход лишь для тех кому слиться как два пальца. Когда речь пойдет о наборе позы от нескольких лямов тогда бы и говорил. Для автора это казино не более. О наборе позы правильно подмечено. Проверил он, дет сад!
  • brahmin
    07 мая 2018, 12:13
    Вспомнился анекдот, вам шашечки или ехать. 
  • f0xtr0t
    07 мая 2018, 12:19
    скрытая реклама tslab?
    • VladMih
      07 мая 2018, 15:23
      f0xtr0t, а чего её скрывать?
      Я открыто скажу — одна из лучших в мире программ в своём классе. Среди русских однозначно лучшая.
      Если б еще разрабы прислушивались к пожеланиям реальных трейдеров и не кидало их так резко по сторонам, вообще было бы шикарно — лучшего и желать не нужно было бы.
      • ch5oh
        07 мая 2018, 15:29
        VladMih, уже не очень кидает. Траектория поступательная-эволюционная в последнее время.
        • VladMih
          07 мая 2018, 15:31
          ch5oh, дак еще последний кидок не доделан.
          Надеюсь, хотя бы 2.0 долижут, не кинут как 1.2

          Да и эволюция замедлилась. Обновлений почти нет.
          Ночнухи может и лепят, а где релизы?
          Как задолбал один только глюк с копипастом кубиков!
          Пока не догадался как его обходить )))
          • ch5oh
            07 мая 2018, 16:33

            Artemunak, Уже несколько раз встречал этот термин и что его «очень хотят», но так и не понял чего хочет общественность.
            =( Вы извините, что я после многих лет торговли Вас не понимаю с полуслова.

             

            А. Жесткий курвфиттинг сразу под 5 тикеров? Так сейчас можно заправить в один алго хоть 10 торговых источников. Или проблема в том, чтобы пересчитать финрез к одной валюте? Так вроде бы есть возможность использовать свою функцию как оптимизируемый параметр.

             

            Б. Или чтобы торговый инструмент был одним из параметров оптимизации? Типа, мы оптимизируем пересечение мувинга по параметру "Период", но при этом одновременно смотрим, как эта страта ведет себя на 100 тикерах?


            В. Или чтобы можно было взять эквити, условно, 15 роботов (с готовыми параметрами) и подобрать для них наилучшее соотноешние весов? (То есть сделать курвафитинг 2-го порядка ;-) )



            Г. Что-то иное? Все вместе А+Б+В?

            Киньте здесь или в личку подробное описание что Вам надо из этого. Заметьте, это все совершенно разные вещи.

             

            Что лично Вы вкладываете в понятие "портфельная оптимизация"?

              • ch5oh
                07 мая 2018, 18:21

                Artemunak, фраза "или даже нескольких" отправляет количество оптимизируемых параметров на Луну, а количество точек оптимизации — на Марс.


                Ну, то есть "А+Б+В", чтобы можно было сделать совсем хороший фитинг под историю.

                 

                Сейчас основные усилия сосредоточены на провайдере Rithmic (уже доступен в бета-версии бесплатно) и на криптобиржах.

                  • ch5oh
                    07 мая 2018, 21:39

                    Artemunak, во, это вообще вариант «Г».

                    Ммм… надо подумать. Может быть, есть вариант решить через механизм типа кастомного индикатора?..

                  • ch5oh
                    07 мая 2018, 21:59

                    Artemunak, ПС на днях делал что-то похожее, но пошел от обратного: завел несколько источников и от каждого провел свою торговую логику.

                     

                    И еще добавил константу числовую. Значение этой константы определает, какие из веток логики (какие инструменты) надо включать и торговать. Выбор выполняется побитовыми масками. При полном переборе от 0 до 256 будут включаться в торговлю все возможные комбинации из 8 источников (по одному, все возможные пары, тройки и т.д. вплоть до полной корзины).

                     

                    Плюс собственные параметры в торговой логике (грубо говоря, параметры индикаторв) все становятся доступными для оптимизации (при желании).

      • f0xtr0t
        07 мая 2018, 15:31
        VladMih, Вы текст читали? ничего не имею против тслаба
        • VladMih
          07 мая 2018, 15:38
          f0xtr0t, читал. Вот он весь:
          скрытая реклама tslab?
          Я в ответ дал рекламу открытую. И что?
          Чем это вас задело так, что устраиваете наезд?
          • f0xtr0t
            07 мая 2018, 18:31
            VladMih, во-первых не коммент читать надо, а пост, во-вторых в каком месте я наехал? нервный чтоль?

            по теме, автор поста сказал: все что народ сам разрабатывает то говно, юзайте тслаб. поэтому я и сказал что реклама.

            VladMih, да ты еще и дерьмецо оказывается, если не нравятся комменты то сразу в ЧС.
            Имей мужество отстаивать то что пишешь, а не прятаться сразу к мамке в подол.
  • SergeyJu
    07 мая 2018, 12:36
    Я считаю, что софт для разработки стратегий и софт для их исполнения должны быть состыкованы, но не должны быть одинаковыми. Потому что они решают совсем разные задачи. Поэтому конструкты типа Велслаба лично меня не устраивают. 
    Тем более, что я нигде не видел удачного подхода к управлению портфелем систем на нескольких счетах. 
    • ch5oh
      07 мая 2018, 12:43
      SergeyJu, это очень узкая задача с большим количество вопросов для обсуждения (с большой стоимостью разработки). Вряд ли она нужна больше 1% пользователей. Поэтому и софта под нее нет.
      • SergeyJu
        07 мая 2018, 12:46
        ch5oh, узкая=нужная. 
        Автор за два года несколько раз полностью поменял портфель систем. Пока системы просто кубики и нет проблем с емкостью и клиентами, можно обходится тем, что есть. 
        • ch5oh
          07 мая 2018, 12:48

          SergeyJu, и что? Поменял == заменил на улучшенные алгоритмы.

          Вопрос торговли на 10 разных счетах — это необходимо ДУ-шникам. Либо при некоторых крайне специфических условиях.

           

          Если Вы начнете формулировать ТЗ — Вам станет очевидно, что там примерно эшелон подводных камней и нюансов. Либо все выльется в что-то типа автоследования.

          • SergeyJu
            07 мая 2018, 12:55
            ch5oh, я участвовал в разработке двух действующих частных проектов. Главная проблема — качественная постановка задачи. С этим реально беда. А при неуклюжей постановке трудоёмкость реализации  может быть сколь угодно велика. 
    • Тарас Громницкий
      07 мая 2018, 12:57

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

      Избыточная сложность и витиеватость первых ни к чему хорошему в плане стабильности и скорости не приведёт.

      Тем более, что они функционально различны.

      • SergeyJu
        07 мая 2018, 13:00
        Тарас Громницкий, собственно, я об этом и написал. Одно важное исключение — готовую стратегию надо засунуть в портфель с полпинка. Это требует согласованности на приличном уровне.
  • Replikant_mih
    07 мая 2018, 12:48
    1. Так же делаю — отдельные тесты гоняю для отдельных параметров (если я правильно понял конечно)) ).
    • ch5oh
      07 мая 2018, 12:51
      Replikant_mih, по умному этот метод называется "градиентный спуск", кмк. =)
      • Replikant_mih
        07 мая 2018, 12:52
        ch5oh, я не матчу изобретенные мной методы с существующими аналогами))) — возможно)).
      • SergeyJu
        07 мая 2018, 12:56
        ch5oh, ответ верный только в частном случае. Мы работаем с дискретными задачами, а спуск — непрерывная процедура. Тупая-тупая. 
  • silentbob
    07 мая 2018, 13:16
    мультичартс. кодить просто, датафидов масса, брокеров масса. русский рынок правда малость кривой и коннектор писали на брайтон-бич, но тем не менее все очень даже ничего
    • ch5oh
      07 мая 2018, 13:21

      silentbob, $1500 сразу + ежемесячно стоимость датафида и того торгового АПИ, которым Вы будете пользоваться.

       

      Для доступа на рынок РФ условия не всем понравится. =D

      • VladMih
        07 мая 2018, 15:25
        ch5oh, пробовал когда-то. Класная программа для ручного анализа, а для программирования годится только программистам, в отличие от универсального ТСЛаба.
        Ну и дороговато, да.
      • silentbob
        07 мая 2018, 21:33
        ch5oh, под рождество 1200 сразу
        датафид можно из квика загнать, какие проблемы. коннектор да, никуда не годится.
        • ch5oh
          07 мая 2018, 21:47

          silentbob, =) "Квик" и "коннектор никуда не годится" уже как бы намекают.

           

          Те, кто выбирает Квик для торговли вряд ли захотят вот так запросто отдать хоть 70, хоть 90 тыр. Это считай стартовый депозит для многих.

  • chizhan
    07 мая 2018, 14:36
    Автор, Вы не правы. Тслаб создавали фактически для школьников или домохозяек, если угодно. Его кубиковая архитектура лишь тому доказательство. Такой подход демотивирует понимать рынок, предлагая альтернативу гнать тест за тестом, все ближе и ближе скатываясь к курвфитингу (подгонку под исторические данные).  
    Собственный софт во-первых уникален сам по себе, это дает хоть какие-то конкурентные преимущества по сравнению с тслабом, доступному всем. Во-вторых само программирование способствует более глубокому пониманию процессов или, грубо говоря, мозг лучше развивается в достижении цели.

    • ch5oh
      07 мая 2018, 15:28
      chizhan, программирование торгового софта мало приближает к цели "заработать на рынке торговлей". Вы будете знать все тонкости протоколов, огребете кучу проблем при разработке тестера/исполнителя/оптимизатора роботов и в итоге, потратив несколько лет и несколько десятков миллионов рублей (в виде своих человеко-часов) вернетесь в начальную точку: "Поиск торговой стратегии. Где деньги, Зин?".
      • chizhan
        07 мая 2018, 15:37
        ch5oh, смотря как Вы строите свой проект, не так ли? ) для начала нужно ядро, заглатывающее входные данные и выдающее на выходе вероятность движения вверх или вниз. Если это работает с приемлемым результатом в полуавтоматическом режиме, то можно приступать к инфраструктурной части. 
        • ch5oh
          07 мая 2018, 16:22
          chizhan, =D хрень, которая выдает на выходе (цитирую) "вероятность движения вверх или вниз" (подчеркну "правильно(!)выдает вероятность") — это уже готовый грааль.

          Дальше Вы эту штуковину прикручиваете к любому торговому терминалу (хотя бы к Квику даже) — и дело в шляпе.
          • chizhan
            07 мая 2018, 16:33
            ch5oh, есть полно систем с 55% угадыванием. возьмете в граали? а с 80%? Но… где совершенно непонятно насколько глубоко будет проскальзывание
      • VladMih
        07 мая 2018, 15:40
        ch5oh, есть мнение, что приближает хоть как-то? ))
        Вот общение на СЛ — это да! Я уже приблизился! )))
  • Sergey
    08 мая 2018, 10:52
    1.2 или 2.0 используете?

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

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