Торговая система — это просто средство, которое дает вам положительное математическое ожидание, чтобы можно было использовать управление деньгами. Системы, которые работают только на одном или нескольких рынках или имеют различные правила или параметры для различных рынков, вероятнее всего, не будут работать в режиме реального времени достаточно долго. Проблема большинства технически ориентированных трейдеров состоит в том, что они тратят слишком много времени и усилий на оптимизацию различных правил и значений параметров торговой системы. Это дает совершенно противоположные результаты. Вместо того, чтобы тратить силы и компьютерное время на увеличение прибылей торговой системы, направьте энергию на увеличение уровня надежности получения минимальной прибыли.
Вопрос, вынесенный в заголовок этой статьи, в книгах обычно обходят стороной. Пишут, что систему надо изначально проектировать так, чтоб мы могли реально по ней работать — то есть, например, сигналы она должна подавать не в три часа ночи и не тогда, когда мы на службе. Всё это верно, но к психологической комфортности это не имеет отношения. Ещё пишут о размере депозита и лотов: что работать надо с такими суммами, которые не вызывают эмоционального перенапряжения, и не в коем случае не с заемными деньгами, и не с такими, утрата которых будет ударом по бюджету семьи. Это уже ближе: это действительно о психологической комфортности. Но — не торговой системы: система здесь ни при чем.
Разумеется, система должна быть прежде всего прибыльной. Но, как это ни покажется странным, комфортность мало зависит и от прибыльности, если под «прибыльностью» понимать положительные результаты, показанные системой при тестировании. Ведь если бы у нас не было оснований считать, что система прибыльна, мы бы и не торговали по ней; а работает ли она в данный момент или же «сломалась» и стала убыточной — этого мы знать не можем, это станет понятно лишь по прошествии времени.
Самые лучшие трейдеры — всегда те, кто не усложняет себе жизнь. К примеру, на недавнем семинаре один трейдер отметил: «Я просто покупаю то, что растет. От того, что мне невыгодно, я тотчас же избавляюсь. Если дело идет в мою пользу, оставляю все как есть. Я много денег так заработал»
Наверное, вы хотите, чтобы кто-нибудь сказал, что конкретно нужно делать, после чего рассчитываете на большие доходы. Если же этого не происходит, вы ищете советчика или гуру получше и надеетесь на его помощь.
Стратегия стара как мир, и называется — календарный спред. В общем, разновидность арбитража. В простейшем виде, продаем дальний фьючерс, покупаем ближний, ждем некоторое время, закрываем позицию, получаем гарантированную прибыль. Как и у каждой стратегии, есть свои нюансы, и ошибки могу привести к убыткам. Но, это не ошибки, типа, не угадали куда пойдет — вверх или вниз. Это ошибки стратегии. Здесь не надо гадать куда пойдет.
В неклассическом виде в эту стратегию можно играть хоть интрадей, и 3-4 сделки в день вам обеспечены. Играть руками не рекомендую, целый день пялиться в монитор — может крыша поехать. А вот автоматом оч неплохо, тем более, что стратегия легко алгоритмизируется. Риски? — максимум 2-3 неудачных копеечных сделок в месяц.
Ну, и прежде чем начинать, попробуйте на кошках — смоделируйте в Python, например.
Исходная идея изложена. Ну, а конкретика, это уже не для общего доступа, кому нужны конкуренты в стакане.) Здесь каждый сам за себя. Ну, а стратегий на этой идее можно построить не одну, а целое семейство. Удачи!
К сожалению, я не шучу. Quik мне активно не нравится. О недостатках Quik — неудобный, глючный, периодически подвисающий на абсолютно пустом месте в самый неподходящий момент, и пр., и пр. Даже оставив в нем всего несколько самых необходимых окон и инструментов, избавиться от его глючности не получится. Уж, за более чем 10 лет, разработчики Quik могли бы его довести до ума, но воз и ныне там.
Видел и пользовался терминалами много лучше — с полным C-API, оч удобные и лишенные каких либо существенных недостатков — на них и работал аж до 2013 г. Это были самопальные термналы брокеров, для которых, к тому-же, было написано много вспомогательного софта. К сожалению, к 2013 г терминалы безнадежно устарели, благодаря апгрейдам становились все хуже, и, в конце концов, были сняты брокером с эксплуатации. Вся проделанная работа по написанию софта пошла прахом, и для работы предстояло выбрать другой терминал и/или брокера.
Коннекторы сразу не подошли. Остался выбор из 3-х терминалов c возможностью программирования или подключения внешнего софта — Quik, TRANSAQ, и МТ5.
TRANSAQ: есть только у одного брокера Финам. Если Финам откажется от Transag или поменяет версию терминала на несовместимую, то весь вспомогательный софт предстоит переделывать заново. Спсибо, я это уже проходил.) Кроме того, Transag есть толькоу Финам, и изменить брокера становится невозможно — опять надо будет все переделывать.
МТ5: имеется для МОЕХ у ограниченнного числа брокеров. Строго говоря, биржевым терминалом не является, и судя по форуму MQL, проблем с биржей у него выше крыши. Я так понимаю(оценочное суждение), фирма MQ попыталась вывести МТ5 на биржу, ничего с этого не получила, и завязала с этой деятельностью. Да, такой хоккей нам тоже не нужен.
Quik — старенький, плохонький, глюковатенький, но имеет всю необходимую функциональность, и все нужные возможности. Имеется практически у всех брокеров — смена или добавление брокера не вызовет проблем. В одночасье не исчезнет, что могут себе позволить терминалы оганиченного применения — Transaq, и тот же МТ5.
Отсюда следует, что Quik — лучший терминал для биржи MOEX для большинства пользователей, особенно для тех, кто пользуется каким либо вспомогательным софтом — индикаторы, торговые системы, системы анализа и пр.
Жаль, что я этого не понял раньше, не пришлось бы весь софт переписывать с нуля.
Мне нравится 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 с сайта
К обеду астролябия была продана интеллигентному слесарю за три рубля.
— Сама меряет, — сказал молодой человек, передавая астролябию покупателю, — было бы что мерять.
(И.Ильф, Е.Петров, Двенадцать стульев.)
Машинное обучение (МО) сейчас является очень популярной темой, и им не занимается только ленивый. В наличии масса готовых к употреблению библиотек — нейросети, леса-деревья, Байесы, и пр. и пр. Осваивается все это за пару недель и применяй — не хочу. Однако, результаты такого применения в трейдинге как правило нулевые или около того. Без толку, но, хотя-бы хорошо провели время,) узнали много нового и интересного.
Отрицательные результаты объясняюся тем, что методы МО — это не более чем математическое выражение или их набор формируемый в процессе обучения. При этом МО старается как можно точнее подогнать мат. выражение(я) под ответы представленные в обучающей выборке. Т.е., в принципе, методология МО ничем не отличается от банальной подгонки решения под имеющийся ответ. В студенческие годы, если что-то не сходилось, оч помогало умножить или разделить, скажем, на корень из Пи или корень из двух. Вот, и МО делает абсолютно тоже самое. И мы занимаемся тем же самым, когда подбираем параметры индикаторов, входов, тейков и стопов для получения от стратегии максимальной прибыли, и, надо сказать, с тем-же результатом — вся эта подгонка работает только на том отрезке, где мы подобрали, и никак на реальном рынке. К чести МО отметим, что методы МО гораздо лучше и эффективней чем мы занимаются подгонкой, и на интервале обучения получат классную ТС из практически всего, что вам придет в голову. Только реально работать это не будет.(
Таким образом, для типовых методов построения торговых систем применение МО не дает и не может дать ровным счетом ничего, и применение МО в подобных системах не имеет смысла. Можно не дергаться, такие задачи МО не решает.
Ну, и выводы:
МО следует применять для задач, имеющих решения, которые можно получить подгонкой под ответ. Для решения других задач методы МО не предназначены.
Такие задачи и следует искать для применения МО при разработке ТС. И если вы их найдете, это может сэкономить вам массу времени и сил. Подобных задач, кстати, великое множество, но с этим лучше обратиться к специальной литературе.