Финансовая Лаборатория
1.25K subscribers
59 photos
11 videos
2 files
236 links
Личные финансы, инвестиции, трейдинг
Download Telegram
Джон Элерс постоянно говорит о том, что рыночный сигнал - это розовый шум. Но вместо доказательств рассказывает про походку пьяницы.

Этим летом я формировал базу понимания, что есть рыночный сигнал, поэтому вопрос природы рынка встал и передо мной. Я решил вооружиться научными инструментами, и привести объективное доказательство того, что рынок - это розовый шум.

В результате получился одноименный курс из 12-и уроков, который выкладываю для всех в открытый доступ здесь >>>

Приятного обучения!
Я доказал, что рыночный сигнал - это розовый шум. Раз появилась сущность "шум", то нужно понять, что можно с шумом делать. Основные исследования исходили из того, что шум - паразитный сигнал. Все, что нужно сделать, это его удалить. Тем самым очищая сигнал, несущий смысловую нагрузку. У нас кроме шума ничего нет. Поэтому, его нужно научиться объективно оценивать, создавать (синтезировать) и выделять (анализировать). Чем и займемся. Мы выведем несколько формул. Объективно оценим чистый розовый шум. В завершении покажу, что изменение характера рынка - это далеко не случайность. О чем давно догадывался Ларри Вильямс, но показать удалось только сейчас. Это исследование выложено в курсе Система Игоря Чечета: Исследование шумов.

В исследовании шумов я опирался на концепцию построения EMA. У Джона Элерса была формула связи альфы EMA с критическим периодом, которую он транслирует во всех своих публикациях более 10-и лет. Я ничего не принимаю на веру, и решил сделать вывод этой формулы, опираясь на базу цифровой обработки сигналов (ЦОС). Могу сказать, что из-за "детской" ошибки раскрытия скобок, формула Джона Элерса не верна. Что и показал в курсе Система Джона Элерса: Правильный расчет EMA. Также приложил верную формулу. Поэтому, если вы использовали формулу альфы EMA через тригонометрические функции, то исправьте ее на ту, что привел в курсе.

С такой мощной базой вышел на новую "окончательную" оптимальную скользящую среднюю от Джона Элерса. Зная ЦОС, я усомнился в "идеальности" предложенной скользящей. Объяснил всё в курсе Система Джона Элерса: Оптимальная скользящая средняя. Шаг за шагом построил 4 типа скользящих средних, которые вы можете использовать в своих торговых системах в зависимости от задач.

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

Так и произошло с тригонометрической формулой зависимости альфы в EMA от периода у Джона Элерса. Ошибка была при раскрытии скобок. Смоделирую простым примером:

10 - 2 *(4 - 1) = 4

На первый взгляд всё просто. В скобках получим 3. Умножим на 2, получим 6. Вычтем из 10-и, получим 4.

Джон Элерс пошел другим путем, и попытался раскрыть скобки вот так:

10 - 2 * 4 - 2 * 1 = 0

Конечно, это неверно. Но именно эта ошибка, в итоге, привела к неверной формуле, которую более 12-и лет использует Джон.

Когда записывал для вас курс Система Джона Элерса: Правильный расчет EMA, то для проверки формулы построил АЧХ фильтра EMA. Очень удивился, что отсечка -3 dB была далеко за заданным периодом.

Тогда понял, что надо вывести формулу заново. Я не торопился. Разбил вывод формулы на части, чтобы самому не ошибиться в нюансах. Проверил на разных периодах через АЧХ. Всё работает как надо. Конечно, как обычно, все проверки, алгоритмы, код и формулы выложил вам в файле исследования в курсе.
В курсе Система Джона Элерса: Правильный расчет EMA мы заменили альфу (параметр периода) по моей правильной формуле. Была EMA, которая по периоду соотносилась с SMA. Стала EMA, у которой период является частотой среза. Это хорошо, но достаточно ли нам работать только с фильтрами 1-го порядка?

Для выделения белого шума и синтеза розового шума EMA вполне достаточно. Что показал в курсе Система Игоря Чечета: Исследование шумов. Но более качественную оценку с помощью EMA сделать нельзя. После применения EMA на розовом шуме снова получаем розовый шум. Сменить период - тоже не вариант. Характеристики будут те же, просто сместится частота среза.

Раз нельзя копать вширь, копаем вглубь. Фильтры 2-го порядка более качественно "режут" сигнал. То, что мы знаем как спектральное расширение в 6 dB на октаву, или, другими словами, фрактальность рынка, устраняется только с помощью фильтров 2-го порядка.

Один из таких фильтров представлен в курсе Система Джона Элерса: Оптимальная скользящая средняя. Джон там напутал знатно. Например то, что преобразование идет не только в частотной, но и во временнОй области. Т.е. фильтр нижних частот (в трейдинге известен как скользящая средняя) без задержки получить не удастся. В курсе я всё поправил как надо. В итоге, мы получим 4 скользящих средних 1-го и 2-го порядков, чтобы решить любую задачу в нашей торговой системе.
Хотел найти популярный образ из нашей обыденной жизни для визуализации рыночного сигнала. Взгляд упал на соковыжималку для апельсинов. Подойдет!

Грубо, апельсин состоит из корки и мякоти. В мякоти есть жидкость. Когда мы запускаем соковыжималку, то она работает как фильтр для апельсина. Корка останется сверху, и в соковыжималку не попадет. Из мякоти будет давиться сок. Но вот как ее давить? Если давить чуть-чуть, то полученный сок будет водянистым без вкуса и цвета. Если давить со всей дури, то получим мякоть как если бы просто почистили апельсин.

Получается, что соковыжималка выполняет роль фильтра. И у этого фильтра есть настройки насколько сильно фильтровать то, что отжимается из мякоти.

В классическом Техническом Анализе, считается, что изменение цены за период - это случайные колебания. Если вычесть из последней цены закрытия предыдущую цену (индикатор Моментум), то полученные значения будут белым шумом. Исследования показали, что это не так. Да и до нашей соковыжималки данная идея не дотягивает.

Что, если проводить анализ рыночного сигнала другим способом? В качестве настройки фильтра поставить значение, после которого получим розовый шум. Значение можно выбрать не только на ваш вкус, но и используя выведенные мной формулы в курсе Система Игоря Чечета: Исследование шумов.

Тогда мы не только выполним задачу выделения (анализа) белого шума из розового, но и заменим индикатор Моментум более качественным индикатором. Об этом рассказал в курсе Система Игоря Чечета: Исследование шумов.
В курсе Система Игоря Чечета: Исследование шумов рассказал и выдал всё, что у меня есть на данный момент. Но был один небольшой момент, которому не уделил достаточно времени в курсе. Речь пойдет о том, как выделять белый шум (случайность) из цветных шумов и рыночного сигнала.

Постараюсь объяснить как можно проще. В курсе дано подробное объяснение.

Когда мы выделяем белый шум (оранжевая линия) из цветного (синяя линия), то на представленном графике автокорреляции белый шум должен колебаться относительно нулевой отметки . Если мы используем для выделения средние значения шума, видим, что это не так. Мы получаем чуть розовый шум. У нас всплеск вверх компенсируется падением вниз. Это как средняя температура по больнице 36.6 градусов. Но нам нужен белый шум!
Есть разные способы решения подобных задач.

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

Другой способ - работать не со средними значениями, а с максимумами и минимумами. Если чистящее средство удаляет самое тяжелое пятно, то удалит и такие же пятна поменьше.

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

Дополнительный код приложил к исследованию. Записал видео с комментариями.
Чтобы завершить тему исследования шумов, немного развлеку вас. А вы знали, что розовый шум по цвету совсем не розовый? Как найти цвет любого шума и рыночного сигнала, смотрите мою новую статью здесь >>>

В этом месяце займемся темой "Джентельменский набор индикаторов". Посмотрим на то, что реально мы хотим видеть в торговых системах, и как это всё можно объективно оценить.
Новые индикаторы рыночного сигнала

Я обещал, что в этом месяце займемся индикаторами. Держу обещание. Несколько лет назад я понял, что сам рыночный сигнал является индикатором любого типа. Хоть трендом, хоть осциллятором, хоть моментумом. Что и подтверждают классические индикаторы технического анализа. Но я решил не идти путем народных примет, и использовал для разложения рыночного сигнала на составляющие только научные методы.

Шло время, наработок стало так много, что захотелось свести их вместе, и в лаконичном виде предоставить вам. Так и получился набор из 2-х курсов "Новые индикаторы рыночного сигнала".

В первом VIP-курсе Структура рыночного сигнала мы шаг за шагом пройдем от структуры рыночного сигнала до методик его анализа. Во втором курсе Новые индикаторы рыночного сигнала мы продолжим построение кода индикаторов. Из полученных данных определим не только тренд/откат/импульс, но и целевые цены для фиксации убытков и прибыли. Всё делаем по очень строгой логике и понятной математике. Если что забыли из школьной/институтской программы, по ходу вспомним.
Завтра наша команда выступает на межрегионе с чат-ботом для станка. Пожелаем нам удачи!
Вашими молитвами... Взяли 2 номинации. 2-ое место в возрастной группе. И 1-ое место за лучшее IT-решение. Достойная смена нам растет!
Обещал детям пиццу за свой счет, если возьмут номинацию. Взяли две 😁 Держу слово.
Вот и слава пришла... Почти 5 лет трудов. И вот уже тренер чемпионов 😁 Скоро вернусь из поездок, и займёмся с вами полезными вещами.
За наше будущее я спокоен. Возвращаемся к настоящему. 😄

Пока ездил, Т-Инвестиции убрали индикативные курсы доллара и евро. За неимением лучшего, поставил вместо них вечные фьючерсы.

Измененная функция на картинке. Код выложен в GitHub.
На заметку. В коде торговых систем мы часто используем текущее время по UTC. Обычно, используем такую конструкцию:

from datetime import datetime
print(datetime.utcnow())

С версии Python 3.12 эта конструкция меняется на:

from datetime import datetime, UTC
print(datetime.now(UTC))
Еще нюанс. Когда мы получаем текущее время в зоне UTC, то для работы с ним нужно использовать дату/время с указанной временной зоной (параметр tzinfo). Иначе, получим ошибку. Вот простой пример получения кол-ва секунд с начала эпохи UNIX:

from datetime import datetime
print(int((datetime.now(UTC) - datetime(1970, 1, 1, tzinfo=UTC)).total_seconds()))
Друзья! Вот и уходит от нас 2024 год. Это значит, что 24 декабря в 20:00 МСК состоится традиционная новогодняя вечеринка для всех участников проекта "Финансовая Лаборатория".

Вы приглашены.

Как обычно, подведем итоги года, поделюсь идеями, отвечу на все ваши вопросы.

Вот ссылка на прямую трансляцию >>>

До встречи!

P.S. Распродажа будет, как же без нее 😊