Мне нравится Lua. Lua хороший компактный язык на котором можно сделать индикаторы, различные вспомогательные программы, помогающие трейдеру и даже несложные торговые системы (ТС, роботы). Пожалуй единственная книга по Lua — Роберту Иерузалимски: Программирование на языке Lua. Ее можно найти в интернете.
Lua имеет также несложный C-API позволяющий связать программы Quik Lua с внешним миром через DLL и получить доступ практически ко всему, в том числе к любым математическим библиотекам обработки данных, что необходимо для сколь-нибудь сложным ТС. Однако, для этого уже необходимо знание не только Lua, но и Lua C-API, языка С/С++, а также умения писать DLL. При этом надо будет решить еще ряд проблем, которые возникнут по ходу пьесы в процессе этой деятельности. Далеко не каждый пользователь Quik и Lua может все это реализовать в обозримое время.
У Quik Lua (QLua) есть еще недостатки — все события терминала в Lua работают в потоке терминала, и получив из них данные надо как можно быстрей завершать функции обработки этих данных и освобождать поток терминала, иначе терминал просто повиснет. Единственная функция QLua работающая в собственном потоке — это main() и вся сколь-нибудь сложная обработка может находиться только в ней.
Кроме того, для Lua крайне мало библиотек, а существующие работают оч не быстро. В принципе, это и не нужно, если можно организовать связь с внешним миром через C-API. Но нам от этого легче не становится.) Короче, для написания хорошей сложной ТС нам надо выйти за пределы QLua и установить связь с внешним миром, и сделать это доступными средствами.
Сейчас наиболее продвинутым языком, включающим в себя массу библиотек обработки данных является Python. По применимости для обработки данных он, пожалуй, занимает первое место в мире, а по распространенности входит в первую пятерку. В числе библиотек — математические, статистические, машинного обучения и пр., и пр. Таких библиотек более тысячи только в Anaconda, большинство из которых устанавливается при ее инсталяции. Вы можете не использовать Anaconda и скачать Python с сайта
Жил был трейдер, и хотел он работать мало, а получать много… Желание конечно достойное, но осуществимое ли? Стал он думку думать да у интернетов спрашивать, возможно ли чудо этакое? За компом сидеть, две кнопки нажимать, а деньги сами к тебе рекой текут…
Отвечал интернет трейдеру, что есть в мире его, технологии… Якобы сами думают, сами работают, а деньги хозяину. Вот это да, подумал трейдер, не уж то глупость какая? Развод кроликов очередной? Нет, говорит интернет, правда такое может быть, все что тебе нужно сделать — стать хозяином этого чуда и ссылку дал, куда логин пароль регистрировать надо… Долго ли коротко ли думал трейдер, да махнул рукой… Что я мало что ли маржинколов ловил, сколько лосей перекармливал, а рискну ка я еще разок, а вось интернеты не врут… Ввел трейдер «слова» заветные и смотрит во все глаза, поверить не может.
Содержание
1. С какими эмоциями сталкивается алгоритмический трейдер?
2. Воздействие эмоций на поведение алготрейдера
3. Как снизить влияние эмоций на автоматизированную торговлю?
4. Выводы
1. С какими эмоциями сталкивается алгоритмический трейдер?
Если вы думаете, что алгоритмический трейдинг психологически комфортная профессия, то вы ошибаетесь. Первоначально создается впечатление, что робот — это набор строк кода или кубиков, описывающих торговый алгоритм. Или железяка бездушно и четко выполняющая команды. Однако по итогам накопившегося алго-опыта эмоциональное напряжение ничуть не уступает «ручному» трейдингу.
Далее опишу переживания, которые испытал на себе, так и теоретические заключения. Как и в «ручном» трейдинге основополагающие эмоции — страх и жадность. От них идут остальные производные чувства. Для упрощения, понятия «эмоции» и «чувства» используются как синонимы.
Итак, перейдем к страхам:
— страх того, что алгоритм перестал работать. Причины две: переоптимизация параметров, поменялся рынок и идея перестала приносить доход
— страх того, что алгоритм вычислит/ вычислил брокер иное лицо. Глупо, но такая мысль тоже витала
— страх низкой диверсификации портфеля. Высокая концентрации рисков по инструменту, алгоритмам
— страх того, что свое представление о рынке, о торговых системах, о возможности стабильного заработка, о своих способностях это иллюзия
— страх потери части депозита, выраженная в неправильно рассчитанной сумме, которой готов рискнуть. При просадке возникает страх потерять больше запланированного. Например, план потери 30%, но при достижении просадки в 20% боль потерь становится нестерпимой
Ну как вам, жутко? Это еще не все. Жадность:
— жадность, выраженная в желании получить нереальный доход. Принятие слишком высоких рисков, что ведет к значительным просадкам
— жадность, выраженная в неадекватности поставленных целей по времени получения запланированного дохода. Как и в первом случае – принимаются завышенные риски
— жадность, выраженная в спешке создания, тестирования, предварительного обката роботов на реале для подсчета проскальзывания и правильной логики работы скрипта
— жадность, выраженная в желании отыграться. Не остановить торговлю робота при достижении запланированной просадки, а в момент просадки повысить риски
Далее отчаяние, сожаление и стыд:
— отчаяние, выраженное в бессилии поменять что-то в торговле, когда счет тает
— сожаление в профессиональной нереализованности. Потрачено много времени на исследования и разработку алгоритмов. Упущенное время тяготит, так как нет развития в других областях жизни
— стыд перед друзьями, родственниками, клиентами, сообществом трейдеров и т.д.
2. Влияние эмоций на поведение алготрейдера
Когда-то в паблике столкнулся с мнением, что OOS должен располагаться только справа. Т.е. расположение его слева от интервала Оптимизации — ошибка. Я с этим был категорически не согласен, т.к. не видел разницы. Теперь вижу. Ошибался, был не прав.
Уважаемые смартлабовцы!
Кто торгует роботами на крипто-фьючерсах, или знает таких людей, пожалуйста, напишите мне в личку.
Есть предложение о сотрудничестве.