Провел некоторое время в знакомствах с платформами анализа и бектестинга. Знаю, что много кто с нижеперечисленными продуктами работает, и даже делает это весьма успешно и хорошо. Но я пока что склоняюсь к тому, что реально проще написать что-то свое с нуля. Пусть рагульное и с костылями, но ненужно тратить два месяца только на изучение библиотек.
Итак, краткая сводка:
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) не изучался.
Ivor, Выбираю между чистым Шарпом и Питоном. Сейчас, в процессе обсуждения сколняюсь больше к Шарпу, потому что больше зайцев убивается. Пока подберу курс — занимаюсь развлечениями в Ами.
UPD После разбора с котировками в ТСЛабе — играюсь еще и с ним.
… плюсы:
— он уже может быть частично изучен
— навалом ресурсов, та же планетаексель ответит практически на любой вопрос и с примерами
— может пригодится не только на фр, но и в любом офисе
— сопрягается со множеством другого софта — базы данных, activeX и т.д…
Действительно, многие думают, что все дело в наличии или отсутствии робота, что в этом все проблемы и если будет робот, то сразу все завертится. Но это не так.
Мешанина ни к чему хорошему не приведет. Сайт хороший. Новости о новом. Более от сайта не требуется ничего.
Тслаб понимает вот такой формат (как у финама), время начала бара.
<DATE>,<TIME>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOL>
20101210,100000,31175.00,31175.00,31150.00,31150.00,6
На сайте тслаба есть видеокурс для новичков
20151209,230100,2037.25,2038.75,2037.25,2038.5,42
Не поддерживается
Инструкция:
Файловый поставщик данных, обеспечивающий работу с данными в формате текстового файла. Данный поставщик умеет определять формат по заголовку.
Пример правильного заголовка:
<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
Видать, это особенности подхода.
ага, как и положено в России, мануал был прочитан не до, а после того, как все сломалось)))
Метасток с его исполнением только по О, Н, L или C изначально был «урезанным». И эту фигню они так и не устранили. А Омега «переквалифицировалась» в платформу брокера, которая дается только его клиентам.
250$ в месяц — не хило просят.
С 2007-го года забыл о нем после того, как стал использовать в качестве «чертилки» Амиброкер. Впрочем для торговли я ни первым, ни вторым не пользовался никогда.
Python — проще и код пишется быстрее. Но чаще всего он будет работать медленнее, чем C#.
Плюс ты захочешь UI. На C# это в разы удобнее, чем на Python.