facevalue
facevalue личный блог
09 марта 2016, 16:33

Встреча с алготрейдингом

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

Итак, краткая сводка:

1. ТSLabне поднял котировки СМЕ-фьючей, поиск RTFM не дал результатов. Платформа заточена под рынок РФ, все остальное кастомное. Простой ТХТ файл с простой котировкой вида «20141207 230100;2068.75;2068.75;2068.25;2068.25;11» не поднял. Выбросил.

UPD: После общения в личке и танцев с бубнами котировки появились. Об этом ноль открытой информации. НОЛЬ!

2. WealthLab — очень громоздкая конструкция. Очень платный. ))) Ближайшие RTFM не дали результатов. Тем более, демо-версия кастрированная, а ломанную не позволяет религия невозможно использовать. Без знания программирования что-то неклассическое заалгоритмить практически невозможно. Отложен в сторону.
3. AmiBroker — AFL понравился больше всего. Есть понятные примеры, очень простые конструкции языковой логики.  Бесплатная версия кастрированная, не помнит ничего после закрытия. Платная — кандидат на внимание.
4. StockSharpвообще не завелся. Поставлен через VS 2012 Ultimate — не работает. Скачан с GitHub'a — same story. Да, я разблокировал архивы! При попытке поднять простые коды с примерами ругается кучей ошибок, в которых с порога не разберешься. Будь я программист, то поковырялся бы, люди же кодят! Плюс, там реально правильный набор подключений к Америке. Я бы сказал, что это единственный продукт, который работает с западными рынками адекватно. All others SUCK. Но это продукт для тех, кто УЖЕ умеет кодить на Шарпе. Или вообще умеет кодить. Очень хотелось бы приподнять. Реальный кандидат на платный курс.
5. ThinkOrSwim — ThinkScript обладает определенными возможностями, и для решения индикаторных задач он очень прост. Для бектестинга не подходит в принципе, хотя на доступной истории можно отрисовывать сделки и потом смотреть их на графике. Но получить статистические данные никак. Вообще. По крайней мере, я не нашел. Остается старым добрым ТОСом. ;)

Теперь по самим языкам.

Я склоняюсь к тому мнению в сети, что по времени, которое нужно потратить на изучение, будучи Zero в кодинге, написание своего софта комфортнее. Это _не_ правильнее, зачастую не быстрее, но комфортнее. Минусы подхода — многие не знают проблематику алготрейдинга (partial fill, slippage, «garbage» ticks, data delay, order delay, time zones, off-market ticks, заглядывание в будущее и куча всяких еще «этсэтэра»). Без этих знаний и опыта MyWay будет похож на путь джедаев-горе-трейдунов-самодуровучек. Но т.к. я работал уже разработчиком алгоритмов (некодинг), и сталкивался с кучей всего в реальных торгах алгоритмов, то точно знаю чего хочу и какие избежать подводные камни. Мне не нужны кубики, мне не нужны сотни всяких готовых индикаторов. Я не хочу долго изучать «как средствами библиотеки собрать цифры в нужном порядке». Мне Просто Нужен Алгоритм с Оптимизатором! Не требовательный к скорости бектеста. Не требовательный к скорости исполнения потом в режиме реального времени.

1. C# — круто, но сложновато. Плюсы — кууууууча документации! На любых мовах мира. Для подключения к брокерам не нужны костыли, практически все поддерживают. Нужен платный курс.
2. Python — еще круче, потому что проще. Есть минус — мало документации, для подключений к брокерам нужны костыли. Можно пробовать своими силами. Платных курсов толковых нет, потому что в основе своей питон используют в других целях.
3. R — для бектестов незаменим. Реальная числодробилка с простыми и понятными средствами визуализации результатов. По поводу костылей не знаю, но по ощущениям — этот язык предназначен для работы с данными во всех кама-сутрических позах. Все, кто есть в инетах, портируют потом стратежку в отдельно стоящий код на удобном языке, или да, портируют в WL, TSL, Ami, etc. Платные курсы не имеют смысла, потому что там начинается погружение в логарифмы, интегралы, матрицы и т.д. Мне это банально не нужно. Базовые тесты данных вполне просто проводятся своими силами. Очень помог вот этот ресурс. Суббота — прошел курс, в Воскресенье — первые таблички с результатами бектестов.

ВЫВОД: иду на платное обучение, параллельно изучаю вопрос самостоятельно. Первое — потому что сидеть и долго думать над тем, что уже придумали нет смысла. Время не бесконечно. Второе — потому что интересно. В поисках обучения, где помогут пройти обучение не на пересечении двух мувингов, а на примере конкретно поставленной задачи.

ПС Метатрейдеры и околонего не рассматривались по понятным причинам. Миноритарный или малоизученный софт (aka ZerroTrader) не изучался.
50 Комментариев
  • Ivor
    09 марта 2016, 16:54
    так что выбрали то?
  • aka
    09 марта 2016, 16:58
    … спасибо за обзор… я бы все-же добавил бы VBA — для не очень быстрых алгоритмов он вполне подойдет....
    … плюсы:
    — он уже может быть частично изучен
    — навалом ресурсов, та же планетаексель ответит практически на любой вопрос и с примерами
    — может пригодится не только на фр, но и в любом офисе
    — сопрягается со множеством другого софта — базы данных, activeX и т.д…
  • Ярик
    09 марта 2016, 17:09
    А где qlua?
  • Alexand77
    09 марта 2016, 17:09
    Если C# кажется сложноватым, при всех вами же описанных плюсах, то не беретесь лучше вообще.
      • Alexand77
        09 марта 2016, 17:14
        facevalue, а кубики в TS Lab проще чем питон. Так вам шашечки или поехать?
          • Alexand77
            09 марта 2016, 18:15
            facevalue, вы довольно капризный человек, как я погляжу :)
  • Susanin
    09 марта 2016, 17:15
    на смарт лабике полно всяких обсуждений инструментов. хоть раз идею алгоритма бы обсудили. а то может и инструменты не нужны будут.
    • Alexand77
      09 марта 2016, 17:18
      Susanin, в том то и дело что. Я пытался у себя в блоге обсудить идею алгоритма, но как то в комментах к этому агрессивно отнеслись. Привел бэк-тест за пять лет, код в Ами, гипотезу и объяснение, но сказали, что я все делаю не так. 
      Действительно, многие думают, что все дело в наличии или отсутствии робота, что в этом все проблемы и если будет робот, то сразу все завертится. Но это не так.
    • Евгений
      09 марта 2016, 17:22
      Susanin, есть сайты где и алгоритмы обсуждают. Это же новостной сайт. Здесь обсуждение актуально на 2-3 часа. Как вы себе представляете обсуждение алгоритма, где только описание идеи требует сопоставимое время. А время на анализ, формализация идеи? Анализ полученных результатов.

      Мешанина ни к чему хорошему не приведет. Сайт хороший. Новости о новом. Более от сайта не требуется ничего.
  • ves2010
    09 марта 2016, 17:22
    тслабе есть техподдержка и форум… стучи — подключат
  • Real Lord
    09 марта 2016, 17:27
    Мне кажется, все же проще всего разобраться с TSLab. То что не подошли сходу исходники котировок, решается перегруппировкой колонок в Excel. Но учить с 0 и городить что-то свое — это реально сложнее. Если уж не хватило терпения разобраться с тестовой платформой, то разобраться в программировании с 0 будет в 10-100 раз сложнее.
      • Chepell
        09 марта 2016, 18:07
        facevalue, что значит стандартные котировки?
        Тслаб понимает вот такой формат (как у финама), время начала бара.

        <DATE>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>
        20101210,100000,31175.00,31175.00,31150.00,31150.00,6

        На сайте тслаба есть видеокурс для новичков

          • Chepell
            09 марта 2016, 18:51
            facevalue, ну дайте свой текстовик в правильном формате, попробую у себя
          • Chepell
            09 марта 2016, 18:53
            facevalue, я вообще тслаб только для автоматизации исполнения использую. Рисечи в мультичартсе делаю, а потом переписываю под тслаб.
          • Кот Матроскин
            09 марта 2016, 20:37
            facevalue, 

            Инструкция:
            Файловый поставщик данных, обеспечивающий работу с данными в формате текстового файла. Данный поставщик умеет определять формат по заголовку. 
            Пример правильного заголовка: 

            <TICKER>,<PER>,<DATE>,<TIME>,<LAST>,<VOL> 
            <TICKER>,<PER>,<DATE>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL> 

            Разделителем всегда является запятая, десятичный разделитель — точка. 
            Формат даты и времени определяется автоматически. Если строки с форматом в файле нет, то будет использоваться формат: 
            <DATE>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>

            Реально у меня:
            MIX,1,20131230,234800,152610.0000000,152610.0000000,152600.0000000,152600.0000000,11
              • Кот Матроскин
                09 марта 2016, 21:17
                facevalue, 
                ага, как и положено в России, мануал был прочитан не до, а после того, как все сломалось)))
      • ves2010
        09 марта 2016, 18:31
        facevalue, читай мои блоги я много пишу про тслаб…
  • ZMX
    09 марта 2016, 17:40
    Простите за ламерство — но чем плох метатрейдер? Спрашиваю серьезно, т.к. конкретно сейчас пишу робота на нем. От себя про него могу сказать самый главный минус — отсутствие адекватного дебагера на истории. Это жесть конечно. Приходится делать принты переменных потоком и потом изучая результаты вычислять ошибки кода. С другой стороны прям ностальжи… 90-е… QBasic )))
      • Chepell
        09 марта 2016, 18:09
        facevalue, есть мт5 с подключением к московской бирже. фьючи, валюты и акции там уже торгуются. Брокеры открытие и бкс.
          • Chepell
            09 марта 2016, 18:35
            facevalue, трейдстейшн/мультичартс? сам так на cme торговал с подключением к zenfire
      • Чёрный кот
        13 марта 2016, 20:05
        facevalue, годы идут, все меняется))))))) Вы бы еще более раннее время вспомнили
  • Buy_SubZero
    09 марта 2016, 17:57
    АмиБрокер самый лучший. Его народ хвалил еще лет 10-15 назад.
  • Ruslan_Loginov
    09 марта 2016, 18:23
    … а метасток, омега… типа умерли как динозавры?
    • А. Г.
      09 марта 2016, 18:29
      "… Руслан..", 

      Метасток с его исполнением только по О, Н, L или C изначально был «урезанным». И эту фигню они так и не устранили. А Омега «переквалифицировалась» в платформу брокера, которая дается только его клиентам.
      • А. Г., не обязательно открывать счет у брокера. Подписка на TradeStation для любого не клиента стоит $250 в месяц.
        • А. Г.
          09 марта 2016, 23:09
          Дядя Ваня СпекулянтЪ,

          250$ в месяц — не хило просят.
  • Ruslan_Loginov
    09 марта 2016, 18:36
    видать не сильны вы в метастоке. исполнение не только по охлс. 
    • А. Г.
      09 марта 2016, 21:02
      "… Руслан..", 

      С 2007-го года забыл о нем после того, как стал использовать в качестве «чертилки» Амиброкер. Впрочем для торговли я ни первым, ни вторым не пользовался никогда.
  • day0markets.ru
    10 марта 2016, 06:10

    Python — проще и код пишется быстрее. Но чаще всего он будет работать медленнее, чем C#. 

    Плюс ты захочешь UI. На C# это в разы удобнее, чем на Python.

  • Ivan P
    01 ноября 2016, 21:38
    «хотя на доступной истории можно отрисовывать сделки и потом смотреть их на графике.» как это можно реализовать?

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

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