Блог им. facevalue

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

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

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

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) не изучался.
★24
50 комментариев
так что выбрали то?
avatar

Ivor, Выбираю между чистым Шарпом и Питоном. Сейчас, в процессе обсуждения сколняюсь больше к Шарпу, потому что больше зайцев убивается. Пока подберу курс — занимаюсь развлечениями в Ами.

UPD После разбора с котировками в ТСЛабе — играюсь еще и с ним.

avatar
… спасибо за обзор… я бы все-же добавил бы VBA — для не очень быстрых алгоритмов он вполне подойдет....
… плюсы:
— он уже может быть частично изучен
— навалом ресурсов, та же планетаексель ответит практически на любой вопрос и с примерами
— может пригодится не только на фр, но и в любом офисе
— сопрягается со множеством другого софта — базы данных, activeX и т.д…
avatar
roan, Ушел смотреть...)))
avatar
А где qlua?
avatar
Ярик, Не обратил внимания. Was ist Das?
avatar
Если C# кажется сложноватым, при всех вами же описанных плюсах, то не беретесь лучше вообще.
avatar
Alexand77, питон одндозначно легче. Ну так… Это ИМХО
avatar
facevalue, а кубики в TS Lab проще чем питон. Так вам шашечки или поехать?
avatar
Alexand77, Кубики не проще. Я не визуал. Кубики это вообще мрак и жесть для меня.
avatar
facevalue, вы довольно капризный человек, как я погляжу :)
avatar
на смарт лабике полно всяких обсуждений инструментов. хоть раз идею алгоритма бы обсудили. а то может и инструменты не нужны будут.
avatar
Susanin, в том то и дело что. Я пытался у себя в блоге обсудить идею алгоритма, но как то в комментах к этому агрессивно отнеслись. Привел бэк-тест за пять лет, код в Ами, гипотезу и объяснение, но сказали, что я все делаю не так. 
Действительно, многие думают, что все дело в наличии или отсутствии робота, что в этом все проблемы и если будет робот, то сразу все завертится. Но это не так.
avatar
Alexand77, Сейчас появился раздел алготрейдинга, и я думаю, что такие обсуждения нужно поднимать. Раньше они да, терялись в потоке всего. А сейчас есть живой уголок раздел АЛГОТРЕЙДИНГ.
avatar
Susanin, есть сайты где и алгоритмы обсуждают. Это же новостной сайт. Здесь обсуждение актуально на 2-3 часа. Как вы себе представляете обсуждение алгоритма, где только описание идеи требует сопоставимое время. А время на анализ, формализация идеи? Анализ полученных результатов.

Мешанина ни к чему хорошему не приведет. Сайт хороший. Новости о новом. Более от сайта не требуется ничего.
avatar
тслабе есть техподдержка и форум… стучи — подключат
avatar
ves2010, Попробую. Больно он просто выглядит, а все простое как правило очень хорошее.
avatar
Мне кажется, все же проще всего разобраться с TSLab. То что не подошли сходу исходники котировок, решается перегруппировкой колонок в Excel. Но учить с 0 и городить что-то свое — это реально сложнее. Если уж не хватило терпения разобраться с тестовой платформой, то разобраться в программировании с 0 будет в 10-100 раз сложнее.
avatar
Real Lord, Я вот если разберусь с импортом котировок СМЕ, то может вернусь. А так вопрос простой как двери, и по нему нет информации. Как СТАНДАРТНЫЕ котировки минуток с датой/временем вставить в ТСЛаб?
avatar
facevalue, что значит стандартные котировки?
Тслаб понимает вот такой формат (как у финама), время начала бара.

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

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

avatar
Chepell, Я отпишусь онлайн, получилось ли… Но это видеокурс для кого? Типа, догадайся сам что тебе надо? Я люблю доступных девочек! )))
avatar
Chepell, UPD 2: не понимает он ничего. ((( Нужен бубен. Файл с котировками был изменен до

20151209,230100,2037.25,2038.75,2037.25,2038.5,42

Не поддерживается
avatar
facevalue, ну дайте свой текстовик в правильном формате, попробую у себя
avatar
facevalue, я вообще тслаб только для автоматизации исполнения использую. Рисечи в мультичартсе делаю, а потом переписываю под тслаб.
avatar
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
Кот Матроскин, Кидок был в том, что а) данные я брал из NinjaTrader, где поставщиком был Interactive; б) попытки загуглить «импорт котировок из NinjaTrader в TSLab не привели ни к чему; в) формат текстового файла приобретает смысл только после того, как методом бубна полученный файл с минутками был переконвертирован и вставлен в ТСЛ, где нужно просто открыть график и увидеть свечи инструмента.

Видать, это особенности подхода.
avatar
facevalue, 
ага, как и положено в России, мануал был прочитан не до, а после того, как все сломалось)))
Кот Матроскин, Мануал, собственно, для кодеров во многом. А если подход делать с нуля, то все сломалось, и с этого началась магия. ))0
avatar
facevalue, читай мои блоги я много пишу про тслаб…
avatar
ves2010, Хм… Спасибо! Смотрю.
avatar
Real Lord, Не факт если будет правильное обучение. Время что там, что там надо потратить. Там с языком, а там — с кубиками, которые все равно если хочешь жить как белый человек придется кодить…
avatar
Простите за ламерство — но чем плох метатрейдер? Спрашиваю серьезно, т.к. конкретно сейчас пишу робота на нем. От себя про него могу сказать самый главный минус — отсутствие адекватного дебагера на истории. Это жесть конечно. Приходится делать принты переменных потоком и потом изучая результаты вычислять ошибки кода. С другой стороны прям ностальжи… 90-е… QBasic )))
avatar
ZMX, Вот тем и плох, чем Вы описали. Плюс, я не понимаю как можно работать в МТ с фьючерсами. Причина — котировки форекс-кухонь далеки от реальности, бектесты на МТ будут разительно отличаться. Я молчу о реалтайме. Проверялось в 2007-2009-х гг
avatar
facevalue, есть мт5 с подключением к московской бирже. фьючи, валюты и акции там уже торгуются. Брокеры открытие и бкс.
avatar
Chepell, Я торгую только Америку, но за совет спасибо.
avatar
facevalue, трейдстейшн/мультичартс? сам так на cme торговал с подключением к zenfire
avatar
facevalue, годы идут, все меняется))))))) Вы бы еще более раннее время вспомнили
avatar
Чёрный кот, Может и меняется, но подкрутка котировок, исполнение по несуществующим ценам «работают» и по сей день. Вот это проверялось буквально две недели назад. )
avatar
АмиБрокер самый лучший. Его народ хвалил еще лет 10-15 назад.
avatar
Buy_SubZero, Потому что AFL векторный.
avatar
… а метасток, омега… типа умерли как динозавры?
avatar
"… Руслан..", метасток не смотрел, мало информации по нему для простых граждан.
avatar
"… Руслан..", 

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

250$ в месяц — не хило просят.
avatar
видать не сильны вы в метастоке. исполнение не только по охлс. 
avatar
"… Руслан..", 

С 2007-го года забыл о нем после того, как стал использовать в качестве «чертилки» Амиброкер. Впрочем для торговли я ни первым, ни вторым не пользовался никогда.
avatar

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

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

avatar
Alex Hurko, C UI да, тяжелее. Шарп сейчас у меня лидирует по приоритету…
avatar
«хотя на доступной истории можно отрисовывать сделки и потом смотреть их на графике.» как это можно реализовать?
avatar

теги блога facevalue

....все тэги



UPDONW
Новый дизайн