Блог им. 3Qu |Через 5 минут прогноз рассыпается. (с)

    • 05 августа 2021, 20:38
    • |
    • 3Qu
  • Еще
Был у меня на днях диалог с одним нашим форумчанином, и сказал он с некоторым сожалением — через 5 минут прогноз рассыпается. ©
Вообще, я с этим вполне согласен, это действительно близко к истине. Однако,
во первых: 5-ти минут часто вполне достаточно для сделки,
во вторых: по ходу пьесы можно прогнозировать и дальше, на следующие 5 минут, и, если все ОК, продлевать сделку на следующие 5 минут, потом на следующие и так далее.
Таким образом, мы поимеем систему, в которой, да, основные сделки будут не более 5 минут, но будут присутствовать и сделки более продолжительные, до 15 минут и более.
Только скажу, что из этого может получиться оч неплохая и весьма прибыльная система.

Блог им. 3Qu |Windows 10, Python, Anaconda, Miniconda (топик для питоноводов).

    • 28 июня 2021, 23:13
    • |
    • 3Qu
  • Еще
Доконал я, таки, свою Windows 10, стала еле ползать. Вначале восстановил штатной системой восстановления — не понравилось. Тогда сделал чистую установку. Вроде нормально, полетела. Поставил VS 2019, и очередь дошла до Python — что ставить?
Уже несколько лет использую Python для всех задач анализа данных и моделирования торговых систем. До того использовал разное — Excel, MathLab, SciLab, R. Python, имхо, оказался наиболее удобным и быстрым инструментом для решения всех околорыночных задач.
В свое время долго выбирал среду под Python, и, в конце концов остановился на Anaconda. Это самое оно для начинающих — все сразу сконфигурировано и готово к употреблению, уже сразу в базе ~700 пакетов, и не надо заморачиваться с их установкой. Кроме того, уже готовы к употреблению несколько сред разработки, я пользуюсь только одной — Spyder — не то, чтобы другие хуже, просто потребности не возникало.
В общем, для тех, кто только начинает работать с Python или не хочет заморачиваться с пакетами и средами, Anaconda — самое оно.
Однако, есть и недостатки. Очень большой объем на диске, долго ставится. Все 700 пакетов вам никогда не понадобятся, и по любому, позднее какие-то пакеты вам все равно придется устанавливать самостоятельно. Множество сред разработки тоже никогда не понадобятся, однако, чтобы получить общее представление о том, что есть под Python, для начальных этапов не вредно.

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

Блог им. 3Qu |Есть ли на рынке "закономерности"?

    • 16 апреля 2021, 19:53
    • |
    • 3Qu
  • Еще
Есть ли на рынке «закономерности»?
На СЛ часто публикуют топики о найденных на рынке «закономерностях» — свечной анализ, паттерны (до сих пор не знаю что это такое), индикаторные стратегии, всяческий ТА, Эллиоты и много чего еще, где с помощью палки и веревки пытаются найти «закономерности» и создать прибыльную торговую систему.
Скажу сразу, это все мартышкин труд, никаких «закономерностей» вы так не найдете. В принципе, на этом можно было бы и закончить топик, но можно попытаться ответить на вопрос — а почему это, мы, да не найдем?
Потому, что все ваши «закономерности» просты как ящик и могли бы быть выявлены практически мгновенно, если бы они реально существовали. Я даже не говорю о современных средствах типа нейросетей и прочего machine learning, а самыми обычными классическими средствами статистического и других видов анализа, известного максимум с начала 20-го века, м.б., кое что с 40-50 годов. Я повторю — практически мгновенно, любым желающим, знакомым с таким анализом.
Вы, вероятно, скажите — результаты скрываются. Их невозможно скрыть — результаты были бы общеизвестны практически мгновенно, и доказаны отнюдь не на отрезке графика, а полностью, и были бы воспроизводимы любым желающим.

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

Блог им. 3Qu |Совершенствуем Exponential Moving Average (EMA). 2

    • 16 января 2021, 21:01
    • |
    • 3Qu
  • Еще
В топике Совершенствуем Exponential Moving Average (EMA) мы показали использование линейной и нелинейной обратных связей в применении к ЕМА. Как правильно отметили в части комментариев, в случае линейной обратной связи ЕМА просто превращается в другую ЕМА с меньшим периодом, и толку от такой ЕМА немного. И тем не менее, даже в этом случае, обратная связь демонстрирует то, что и должна была демонстрировать — цель достигнута и ошибка слежения за ценой уменьшилась.
Нелинейная же связь даже в случае с ЕМА работает нормально, и по факту адаптивно в зависимости от ошибки меняет период сглаживания. При больших значениях ошибки период сглаживания уменьшается относительно заданного Тс, при малых ошибках период сглаживания практически равен предустановленному Тс.
В общем, нам надо решить вопрос только с линейной обратной связи, и выбрать для этого в качестве исходного индикатора что-то посложнее ЕМА. Скажем фильтр низких частот (ФНЧ) 2-го порядка. Выражение для него будет иметь вид.

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

Блог им. 3Qu |Совершенствуем Exponential Moving Average (EMA).

    • 16 января 2021, 00:04
    • |
    • 3Qu
  • Еще
На днях написал топик с описанием своей старой стратегии - Ретростратегия ретро ТС., снятой с эксплуатации в далеком 2014 г, которая, как оказалось, даже в упрощенном виде может работать и сегодня. Не собирался ее использовать, но в ходе обсуждений решил потратить на нее пару вечеров, восстановить по памяти до последней ее версии, и посмотреть, не стоит ли отложить текущие дела, и быстренько вывести ее на рынок.
В ходе восстановления пришлось также дорабатывать фильтры ФНЧ, простейшим из которых является ЕМА. Я дорабатывал свои фильтры, а вам покажу, что можно сделать с ЕМА, чтобы ее усовершенствовать и улучшить.
В комментариях к топику о ретростратегии упомянули некоего Jurik (jurikres.com) и его JMA. Думал, что он уже забыт, но, жив — курилка. То, что мы получим будет не хуже его индикаторов и подобрав периоды сглаживания можете сами в этом убедиться. Вообще, все поделки Jurikа — это где-то на уровне лабораторных работ студентов 4-го курса института по курсу ТАУиР. Наши сегодняшние тоже сложностью не отличаются, но может даже лучше, хотя бы потому, что не являются черными ящиками, и вы знаете как это устроено.

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

Блог им. 3Qu |Классификация сделок в торговых системах 2 (пример).

    • 17 декабря 2020, 21:04
    • |
    • 3Qu
  • Еще
Был у меня топик  "Классификация сделок в торговых системах" — в общем, не зашел. Но некоторые плюсанули, вот, для некоторых и напишу пример конкретного применения. Рекомендую прочитать предыдущий, иначе можете не понять этот топик.
К счастью, у меня оказался рояль в кустах — вялотекущий проект системы прогнозирования котировок, вычисляющей прогноз изменения цены на интервале Т по значению и состоянию цены в момент t — dС(t+Т). Ну, и общая формула прогнозирующей системы:
                              dC(t+T) = C(t+T) — C(t),
где C(t) — цена в момент t.
График теста системы я показывал в комментариях к предыдущему топику вот он:

Классификация сделок в торговых системах 2 (пример).
По Х (Predict)  — прогноз изменение цены, по У (Real) — реальное изменение цены через время Т. Не обращайте внимание на значения осей, это не сами изменения цены, это нормированные к диапазону системы значения изменений цен.

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

Блог им. 3Qu |Классификация сделок в торговых системах.

    • 14 декабря 2020, 20:54
    • |
    • 3Qu
  • Еще
Я в принципе не занимаюсь оптимизицией, как она обычно понимается, т.е. подбором параметров для получения высокой доходности. Я занимаюсь настройкой системы. Это, прежде всего, определение и уточнение границ области(ей), в которой производятся сделки и выход из них.
Для этого строятся всяческие графики, диаграммы и прочее, где отображаются сами сделки и их параметры.
Сделки разделяются на следующие классы:
1. системно правильные прибыльные
2. системно правильные убыточные
3. случайно прибыльные
4. случайно убыточные.
Сделки 1 и 2 производятся в рамках правил системы, и не требуют корректировки.
Сделки 3 и 4 производятся вне границ области, определенной системой, что требует уточнения логики системы с целью исключения этих сделок даже несмотря на их прибыльность.
Может также оказаться, что необходимо скорректировать область определения системы, и часть сделок 3 и 4 в последующем перекочуют в классификации в сделки 1 и 2.
Сделки классов 3 и 4 не всегда можно полностью исключить из системы, т.к. область определения может иметь достаточно сложную конфигурацию, и ее ограничение требует сложной логики. С этим, возможно, придется смирится.
Благодаря таким настройкам прибыль системы в итоге может даже уменьшится по сравнению с исходной, до настройки. Но мы тем самым почти гарантируем, что при следующих тестах, на других отрезках истории, и, в дальнейшем, на реале, прибыль останется стабильной.

Блог им. 3Qu |Карго-Культ в трейдинге.

    • 08 августа 2020, 19:22
    • |
    • 3Qu
  • Еще

Вы конечно знаете, что такое Карго-Культ, но, позволю себе напомнить.

В некую Банановую Республику продолжительное время поступает гуманитарная помощь развитых стран. В стране оборудуются аэродромы, куда приземляются самолеты со всякими ништяками — продовольствием, одеждой, товарами первой и второй необходимости и пр. Все счастливы.
В один прекрасный момент программа гум помощи заканчивается, и людям приходится самим заботится о себе. Они строят самолет из палок и веревок, ставят его на заброшенный аэродром, в надежде, что он привлечет железных птиц с ништяками. Потом вспоминают, что в хибаре сидел мужик в наушниках, и что-то говорил в микрофон, и тогда прилетали железные птицы. Аборигены собирают остатки брошенного оборудования, рисуют на ящиках шкалы и органы управления, назначают диспетчера, дают ему наушники из половинок кокосовых орехов и деревянный микрофон, и он часами говорит в него нечто подобное тому, что они слышали от диспетчера.
Словом, делают все тоже самое, что и проклятые пиндосы, но железные птицы по прежнему не летят на зов.
Это самый примитивный вариант Карго-Культа, но есть и более продвинутые и более цивилизованные его варианты.
Скажем, покупаем мы экскаватор, или угоняем самолет, и цап-царап, разбираем все это до винтиков, делаем чертежи, и пытаемся изготовить аналогичные изделия. Этот вариант уже лучше, — экскаватор может даже копать, а самолет летать. Но есть и недостатки — мы можем увидеть только внешнюю сторону, о технологиях изготовления мы можем только гадать, а можем даже и не догадываться о их существовании. Кроме того, для тех же самолетов, это будет отставание не менее чем на 10 лет.
Типичный пример Карго-Культа на гос уровне — тяжелый бомбардировщик Ту-4, полностью, вплоть до пепельницы и подстаканников, скопированный с американского



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

Блог им. 3Qu |Рождение тестовых Граалей.

    • 17 июля 2020, 19:44
    • |
    • 3Qu
  • Еще

Недели две назад обещал ответить нашему коллеге на вопрос и написать на эту тему топик. Отвечаю и пишу.

Итак, нам пришла в голову просто бесподобная и очень простая идея Грааля. Мы имеем всего два индикатора с параметрами х1 и х2 соответственно. Их состояние описывается вектором X = [x1,x2], и в некоторой области Gv подмножества Х и находится наш Грааль, многие сделки в этой области в плюс. По крайней мере, мы так предполагаем, хотя где находится эта область и есть ли она вообще, эта Gv представляем весьма приблизительно, и мы, разумеется, хотели бы это выяснить. Рис.1.
Рождение тестовых Граалей.

В пространстве состояний X мы ограничили область нашего видения Грааля областью Gv, и в нее даже попал кусок настоящего Грааля G.
Запускаем оптимизацию системы по прибыли, положение и параметры области Gv меняются таким образом, что оптимизатор находит и выделяет настоящий Грааль G областью Gr в пространстве X.
Торговая система готова к употреблению.



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

Блог им. 3Qu |Нейросети в торговых системах. 2.

    • 10 июля 2020, 15:35
    • |
    • 3Qu
  • Еще

В прошлом топике [1] мы разобрались с тем, что и как подавать на входы нейросети (НС). Теперь надо как-то сказать НС — «Горшочек, вари», предварительно рассказав, что конкретно и как именно надо «варить». Мыслей, в общем, нет никаких. Потому, давайте обратимся к классикам — Саймону Хайкину [2,c.33]:
Нейросети в торговых системах. 2.
Вот так вот, сразу и на первых страницах — «не могут обеспечить готовые решения», необходимо интегрировать в сложные ситемы", «относительно простые задачи, часть из которых может решаться НС». Книга конечно старая, но и наш MLP (Multilayer perceptron) в составе scikit-learn новизной не отличается. Этому MLP еще и простую, да конкретную задачу подавай, и вокруг него «сложную систему» городи. Как-то энтузиазма поубавилось.

Ладно, коли на вход нашего MLP уже подается временной ряд, пусть он нам определяет, хотя бы приблизительно, моменты входа в Лонг. А мы потом его проверим, и уточним эти моменты.
Теперь нашу НС надо как-то научить находить Лонг — показать НС как правильно и как неправильно. А мы сами-то знаем как правильно? Учителя фиговы. Это с кошечками-собачками хорошо — показывай себе, и пусть учится.
А давайте что-нибудь предположим, назовем какие-то входы в Лонг правильными, а остальные неправильными. Если мы предположили какую-нибудь ерунду, то НС просто ничему разумному не научится, и при дальнейшей проверке это быстро выяснится. А что-то предположить нам поможет интернет.
Кстати, это свойство НС, отличать фантазии от действительных закономерностей, уже вполне можно использовать для проверки каких-либо наших педположений о поведении рынка. Надо только рассказать о них НС, и она скажет, есть там что-то, с чем следует работать, или выкинуть это и забыть.
Однако, обратимся к интернету. Несколько лет назад наш коллега по несчастью занимался методами Машинного обучения (МО) с целью победить рынок. Он строил массу предикторов, подавал их на входы различных систем МО, и обучал по разметке Зиг-Зага. А что, неплохая идея, входы — лучше не придумаешь.
Вообще, если на минимуме Зиг-Зага загородить правую часть графика, как-то сомнительно, что вообще можно что-то сказать о дальнейшем движении. Да, и по ходу пьесы этот минимум будет постоянно перемещаться. Да и наш коллега долго и упорно менял предикторы и системы МО, потом все реже, реже, и вообще пропал из поля зрения. А на истории, конечно, Зиг-Заг — лепота.
Давайте сдвинем точку входа в Лонг немного вправо от минимума Зиг-Зага, где цена уже начала расти. Мы получим некую U-образную кривую цены, на которой НС хотя бы cможет построить линию регрессии. Не говорю, что это хорошая идея, но мы с помощью НС попробуем ее проверить. Что получим? — понятия не имею, я это делаю по ходу написания материала.
Разметку правильных входов для обучения можно сделать по Зиг-Загу, установив какой нибудь разумный порог от его минимума.
А разметку неправильных входов кто сделает? Опять обращаемся к [2,c.60].
Нейросети в торговых системах. 2.



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

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