Блог им. Sl0w

Выбор ПО для реализации стратегии в QUIK

                                                     Выбор ПО для реализации стратегии в QUIK

                  В данной статье хотелось бы поднять очень животрепещущую тему для многих на смарт-лабе — как проторговать сформмированную стратегию на реальных данных. В моем случае построение и оптимизация алгоритма производилась в Wealth lab'е, в связи  счем встал вопрос — как реализовать полученную стратегию в терминале квик  (знаю что многие скажут о том что надо выкинуть квик и подключить плазу, однако я исхожу из минимизации затрат, поэтому про плазу можно будет говорить через 2-3 месяца).
 Просмотрев довольно много информации по адаптерам и пришел к выводу что велс, предназначен исключительно для создания, бэктестинга алгоритмов. Конечно присутствуют некоторые решения в виде адаптеров, однако как и было сказано выше, велс слишком тяжел для проторговывания. 
 
Одним из перспективных направлений (по Квику) вижу язык Lua...

ПЛЮСЫ
язык несложный в изучении
встроен непосредственно в квик (что дает исключение прослойки в виде адаптера и сторонней программы в которой производятся вычисления) 

МИНУСЫ
Отсутствие индикаторов  велса (придется прописывать каждый из индикаторов)
Нет возможности удостовериться в совпадении торговой стратегии реализованной на велслаб и квик (либо очень трудозатратно)
Неактуальность языка при переходе на плазу (другими словами потеря времени на изучение языка)


Что можете посоветовать ?

Непосредственно интересует торговля интрадей (5 минутки — часовики)

Возможно есть и другие альтернативы в виде ТС-лаб и так далее… жду вашего мнения



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

итак:
1) заметил что годовые данные для выбора распределения не имеет смысла брать, потому как за такой срок оно координально меняется, что приводит к отсутствию значимости у моделируемых значений… как решали этот вопрос… за сколько берете данные для выбора распределения?

2)сколько итераций стоит делать? сколько должно быть выборок псевдослучайных событий? допустим если мы взяли данные за пол года и нашли их распределение, мат ожидание, st dev… заменили каждое из исторических значений псевдослучайным и получили некий вектор цены инструмента (возможно то цена открытия, хай, лоу итд). Сколько слудует векторов делать  для улучшения значимости выборки?  Следует ли по данным векторам искать мат ожидание для каждого из временных интервалов… или тестить по всем отдельно?

3)реализация в велсе оптимизации по данным выборкам займет вечность, вследствии плохой загрузки по. Как вы решали задачи с многомерными отимизациями с заданными параметрами?… Может есть стороннее ПО?



Буду рад услышать отзывы и новые идеи
 
★2
42 комментария
Excel
avatar
AlexeyT, что вы имеете в в виду? проторговывание стратегии через эксель?.. насколько это стабильно? годится ли он для проторговывания интрадея?
avatar
Ви Олег, да, можно и стратегию там же сразу написать,
и заявки ставить.
Если все делать прямыми руками, то стабильно,
и для интрадея самое-то, для чего-то частого, не особо,
а так чтобы он там что-то считал, делал выводы, ставил заявки,
норм. Отдельно можно и намонте-карлить что.
Быстро, удобно, просто.

вот что я сделал: smart-lab.ru/blog/175461.php
avatar
AlexeyT, очень занятная у вас статья, жаль что программу не выложена в свободный доступ, однако оно и понятно, видно что усилий немало затрачено.

Относительно экселя — у меня возникает некий скепсис — реализовывал не так давно расчет VaR параметрических на VBA для портфеля… скорость довольно средняя, а монте-карло для портфеля вообще зажевалось (была матрица 5 на 5 к символов)

Относительно монте-карло, эксель не предназначен для генерирования выборок с распределением отличным от нормального, в то время как инструменты в основном имеют лептокуретическое распределение…
avatar
Стокшарп + С#
Функционально и масштабируемо
Инженер на сотню рублей, я бы сказал что довольно сложно… данная затея очень хороша в реализации для плазы, однако для квика имеет ли это смысл?
avatar
TsLab без всяких прокладок, и сразу и тест и торги и все в одном, и не дорого
Но в оптимизации не пошикуете
avatar
Frend, слышал что тс пролагивает довольно часто + довольно скептически отношусь к программам 100 в 1… ведь известно издавна, что чем сложнее система, тем чаще ошибки в ней возникают
avatar
Ви Олег,
слышал что тс пролагивает довольно часто
нет, я бы так не сказал, если не спешить за сборками то все стабильно довольна работает
довольно скептически отношусь к программам 100 в 1
в данном случае 2 в 1, тестер систем и запуск их в реал, как то же велс, только наш, и изучить его легко

avatar
Frend, тс лаб и лагает и глючен. одна только связк через квик чего стоит.
avatar
Евгений, связка, а зачем нам прокладка, это все равно что велс на квик цеплять, я не использую прокладки, любая прокладка это риск, напрямую у меня проблемы бывают очень редки.
avatar
Frend, тоесть у вас тс лаб + плаза?
avatar
Ви Олег, нет у меня тслаб + сервер брокера, без прокладки между ними в виде квика
avatar
Frend, а какие вы таймфрефмы используете для реализации стратегий?
просмотрел ваш ак, там продемонстрирована среднечистотная торговля, возможно на часах или даже днях… если не ошибаюсь

был ли у вас опыт реализации на таймфрейме минута-5 минут?

ниже минуты не вижу смысла заходить потому как там уже идет смысл только при наличии сервера рядом с биржей+плазы+реализации всего по на С++
avatar
Ви Олег, от 2 секунд до 5 минут
avatar
Frend, хм...2 секунды, и насколько удачная реализация стратегии была? Какой средний уровен проскальзывания?
avatar
Ви Олег, почему была она и сейчас есть. В пределах 2 шагов цены, лимитки по большей массе, но при этом она не скальперская, тайм такой для лимиток
avatar
Frend, хм… а непосредственно с какого сервера идет торговля? ваше местоположение относительно биржи?

думал что на секундах/тиках можно использовать исключительно высокоскоростное соединение+прямое подключение (без брокера)
avatar
Ви Олег, примерно 9000 км, сервер стоит свой в соседней комнате.
средняя скорость выставления заявок 300-500 мс.
avatar
Frend, Довольно быстро для такого расстояния + тслаба
насколько я помню коннект через плазу в районе 30 мс + если хорошее по, то около 20 мс на саму заявку… видел график с разбросом 40-50 мс у квант управленцев

avatar
Frend, велс опережает тс лаб на десятилетия по своим возможностям. Единственное почему его не используют в росс рынке нет дешевых коннекторов.

И тс лаб как раз и является это прокладкой.

Мое мнение такое. Или писать на языке программистов или использовать нормальные программы. Велс, Мультик. Но не поделки вроде тс лаб
avatar
Евгений, а стоит ли вообще использовать какой то коннектор?
насколько я знаю велс аналогично тс лабу довольно нестабилен с точки зрения алгоритмической проторговки.

Думаю что лучший выход — реализация стратегии в отдельно выделенной программе, которая будет направлена исключительно на высококонадежное/скоростное решения единственной задачи
avatar
Ви Олег, я так и делаю (но у меня не велс).
avatar
Евгений, а можно поподробнее про вашу реализацию торговли с начала и до конечного этапа (создание стратегии, бэктест, оптимизация, прогонка по м-карло, тестирование на риал тайме, проторговка )
avatar
Ви Олег, QuantConnect. Как только появляется нормальная стратегия — перетаскиваю ее на диск и там довожу до совершенства. Использую NT, Wealth-Lab, StockSharp.

Я не программист, работаю в команде. Для меня Си сложен, но логику понимаю.
avatar
Евгений, а что значит до совершенства в вашем понимании?
как боретесь с переоптимизацией?

знаком ли продукт OpenQuant?
avatar
Ви Олег, когда она начинает показывать вменяемые результаты. Можно это сделать только лишь средствами Коннекта, но там стратегии палят. Удобно, что они дают бесплатно данные.

Знаком, но я не знаю его текущую стоимость. Вариант использовать контрафакт — это не ко мне.
avatar
Евгений, хм… надо будет посмотреть данную программу

а какой критерий является основополагающим? просадка/профит ?

интересовался исключительно особенностями программы. Слышал она используется в нескольких крупных фондах.
avatar
Ви Олег, это не программа. Это сайт. Поэтому тут и плюсы и минусы.

Без цены смысла нет обсуждать. Я знаю, что некоторые предприятия имеют частные авиапарк. Это же не значит, что теперь нужно покупать всем самолеты.
avatar
Евгений, а в чем плюсы ?

The price is $499 for a perpetual license or $29.99/mth. Но инфа от 2007 года.
avatar
Евгений, не знаю как кому а мне тслаба хватает для того что бы создавать и работать на хороших стратегиях, по оптимизации да, тслаб хуже, но я не применяю её, а всего остального вряд ли чего то будет не хватать
тслаб не является прокладкой, он как и велс как и амиброкер и ижи с ними по аналогии также идет к коннектору брокера
avatar
Евгений, могу вас заверить что тслаб не глючен и не лагает при правильном использовании
avatar
Лично я перевожу с велса на C#. Что сделать довольно просто. Дальше трансляция данных (свечей) из квика через скрипт на QPILE. Можно и через Lua, но руки не доходят. А затем анализ в своей проге и отправка транзакций в квик. Работаю так на М5 уже больше года и проблем пока больших не обнаружил.
avatar
Karim, согласен с вами, что перевести с велса на с# не так уж и муторно… а все остальное… думаю это дело привычки )

а каким образом вы тестите стратегию в риал тайме? или это уже непосредственно в ходе проторговки осуществляется?

я имел в виду не луа адаптер, а непосредственно сам робот в луа написать… таким образом исключается большое количество программ-посредников и риск сделать ошибку меньше
avatar
А вы попробуйте перевести хотя бы 500 строк C# на QLua, в котором даже средств отладки нет и вопросов не будет. По поводу теста в реале. Беру реальные сделки и сравниваю с велсом где то раз в месяц. Пару багов таким образом выловил. На начальном этапе писал на QLua индикаторы, который «подсвечивали» вход и выход и сравнивал с велсом.
А на счет робота на луа, лично я не доверяю Lua-машине в квике, индюки переиодически виснут и глючат, а тут реальные деньги доверить. Поэтому даже данные пока транслирую через QPILE.
avatar
как по мне, то проблема не столько в переносе, сколько в отсутствии нормальных индикаторов… что ставит задачу довольно сложной в выполнении… хм… возможно подглючивает лишь графическая составляющая? (что не так важно)

Проблема многих звеньев всегда состоит в том, что за всеми уследить должным образом сложно… а нужно не только уследить, но и усовершенствовать + вырабатывать новые стратегии… все это вносит довольно большую неопределенность в работу
avatar
Ви Олег, Не знаю что подглючивает, но квик слетает напрочь, а тех поддержка говорит — мы знаем про проблему, ждите новых версий может исправим. И как тут деньги доверять.
avatar
Я индикаторами не пользуюсь, поэтому мне проще.
Про много звеньев не понял. Квик передает данные в прогу на C#, а она после вычислений, команду в квик. Все просто и, главное, под полным контролем. Что для меня важно, деньги то свои.
avatar
Karim, а на основе чего происходит заход в позицию?
под индикаторами я имел в виду, как запрограмированые в велсе, так и самописные + есть достаточное количество индикаторов которые можно экспортировать и переделать на свой манер.
avatar
Заход в позу при пробое уровня. Раньше пользовал индикаторы, но писал сам, так как встроенные и классические не совпадаю. Например в велсе RSI встроенный так и не удалось повторить, сглаживают как то хитро.
avatar
Karim, тоже задаюсь вопросом, есть ли библиотека встроенных формул велса… не всегда понятно как они рассчитываются

хм… а линии пробоя основываются на данных о движении рынка, либо на предыдущих минимумах и предположении что участники рынка зашли по той цене на рынок?
avatar
Все просто. Обычные граф. паттерны: «черепаший суп», «рыночная вершина», пробой N-барного диапазона и т.д.
Есть мысли определять уровни по горизонтальному объему, но пока не решил, стоит ли туда лезть. Трудозатраты большие, а отдача под вопросом.
avatar

теги блога Ви Олег

....все тэги



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