Постов с тегом "Торговые системы": 318

Торговые системы


Как не слиться с прибыльной торговой системой

    • 19 февраля 2020, 16:36
    • |
    • Diamond
  • Еще
Можно ли обнулить счет, следуя правилам торговой системы, в которой вероятность прибыльной сделки превышает 50/50? Если нет отдельной системы управления капиталом, то да, такой исход становится возможным. Эта книга дает ответы на некоторые вопросы, связанные с такой проблемой.

Зачем вообще знать оптимальный размер позиции в каждой сделке, если можно рисковать 1-2% капитала, как пишут во многих статьях? Например, этого размера позиции может оказаться недостаточно, если рыночные условия изменятся в пользу вашей торговой системы. Или вы решили все-таки увеличить размер позиции, но изменение принесло огромные убытки при возрастании волатильности. В книге смысл этих оптимизаций изложен так:

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


( Читать дальше )

Психологическая комфортность торговой системы

Вопрос, вынесенный в заголовок этой статьи, в книгах обычно обходят стороной. Пишут, что систему надо изначально проектировать так, чтоб мы могли реально по ней работать — то есть, например, сигналы она должна подавать не в три часа ночи и не тогда, когда мы на службе. Всё это верно, но к психологической комфортности это не имеет отношения. Ещё пишут о размере депозита и лотов: что работать надо с такими суммами, которые не вызывают эмоционального перенапряжения, и не в коем случае не с заемными деньгами, и не с такими, утрата которых будет ударом по бюджету семьи. Это уже ближе: это действительно о психологической комфортности. Но — не торговой системы: система здесь ни при чем.

Разумеется, система должна быть прежде всего прибыльной. Но, как это ни покажется странным, комфортность мало зависит и от прибыльности, если под «прибыльностью» понимать положительные результаты, показанные системой при тестировании. Ведь если бы у нас не было оснований считать, что система прибыльна, мы бы и не торговали по ней; а работает ли она в данный момент или же «сломалась» и стала убыточной — этого мы знать не можем, это станет понятно лишь по прошествии времени.



( Читать дальше )

Как трансформировать свой трейдинг

    • 28 января 2020, 02:58
    • |
    • Diamond
  • Еще
Один из немногих случаев, когда 342 страницы легко читаются за один вечер. Эта книга призывает к разработке торговых систем, повышению личной дисциплины, анализу рынков и рекомендует читателю относиться к трейдингу, как к виду бизнеса. Многие успешные трейдеры, за которыми я наблюдаю, следуют тем правилам, которые описаны в книге.

Автор определяет четкие отличия лучших трейдеров от среднестатистических:

Самые лучшие трейдеры — всегда те, кто не усложняет себе жизнь. К примеру, на недавнем семинаре один трейдер отметил: «Я просто покупаю то, что растет. От того, что мне невыгодно, я тотчас же избавляюсь. Если дело идет в мою пользу, оставляю все как есть. Я много денег так заработал»

Менее успешные трейдеры описывались так:

Наверное, вы хотите, чтобы кто-нибудь сказал, что конкретно нужно делать, после чего рассчитываете на большие доходы. Если же этого не происходит, вы ищете советчика или гуру получше и надеетесь на его помощь.


( Читать дальше )

Беспроигрышная стратегия для фьючерсов.

    • 10 января 2020, 19:43
    • |
    • 3Qu
  • Еще

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

В неклассическом виде в эту стратегию можно играть хоть интрадей, и 3-4 сделки в день вам обеспечены. Играть руками не рекомендую, целый день пялиться в монитор — может крыша поехать. А вот автоматом оч неплохо, тем более, что стратегия легко алгоритмизируется. Риски? — максимум 2-3 неудачных копеечных сделок в месяц.
Ну, и прежде чем начинать, попробуйте на кошках — смоделируйте в Python, например.
Исходная идея изложена. Ну, а конкретика, это уже не для общего доступа, кому нужны конкуренты в стакане.) Здесь каждый сам за себя. Ну, а стратегий на этой идее можно построить не одну, а целое семейство. Удачи!


Quik - лучший терминал для MOEX.

    • 09 января 2020, 22:36
    • |
    • 3Qu
  • Еще

К сожалению, я не шучу. 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 для большинства пользователей, особенно для тех, кто пользуется каким либо вспомогательным софтом — индикаторы, торговые системы, системы анализа и пр.
Жаль, что я этого не понял раньше, не пришлось бы весь софт переписывать с нуля.

  • обсудить на форуме:
  • QUIK

Супер ускорение расчета индикаторов

Когда-то давно я занимался распознавание образов и использовал такую вещь как интегральное представление изображения. И на самом деле этот же метод применим и в алготрейдинге, например для быстрого расчета SMA, или сбора статистики винрейта за указанный период. 

Например, был ценовой ряд из 6-ти элементов:

1.104, 1.102, 1.105, 1.106, 1.103, 1.101 

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

0.0, 1.104, 2.206, 3.311, 4.417, 5.52, 6.621

Чему будет равно SMA за последние 3 элемента? Достаточно посчитать разницу: 6.621 - 3.311 и разделить ее на 3.

SMA(3) = (6.621 - 3.311)/3 = 1.103

Убедимся, что SMA(3) найдено верно. 

(1.106 + 1.103 + 1.101)/3 = 1.103

Таким образом можно найти SMA с любым периодом, совершив всего навсего одну операцию вычитания и одну операцию деления. Это позволит гораздо быстрее получить набор значений индикаторов типа SMA, RSI, STD_DEV.
Вроде все хорошо, НО НАДО ПОМНИТЬ, что если использовать тип данных с плавающей точкой, то у нас будет накапливаться ошибка. Поэтому ценовой ряд лучше сначала преобразовать в целочисленный тип. Для этого достаточно для 5-ти значных котировок умножить цену на число 100 000.

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




О вероятностях и Байесе.

    • 19 декабря 2019, 17:39
    • |
    • 3Qu
  • Еще
На днях был пост Оксана Разяпова  "Про вероятности". В нем предполагалось что рыночные ситуации разруливаются теоремой Байеса.
Был также ответ А.Г. -«Интересно, как Вы Баейса посчитаете, если не знаете точные значения вероятностей из Ваших же формул.» 
Ну, во первых, большинство ситуаций при анализе рыночных рядов Байесом никак не «разруливаются» — все вероятности на уровне 0.5.
И во вторых. Тем не менее при анализе ВР Байес неплохо работает при проверке статистических гипотез. Однако такие гипотезы должны быть изначально, и далеко не факт, что каждая из них при проверке даст что-либо отличное от 0.5. Но, если гипотеза окажется верной, то значения вероятностей 0.6-0.7 вполне достижимы, что вполне достаточно для практических целей. Если повезет с гипотезой, то на ней можно и реальную ТС построить.
Ну, а параметры есть откуда брать. Считается Байес в Python — пакет scikit-learn, например. И в этом пакете не только Байес, но и много других методов.
Как просто и быстро связаться с Python, и как проверяются стат гипотезы я вкратце писал в своих предыдущих топиках.



Коммуникации Quik Lua с внешним миром.

    • 14 декабря 2019, 20:42
    • |
    • 3Qu
  • Еще

Мне нравится 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 с сайта



( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Применение Машинного Обучения в Торговых Стратегиях

    • 13 декабря 2019, 19:20
    • |
    • 3Qu
  • Еще
В прошлом посте  Мода на Машинное Обучение мы выяснили, что Машинное Обучение (МО) может решить только конкретные задачи, т.к. единственное чем занимается, так это подбором решения под заранее известные ответы, но делает это оч качественно. Посмотрим, где в ТС можно найти такие задачи.
Пусть у нас возникла идея замечательной ТС. Мы накидали на график всяческих индикаторов, ну, и прям видно — вот оно, счастье. Начали долго и муторно писать логику входов в сделку и пр. Параметры индикаторов и их сочетания неизвестны, логику еще продумывать надо, количество if зашкаливать начинает — эт только на глаз все хорошо и просто.
Подождите, так нам нужно найти всего лишь некоторый набор математических выражений для описания нашей стратегии, а это как раз задача для МО, и, по идее, МО должно с такой задачей хорошо справиться.
Итак, берем нашу стратегию, пишем несложную логику в общих чертах описывающую нашу стратегию — получаем как-бы упрощенный вариант стратегии. С помощью этой логики (упрощенной стратегии) выделяем интервалы обучения и генерируем обучающие последовательности. Подготавливаем данные — приводим все это к виду понятному МО. Обучаем на этих данных МО, проверяем на независимых данных — получаем готовую стратегию. Естественно, упрощенную логику (стратегию) оставляем как часть стратегии, ограничивающую область применения МО.
Собственно, сэкономили на написании логики стратегии.
Ну, а будет работать такая стратегия или нет — это уже зависит не от МО, а от идеи самой стратегии. Естественно, предполагаем, что как готовить данные, обучать-проверять — это мы хорошо знаем и все правильно делаем.

Мода на Машинное Обучение.

    • 12 декабря 2019, 19:33
    • |
    • 3Qu
  • Еще

К обеду астролябия была продана интеллигентному слесарю за три рубля.
— Сама меряет, — сказал молодой человек, передавая астролябию покупателю, — было бы что мерять.
(И.Ильф, Е.Петров, Двенадцать стульев.)

Машинное обучение (МО) сейчас является очень популярной темой, и им не занимается только ленивый. В наличии масса готовых к употреблению библиотек — нейросети, леса-деревья, Байесы, и пр. и пр. Осваивается все это за пару недель и применяй — не хочу. Однако, результаты такого применения в трейдинге как правило нулевые или около того. Без толку, но, хотя-бы хорошо провели время,) узнали много нового и интересного.
Отрицательные результаты объясняюся тем, что методы МО — это не более чем математическое выражение или их набор формируемый в процессе обучения. При этом МО старается как можно точнее подогнать мат. выражение(я) под ответы представленные в обучающей выборке. Т.е., в принципе, методология МО ничем не отличается от банальной подгонки решения под имеющийся ответ. В студенческие годы, если что-то не сходилось, оч помогало умножить или разделить, скажем, на корень из Пи или корень из двух. Вот, и МО делает абсолютно тоже самое. И мы занимаемся тем же самым, когда подбираем параметры индикаторов, входов, тейков и стопов для получения от стратегии максимальной прибыли, и, надо сказать, с тем-же результатом — вся эта подгонка работает только на том отрезке, где мы подобрали, и никак на реальном рынке. К чести МО отметим, что методы МО гораздо лучше и эффективней чем мы занимаются подгонкой, и на интервале обучения получат классную ТС из практически всего, что вам придет в голову. Только реально работать это не будет.(
Таким образом, для типовых методов построения торговых систем применение МО не дает и не может дать ровным счетом ничего, и применение МО в подобных системах не имеет смысла. Можно не дергаться, такие задачи МО не решает.
Ну, и выводы:
МО следует применять для задач, имеющих решения, которые можно получить подгонкой под ответ. Для решения других задач методы МО не предназначены.
Такие задачи и следует искать для применения МО при разработке ТС. И если вы их найдете, это может сэкономить вам массу времени и сил. Подобных задач, кстати, великое множество, но с этим лучше обратиться к специальной литературе.





....все тэги
UPDONW
Новый дизайн