Блог им. facevalue

StockSharp и QuantConnect

Господа, кто-то пилит в этих средах? Поделитесь впечатлениями. Присматриваюсь, потому что «война» с WealthLab и TSLab не дала нужного результата. А писать снова код «с тарелки» не охота. US markets Only.
36 комментариев
Конечно пилим и регулярно. 
avatar
Yuri Chebotarev, QC или S#?
avatar
facevalue, ни то, ни другое. Вы подробно разъясните, чего вы хотите добиться своим постом.
avatar

Yuri Chebotarev, Добиться освобождения Крыма! )))


Нужно услышать человека, который кодит в одной из вышеназванных сред. Для чего? Для того, чтобы понять стоит ли учить язык в языке, или проще писать свой код с нуля. Например, в ТС и WL я не нашел приличного способа склеить арбитражную стратегию, добавить туда свой индикатор и т.п. А посмотрел примеры кода — проще самому написать. Может без такой красивой визуализации, конечно, но зато не придется учить язык в языке.

ПС Я совсем не силен в программировании. Руководил тремя проектами, а сам кодить так и не научился. Но сейчас вроде есть настроение и решение. Поэтому, возвращаясь к теме вопроса, хочу понять — изучать платформы или просто делать свой код под Питоном или Шарпом.

avatar
facevalue, какая разница на каком языке писать. Я знаю трейдеров, которые пишут на Basic-6 и встраивают робот в Excel — все работает, как часы. Дело не в языке программирования, дело в сущности стратегии. Вначале надо стратегию довести до стабильной прибыльности, а уж язык программирования — это дело десятое. 
avatar
facevalue, это наверное не язык в языке
avatar
facevalue, что значит склеить арбитражную стратегию? 
avatar
KNK, Есть торгуемая руками идея, которую я был уверен, что алгоримизировать тяжело. Пробовали пару лет назад. А сейчас с высоты этих двух лет увидел возможность попробовать закодить вопрос. Склеить — потому что немного нестандартный подход. Не в чистом виде арбитраж, который мы привыкли таковым понимать. Идея родилась на базе одной западной диссертации по арбитражным алгоритмам.
avatar
facevalue, что в велсе, что в ТСлабе можно любую стратегию закодить, это до меня не так давно дошло, но и про C# я узнал только 4 месяца назад, а недавно слепил стратегию из кубиков ТСлаба, сторонних индюков и индюков из Велса которые тоже переделал в кубики))
avatar
KNK, Кубики не подходят априори. Возможно я не до конца разобрался. Но пока что остановился на AmiBroker. Плюс, на питон посматриваю.
avatar
facevalue, в тслабе с помощью кубиков можно повторить любую стратегию из велса, также прописываются формулы и прочее,  а что нельзя повторить то можно закодить. Конечно API велса поудобнее будет, иногда тслабовцам хочется в руки плюнуть)) Естественно использовать ТСлаб для оптимизации нормально не получится, но для этого есть велс. С амиброкером не сталкивался, пока не до него.
avatar
facevalue, посматривать можно и на женские ножки тоже не плохо получается
avatar
Yuri Chebotarev, Ээээ… Что? Джамала выиграла?
avatar
с Джамалой не знаком
avatar
KNK, 'nj это ничего не значит
avatar
Расшифруйте, что значит война с wealt-lab, tslab, автор! Спасибо! 
avatar

Иван Тишевской, Ну, началось все с попытки загрузить в эти платформы историю… WL работает под Fidelity, а моя кормушка в IB. В инетах много жалоб по этому поводу.

Потом — с попытки закодить появление джина из бутылки истории двух символов на одном графике и арбитражной математикой поверх них. Потом все тоже самое пытался проделать в ТСЛабе… А потом я забил к чертям, и пошел к QC и S#. Выглядит лучше.

Все остальное написал выше.

avatar
Иван Тишевской, z nfrbt djqys yt dtle
avatar
А вы хотите через IB торговать? Т.е. через TWS API запрограммировать? Мы с этим делом столько возились… Наш программист (с большим опытом программирования) возился несколько месяцев, чтобы реализовать в общем-то не сверх сложную торговую логику, чтобы посредством TWS API посылать ордера на NYSE и NASDAQ. Чисто по этой части использование StockSharp преимуществ не дает, поскольку основные трудности в «общении» с TWS, соблюдении кучи ограничений по использованию TWS API от IB и в программировании торговой логики (ушла ли заявка, отслеживание статусов и пр. пр… в синхронном и асинхронном режимах).
avatar
Sergey Pavlov, а как вы бэктестите стратегии?
avatar
Евгений, зависит от характера стратегии, рынка и актива. В общем бэктест проводится портфельно, т.е. одна и та же стратегия тестируется на истории минимум двумя людьми независимо. Чаще всего под каждый случай пишется свой тестер на R, python и C++. Иногда, когда в этом есть смысл, стратегия тестируется во встроенных тестерах (чаще всего это Ниньзя).
avatar
Sergey Pavlov, этот путь, к сожалению, ведет к ошибкам и потерям денежных средств. Мы тестируем один код в одной платформе, а торгуем другой код в других условиях. Не говоря уже про удорожание и увеличение по времени разработки идей.
avatar
Евгений, пока что этот путь привел нас к внутренним стандартам на разработку, тестирование и к соглашению о том, на какой стадии при каких проверках считать систему заслуживающей торговаться на реальном счете. В остальном полностью с вами согласен, всё также:
Мы тестируем один код в одной платформе, а торгуем другой код в других условиях.
avatar
Sergey Pavlov, вы выработали стандарт, но ориентированные на разные среды. Это хорошо, но не ориентирование на устранение первоначальной проблемы.
avatar
Sergey Pavlov, а почему ниньзя, а не мт5 например?
avatar
Максим Дмитриевский, потому что на CME, где мы только пробуем свои алгоритмы, по умолчанию как-то с брокером на ниньзе сложились обстоятельства. Для алгоритмов, которые ощутимо медленнее HFT, ниньзя подходит прекрасно: можно подключить хороший датафид (т.е. сохранять себе хорошие данные для исследований в R), можно оттестировать стратегию (проверить самого себя, что натестировалось в R) ну и потом всё это одним кликом запустить на реале. Плюс ниньзя позволяет автоматически отслеживать контроль соответствия реальной и виртуальной позиции по счету. Для простеньких стратегий это актуально. С метатрейдером сейчас вообще не работаем, хотя лично я начинал с него в 2003-2008 годах… писал полностью автономных ботов на MTAPI3, потом в четвертой версии они API прикрыли ну и моя форекс-история закончилась на этом, перешел тогда полностью на отечественную биржу. На ней не вижу пока особого смысла в МТ. Квик меня полностью устраивает. Возможно, MQL — шикарная вещь, хотя я на MQL ни одного скриптика не написал:) Если вам известны из практики какие-то явные бонусы от сегодняшнего МТ, подскажите, буду благодарен:)
avatar
Sergey Pavlov, я как раз сам интересовался ниньзей, потому что хочу достаточно быстрый алгоритм протестировать, который в мт4 плохо тестируется. Но вы уже ответили что ниньзя для этого тоже не подходит :)
avatar
Sergey Pavlov, Хм… Принял на заметку… Фьючи планирую перевести на OpenECry (GAIN Capital). А вот NYSE/NASDAQ да, через TWS API. С геморроем по этому поводу знаком не по наслышке. ) Но через FIX реализовали торговый модуль, работает.

Дело в новом бектестере, который не подходит ни под один из тех движков, которые есть. Они все кастомные, написаны чужими руками. Хочу сам попробовать закодить.

avatar
мне s# + quik нравится. если хочешь что-то завести за 10-20 минут то это самое оно. если тебе решать бизнес задачи, то рекомендую, а если хочешь высоко-технологического онанизма то тебе модные шлюзы от биржи, прямое подключение и т.д. со вторым товарищем не знаком.
avatar
есть, Модные шлюзы и DMA давно «закожен». А вот все бектестеры были кастомными. Сейчас нет специалиста, который писал БТшки. Хочу сам попробовать. Но по рекомендации одного человека вроде нашел то, что искал — AmiBroker. S# пока что сложен для меня. Пока что.
avatar
бросил и С# и S# на полпути, пока не понял зачем мне они. хотя и S# лицензия и VS 2015 prof есть. и на камнях растут деревья, главное стратегия, потом уже все остальное. у меня вон акцессе нормально все работает.
avatar
kvazar, Стратегия есть. Торгуется руками. Раньше пробовали закодить, не получалось. Было нагромождение из разных индикаторов и оптимизаторов, которые показывали уникальные результаты на бектестах, а в реальной жизни сливали десятку за месяц на объемах до 500 шерз. ))) Поэтому уже больше года торгуется руками. А сейчас вроде пришел к алгоритму благодаря одной пендосской диссертации, которую удалось получить тут в профессиональных кругах по арбитражу.
avatar
facevalue, понятно. я до арбитража не дорос. копаю в лоб интрадэй. и тестирование по тикам историческое не вижу у себя смысла проводить, если используются алгоритмы на тиках. тестирование в реале, и так понятно что к чему.
Только странно, что стратегию закодить не получалось… какой таймфрэйм если не секрет или без него?
avatar
kvazar, Арбитраж, как по мне, только громко звучит. На самом деле — золотое дно для ленивых. Тиковые данные там не нужны, это правда. Разве что для вспомогательного алгоритма выхода или входа, основанного на тиковых облаках, но это из другой истории. Если, как Вы выражаетесь, в лоб, то минутных данных с головой.

Таймфрейм разный. На быстрых инструментах, волатильных — я бы даже на минутки посмотрел, хотя базовый ТФ все таки 5-10-15 минут. Не так шумит. На ленивых или сильно скоррелированных (типа, близкая и дальняя нефть) можно и часовики смотреть. Но пока что я все это руками в режиме сапки посмотрел. Нужен код и грамотный бектест.

Закодить не получалось, потому что не хватало кое-каких вводных данных. Хотя когда я сейчас про них узнал, то это был эффект БЛЯЭТОЖЕОЧЕВИДНО. ))) Не дорос тогда до арбитража, хотя был ппц как близко, просто не знал об этом. Тогда в команде работало два программиста, я только выдумывал им задания. )
avatar
Изучи Си шарп(приятный язык)… его поймешь, сможешь и на С++ писать и на яве… отсюда все дороги тебе открыты… лучше конечно писать самому с нуля но это долго, короче взять стокшарп, еще короче писать скрипт для ТСЛАБА к примеру(или альтернативная платформа) — не кубивами, а скрипт!!! Это вообще быстро будет… Ну и следующий вопрос конечно… идея есть — отлично… далее-твоя идея к скорости требовательна или нет? или может тебе нужна кроссплатформенность(всмысле конекторов и брокеров), исходя из этого и выбираешь себе на чем писать и через какую прослойку работать.
avatar
Юрий Елисов, Благодаря Вам сделал выбор в пользу S# для разработки роботов, и буду разбираться с какой-то из лабов для тестирования. Осталось только найти голову, с которой начать. ) Потому что подход к программированию «сразу все» не получился… ))) Голова быстро закипает.
avatar

теги блога facevalue

....все тэги



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