Избранные комментарии трейдера Gorazio

по

pessimist, пробую писать скрипты на QLua  вот в этой вики накидал ссылок на ресурсы по Lua, примеры торговых роботов (скопированных из сети) и частично переделал учебник по скриптам из руководства по Qlua (там где было непонятно вставил свои пояснения), 
тхаб.рф/wiki/QUIK
В
ики создана для всех, кому надо пользуйтесь… только создавайте отдельные страницы, чтобы  друг другу не мешать.
avatar
  • 08 ноября 2019, 09:41
  • Еще
На троллинг времени жалко, поэтому напишу по сути, как сама начинала. Автоматизация — любая — начинается с выявления закономерностей. Закономерности можно пытаться выделить «глазами», можно попробовать вычислить программно. Как я понимаю, знаний программирования, основ статистики и математического аппарата нет в наличии на достаточном уровне, ну значит начните с того, что выделите закономерности глазами, по плану: если войти когда вот так, а выйти (перевернуться?) когда вот так, и сделать такое условно стопицот раз, суммарно я буду в плюсе. Вот это вот будет у Вас гипотеза, которую нужно будет закодить и проверить на разных исторических отрезках (не на том, где она у Вас родилась). Дальше готовимся к анализу полученных результатов, читая всякие разные материалы про оценку стратегий, выбирая для себя критерии оценки, которые будем использовать. Потом полученные результаты анализируем: первое и главное — работает или нет (вот тут нам критерии пригодятся), если «ну такоэ» — пытаемся прикинуть, а что мы можем сделать, чтобы улучшить среднюю сделку. Делаем — и снова тестируем, и так по кругу, пока не поймем, что улучшать уже нечего и можно пытаться выпускать на реал. Неважно, на чем Вы напишете алгоритм (QLua, Python, C#, плюсЫ, Java, R или вообще кубики TsLab-ы). При работе также очень пригодится знать, как управлять капиталом, и для этого придется прочесть и понять кое-что тоже. В общем, путь неблизкий и непростой. И до конца раз и навсегда его пройти не получится. Удачи!
avatar
  • 08 ноября 2019, 09:12
  • Еще
А почему не начать с изучения tslab,? Это конструктор для создания роботов в в виде кубиков, без знания программирования.Если есть идея(алгоритм), то ее можно  легко накидать в тслаб, для этого вообще не нужно быть программистом! Я так начинала, изучила тслаб, поставила роботов в работу и потом начала изучать С#, т.к. кубиков не хватает, для построения сложных систем. Советую, не углубляться, слишком в теорию, а сразу приступить к практике и параллельно изучать теорию, а то есть у меня такой знакомый, уже 2 года изучает теорию, а толку 0, все никак к практике не приступит, ему кажется, что мало знает. 
avatar
  • 08 ноября 2019, 08:21
  • Еще
Есть сайт quantopian.com
Встроенная среда разработки роботов на питоне, встроенные источники данных. Как минимум можно потренироваться.
avatar
  • 07 ноября 2019, 21:01
  • Еще
новости и прочий фундаментал в облако и апишку к нему.
квоты — поближе к логике, на свой сервачок. инфраструктура в виде своих библиотечек.
отдельным сервисом датаколлектор с апишкой
отдельным сервисом тестер/эмулятор рынка

для нормального функционирования я бы максимально все растаскивал на разные сервисы и не делал бы тяжеловесный монолит. переиспользование больше и это модно в конце концов :)

но лучше не уходить во все это без лишней нужды. и в целом все это сильно зависит от того че вы торгуете и как. много где хватит VDS  + терминала и все.
avatar
  • 01 ноября 2019, 18:23
  • Еще

shprots, ну так я это и имел в виду, что бэктестер у автора фиговый. Я и сам когда-то тестил во всяких метастоках и вэлзлабах.
А тестер по тикам — это суровая необходимость, легче разобраться откуда разница между тестом и реалом.
Архитектуры особо нет, есть терминалы, которые выдают маркетдату роботам и сохраняют её в файлы. Есть роботы, которые берут маркетдату у терминалов и торгуют опять же через эти терминалы.
И есть тестер, который берёт данные из файлов и тестит по ним. Для тестера собран сервачёк на двух процах — 24 физических ядра. Тестер умеет по списку инструментов тестить стратегию, потому как у меня есть убеждение что если грааль нормальный, то он работает на многих инструментах. За пару суток тестер может всю русфонду прогнать по исследуемой стратегии, вполне приемлемо, я считаю.

avatar
  • 30 октября 2019, 13:10
  • Еще
Торговый робот на Lua для QUIK. Конкретно без индикаторов: https://smart-lab.ru/blog/513387.php
avatar
  • 09 августа 2019, 17:35
  • Еще
Биотехнолог, пока никакой. Опционами я торгую всего 3 года. Первый год я их продавал. Пост об этом тут. Там результаты около нуля были по итогу. Второй год был вокруг покупок и нашего первого конкурса игр разума, там я половину 35 тысяч слил. Третий год это текущий 2019. Всё по уму сделал, софт, хэджер, котировщик и тд. На текущий момент по этому году профит около 7% на маленьком моём счете и процента 3-4 на большом не моём счете. Думаю, со следующего года у меня начнется адекватная статистика по опционам.
avatar
  • 26 июля 2019, 08:09
  • Еще
Оставлю здесь этот копипаст целиком, так как источник (http://blog.quantquant.com) уже не доступен.
Рассуждения о проскальзывании.

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

Очередное НЕнаучное исследование. В этот раз на тему проскальзывания. Анализ различных подходов и пример из личного опыта. И ещё: мой рабочий сайз более 100 контрактов, но ни разу не превысил пока 200 пунктов в одной стратегии. В начале текста я рассуждаю о необходимости проскальзывания вообще, а в конце о том, когда стоит начинать учитывать проскальзывание в тестах и почему.
Просматривал я тут интернеты на вопрос проскальзывания. Поразительно, многие пихаютего сразу в систему на этапе начальной разработки! И ещё более удивительны трейдеры, которые проскальзывание вообще не учитывают. Я уже писал об этом несколько слов, хочу повторить свою мысль: не надо бездумно вставлять 100 пунктов по РТС на круг в тесты! Важно помнить, что системы бывают разные, соответственно, должен быть разный подход к разработке этих систем. Вообще, трейдеры, исследующие данную тему, часто приходят к выводу, что чем меньше сделок у системы, тем меньше будет проскальзывание. И, соответственно, чем больше система приносит в среднем за одну сделку, тем менее чувствительна она будет к дополнительным затратам на исполнение. Это, конечно, всё хорошо, «спасибо, кэп» скажите вы. Но интересно всё же, как работать с остальным системами, у которых не 20 сделок в год по +2000 пунктов в среднем каждая.
Собственно, вход в позицию и выход из неё делится на 3 метода:
Вход по рынку при достижении некоторого уровня (обычно, трендовые системы). Данному типу входа соответствует выход по стоп-лоссу. Для таких входов и выходов чаще всего необходимо закладывать максимальную сумму проскальзывания. Хотя, стоит обратить внимание, что бывает «вход по рынку» в «вашу пользу», когда за те секунды, пока стоп-заявка кидается на рынок, цена успевает слегка откатиться. Зависит это от многих факторов, в том числе и от времени, в которое исполняется заявка. Но об этом далее.
Вход по отложенному ордеру (отбойные системы). Данному типу входа соответствует выход по тэйк-профиту. Для таких входов проскальзывание закладывать в тесты вообще не нужно! Заявка либо не исполнится, либо исполнится конкретно по вашей цене.
Вход/выход по времени. Вот это самое интересное.
Если стратегия подразумевает вход в конкретное время, просчитать проскальзывание очень сложно. Оно зависит от многих факторов, но, наверное, самый важный из них – это само время. Совершить сделку по цене открытия 16:30 практически не возможно. А закинуть небольшой сайз по открытию 16:31 уже намного проще. На мой субъективный взгляд, если стратегия должна быть активной в какое-то конкретное время, лучше всего открывать и закрывать позиции руками. Уже через десяток сделок станет понятно, когда лучше открыться на 5 секунд раньше, или наоборот повременить секунд 15 (это реже, потому что системы, работающие по времени часто уносят цену именно в первые секунды новой минуты). На сколько же пунктов стоит ухудшить каждую сделку на истории, если мы исполняем временные приказы системы руками? Мой ответ: вообще ни на сколько. Вернее, так: вы поторгуйте, проверьте в реальных условиях, как оно получается, и только тогда поймете реальный рынок:
Результат торговли по системе за последний год составил -1500 пунктов. Если отбросить мысль о том, что такая система не робастна, то можно обратить внимание именно на исполнение: на большей части графика объем был более 100 контрактов, учитывается средний результат по 2 счетам (торговля на одном ноутбуке с 2 разных квиков):

Как видите, в реальной жизни проскальзывания нет! При том, что активность системы совпадает по времени с активностью на рынке (т.е. с одной стороны, это позволяет вливать большой капитал в систему, а с другой, цена довольно быстро меняет свое значение). Если бы система отработала бы так, как я закладывал в тесты, с проскальзыванием 60 пунктов на круг, то сейчас я имел бы не -1500 пунктов, а -9500 пунктов. А это уже совсем другая картинка…

Что же касается первого пункта, входа по рынку. Есть такая мысль: попробуйте преобразовать первый метод вход во второй! Первое, что я делаю в таком случае – это проверка входа по лимитнику. Т.е., при исполнении условия входа вместо того, чтобы сразу покупать по рынку с учетом 50 пунктов проскальзывания, я тестирую систему на предмет выставления отложенного ордера на 200-300 пунктов лучше условия. И иногда такой вариант оказывается лучше тупого выстрела по рынку. Да, бывает, пропускается хорошая сделка, но, если после условия рынок часто откатывается назад, то почему бы это не использовать?
Для всех остальных случаев: либо лимитник на 30 пунктов лучше рынка + проскальзывание 30 п. (таким образом я оцениваю свое небольшое воздействие на рынок, если в реальности заявка высталяется не по рынку, а по цене условия. Если система показала возможность исполнения приказа на 30 пунктов лучше, чем по рынку, тогда в реальных рыночных условиях скорей всего удастся войти с помощью лимитной заявке по цене условия), либо всё-таки приходится закладывать некоторую сумму проскльзывания в результаты.

Из всего вышесказанного следует то, что не надо учитывать проскальзывание на первых этапах разработки новой системы. В пользу этого мнения также свидетельствует ещё и то, что рыночная идея, основывающаяся на некой внутренней логике, может оказаться не рабочей именно из-за невозможности точного исполнения, однако может помочь в общем понимании рынка и быть использована в качестве фильтра в какой-нибудь другой стратегии. Если же вы будете учитывать 100 пунктов на круг с самого начала, вы можете не разглядеть за нисходящей кривой эквити интересную рыночную закономерность.

В любом случае, теория, конечно хороша, но любое знание, любую формулу, любой расчет – всё нужно проверять на практике! 

Спасибо дочитавшим до конца.

Всё, как всегда, лишь ИМХО.
  • t-trade
  • 6 ноября 2012, 15:23
Как про 10% забомбило… Чего там дедушка Фрейд говаривал...
Вообще то уже приводил статистику:
2% людей думают, 3% людей думают, что они думают, 95% умрут, но думать не будут.
Дж.Б. Шоу
avatar
  • 17 мая 2019, 12:59
  • Еще
Микаелян Саро, не надо на будущее. Покупайте и читайте сейчас. А вообще программирование — это навык. Надо немного читать, и много программировать. Есть мои бесплатные видео уроки по C# для трейдеров. Они короткие, по 10-15 минут.

Чего хотите запрограммировать? Спрашивайте прямо здесь, я вам подскажу куда смотреть и что делать. Я это проходил все. Код для торговых роботов писал и для анализа стратегий писал и много всякого другого кода.
avatar
  • 13 февраля 2019, 18:13
  • Еще

Неожиданно...


Попробую вспомнить по какой книге сам учил c#. Она состояла из примеров программ, описывающих различные конструкции языка. Клал перед собой книгу и набирал приведенный в ней пример кода. Добивался, чтобы работало. Затем вносил те изменения, которые мне приходили в голову. Если после моих изменений работало так, как задумал — ставил галочку "понял тему хотя бы поверхностно". Безрадостная для тебя новость: на проработку той книги у меня ушло примерно 6 месяцев.

 

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

 

Ну, или можем потрындеть в личку и что-то вместе замутить… ;-)

avatar
  • 12 февраля 2019, 19:38
  • Еще
Микаелян Саро, «Шилдт C# 4.0. Полное руководство» 11-го года издания (более позднего, кажется, не было) должна стать вашей настольной книгой. Есть в электронном виде.
avatar
  • 12 февраля 2019, 19:18
  • Еще
Микаелян Саро, эй, не накаркайте, кубики должны быть вечны! )

PS: знакомая история и вопрос изложен точно как я его переживал.
Наверно у всех одно и то же. Надо искать обучающий курс.
Кстати, у меня есть ХОРОШИЙ (хоть и ворованный) для ТСЛаб. 
Никому не даю, но если что… хорошему человеку не жалко.
avatar
  • 12 февраля 2019, 19:01
  • Еще
Микаелян Саро, поподробнее опишите цели и задачи. Пока мне кажется, что для ваших целей больше подойдёт питон.
ЗЫ: перечитал. Если хотите связку с тслаб, HFT — то сишарп. Если матмодели, новости, нейронные сети то питон.
avatar
  • 12 февраля 2019, 18:41
  • Еще
Cristopher Robin, да, тут самое главное, рационально использовать временноой ресурс
avatar
  • 12 февраля 2019, 17:57
  • Еще
Подход верный, ищите напарника и самое главное, решайте прикладные задачи. Нет смысла тратить время на учебные примеры. Вкернее, смысл есть, но не в вашем случае.
avatar
  • 12 февраля 2019, 17:41
  • Еще
А смысл? Есть же aws, где можно получить близкую к 100% надёжность? Оптимизировать потребление тоже не очень сложно, можно запускать из снэпшота в 9 утра и выключать в 18-45
avatar
  • 05 декабря 2018, 17:52
  • Еще
Karim, 
 С кластерами только начал разбираться. Пока даже не представляю, как можно сделать бэктест
ну сделайте ручной бектест. Можете поставить привод qscalp, в него загружать историю инструмента, и включать торги истории в ускоренном режиме. Включить демо режим.
Я так 4-5 лет назад проторговал пол года истории за неделю. Это очень помогает.

Что касательно автоматического бектеста. Как мне видится, на МТ5 это бы было проще всего сделать.
avatar
  • 10 июля 2018, 12:24
  • Еще
....все тэги
UPDONW
Новый дизайн