В данной статье хотелось бы поднять очень животрепещущую тему для многих на смарт-лабе — как проторговать сформмированную стратегию на реальных данных. В моем случае построение и оптимизация алгоритма производилась в Wealth lab'е, в связи счем встал вопрос — как реализовать полученную стратегию в терминале квик (знаю что многие скажут о том что надо выкинуть квик и подключить плазу, однако я исхожу из минимизации затрат, поэтому про плазу можно будет говорить через 2-3 месяца).
Просмотрев довольно много информации по адаптерам и пришел к выводу что велс, предназначен исключительно для создания, бэктестинга алгоритмов. Конечно присутствуют некоторые решения в виде адаптеров, однако как и было сказано выше, велс слишком тяжел для проторговывания.
Одним из перспективных направлений (по Квику) вижу язык Lua...
ПЛЮСЫ
язык несложный в изучении
встроен непосредственно в квик (что дает исключение прослойки в виде адаптера и сторонней программы в которой производятся вычисления)
МИНУСЫ
Отсутствие индикаторов велса (придется прописывать каждый из индикаторов)
Нет возможности удостовериться в совпадении торговой стратегии реализованной на велслаб и квик (либо очень трудозатратно)
Неактуальность языка при переходе на плазу (другими словами потеря времени на изучение языка)
Что можете посоветовать ?
Непосредственно интересует торговля интрадей (5 минутки — часовики)
Возможно есть и другие альтернативы в виде ТС-лаб и так далее… жду вашего мнения
Пс.
Также хотел бы поднять вопрос относительно оптимизации стратегии по инструменту на основе псевдослучайных величин с распределением и свойствами исторических данных (монте карло)
итак:
1) заметил что годовые данные для выбора распределения не имеет смысла брать, потому как за такой срок оно координально меняется, что приводит к отсутствию значимости у моделируемых значений… как решали этот вопрос… за сколько берете данные для выбора распределения?
2)сколько итераций стоит делать? сколько должно быть выборок псевдослучайных событий? допустим если мы взяли данные за пол года и нашли их распределение, мат ожидание, st dev… заменили каждое из исторических значений псевдослучайным и получили некий вектор цены инструмента (возможно то цена открытия, хай, лоу итд). Сколько слудует векторов делать для улучшения значимости выборки? Следует ли по данным векторам искать мат ожидание для каждого из временных интервалов… или тестить по всем отдельно?
3)реализация в велсе оптимизации по данным выборкам займет вечность, вследствии плохой загрузки по. Как вы решали задачи с многомерными отимизациями с заданными параметрами?… Может есть стороннее ПО?
Буду рад услышать отзывы и новые идеи
и заявки ставить.
Если все делать прямыми руками, то стабильно,
и для интрадея самое-то, для чего-то частого, не особо,
а так чтобы он там что-то считал, делал выводы, ставил заявки,
норм. Отдельно можно и намонте-карлить что.
Быстро, удобно, просто.
вот что я сделал: smart-lab.ru/blog/175461.php
Относительно экселя — у меня возникает некий скепсис — реализовывал не так давно расчет VaR параметрических на VBA для портфеля… скорость довольно средняя, а монте-карло для портфеля вообще зажевалось (была матрица 5 на 5 к символов)
Относительно монте-карло, эксель не предназначен для генерирования выборок с распределением отличным от нормального, в то время как инструменты в основном имеют лептокуретическое распределение…
Функционально и масштабируемо
Но в оптимизации не пошикуете
слышал что тс пролагивает довольно часто
нет, я бы так не сказал, если не спешить за сборками то все стабильно довольна работает
довольно скептически отношусь к программам 100 в 1
в данном случае 2 в 1, тестер систем и запуск их в реал, как то же велс, только наш, и изучить его легко
просмотрел ваш ак, там продемонстрирована среднечистотная торговля, возможно на часах или даже днях… если не ошибаюсь
был ли у вас опыт реализации на таймфрейме минута-5 минут?
ниже минуты не вижу смысла заходить потому как там уже идет смысл только при наличии сервера рядом с биржей+плазы+реализации всего по на С++
думал что на секундах/тиках можно использовать исключительно высокоскоростное соединение+прямое подключение (без брокера)
средняя скорость выставления заявок 300-500 мс.
насколько я помню коннект через плазу в районе 30 мс + если хорошее по, то около 20 мс на саму заявку… видел график с разбросом 40-50 мс у квант управленцев
И тс лаб как раз и является это прокладкой.
Мое мнение такое. Или писать на языке программистов или использовать нормальные программы. Велс, Мультик. Но не поделки вроде тс лаб
насколько я знаю велс аналогично тс лабу довольно нестабилен с точки зрения алгоритмической проторговки.
Думаю что лучший выход — реализация стратегии в отдельно выделенной программе, которая будет направлена исключительно на высококонадежное/скоростное решения единственной задачи
Я не программист, работаю в команде. Для меня Си сложен, но логику понимаю.
как боретесь с переоптимизацией?
знаком ли продукт OpenQuant?
Знаком, но я не знаю его текущую стоимость. Вариант использовать контрафакт — это не ко мне.
а какой критерий является основополагающим? просадка/профит ?
интересовался исключительно особенностями программы. Слышал она используется в нескольких крупных фондах.
Без цены смысла нет обсуждать. Я знаю, что некоторые предприятия имеют частные авиапарк. Это же не значит, что теперь нужно покупать всем самолеты.
The price is $499 for a perpetual license or $29.99/mth. Но инфа от 2007 года.
тслаб не является прокладкой, он как и велс как и амиброкер и ижи с ними по аналогии также идет к коннектору брокера
а каким образом вы тестите стратегию в риал тайме? или это уже непосредственно в ходе проторговки осуществляется?
я имел в виду не луа адаптер, а непосредственно сам робот в луа написать… таким образом исключается большое количество программ-посредников и риск сделать ошибку меньше
А на счет робота на луа, лично я не доверяю Lua-машине в квике, индюки переиодически виснут и глючат, а тут реальные деньги доверить. Поэтому даже данные пока транслирую через QPILE.
Проблема многих звеньев всегда состоит в том, что за всеми уследить должным образом сложно… а нужно не только уследить, но и усовершенствовать + вырабатывать новые стратегии… все это вносит довольно большую неопределенность в работу
Про много звеньев не понял. Квик передает данные в прогу на C#, а она после вычислений, команду в квик. Все просто и, главное, под полным контролем. Что для меня важно, деньги то свои.
под индикаторами я имел в виду, как запрограмированые в велсе, так и самописные + есть достаточное количество индикаторов которые можно экспортировать и переделать на свой манер.
хм… а линии пробоя основываются на данных о движении рынка, либо на предыдущих минимумах и предположении что участники рынка зашли по той цене на рынок?
Есть мысли определять уровни по горизонтальному объему, но пока не решил, стоит ли туда лезть. Трудозатраты большие, а отдача под вопросом.