Предназначение модуля
Модуль ретроспективной аналитики
ПРедназначен для проведения ретроспективной аналитики. Модуль расчитывает и выявляет группы событий в индикаторах КТА и движении цен, определяет по ним точки входа и выхода, и расчитывает вероятные прибыли и убытки по данным цен на точки входа и выхода,
с учетом параметров SL и ТP. Для каждой моделируемой сделки при проведении анализа по заданным параметрам отображается ожидаемая прибыл или убыток с учётом и без учёта SL, и график движения прибылей и убытков от входа до точки выхода
Задача модуля - подтвердить или опровергнуть предлагаемые учителями крипто стратегии торговли как задача - минимум. И позволить моделировать различные стратегии самостоятельно, оценивая их эффективность
История создания модуля
Этот модуль создавался последним на момент написания этих строк. Потом ещё более года продукт не имел развития, т.к. ресурс был отдан другим задачам
Его особенностью является не требовательность к относительно быстрым рассчётам, т.к. это именно ретроспективная аналитика по данным прошлого. Другой особенностью является сложность и многоуровневость реализации даже в текущем, относительно простом, варианте
Архитектура модуля
Математика модуля ретроспективного КТА строится на формулах расчёта индикаторов, представленных в разделе Методы анализа. Компьютерный технический анализ (КТА) и индикаторы
Модуль построен по принципу многоуровневой вложенной матрёшки - работы с данными
[01] Базовая первичка движения цен берётся из таблиц динамики цен базовых таймфрэймов - 1М, 1Ч, 1Д - модуля выгрузки данных из Интернет и компьютерного теханализа,
что считаем первым уровнем "матрёшки". Для модуля КТА по оперативным данным вторичные таймфрэймы считаются на лету от первичных, даже не внутри БД, а внутри обслуживающих тот модуль Perl - функций. Но в модуле ретроспективной аналитики такое не работает,
поэтому:
[02] Предрасчёт первичных данных динамики цен разных таймфрэймов Если для модулей агрегатора и компьютерногог ТА, инветсаналитики, мониторинга событий и ведения сделок используется интерактивный расчёт движения
цен во вторичных таймфрэймах на лету из данных первичных таблиц, то для модуля ретроспективной аналитики такой подход чреват резким затягиванием времени расчётов. Поэтому первичные данные динамики цен для каждого таймфрэйма расчитываются
предварительно, и для дальнейшей работы используются предрассчитанные данные. Так в БД появляются таблицы предрасчитанных цен всех ТФ, годные для ретроспективной аналитики. Задействованы здесь таблицы БД, индексы, функции предрасчёта для одной монеты
за указанный период и функции - драйверы, производящие перерасчёт для всех монет за указанный период в режимах подката последних данных и полного перерассчета
[03] Предрасчёт значений индикаторов компьютерного технического анализа проводится на основании предрассчитанных данных динамики цен по различным выбранным таймфрэймам. В перспективе планировалось оценить возможность
рассчёта таких индикаторов по более младшим ТФ, чтобы сократить время от реально произошедшего события до получения сигнала. Такие тайминги с небольшой натяжкой можно подобрать везде, где в расчётах индикаторов используются скользящие средние ЕМА. Но даже
в случае "расчёта в родной таймфрэйм" невозможно считать эти значения онлайн для последующей обработки в разумные сроки на любом доступном реально железе. Поэтому и здесь делается предрассчёт. Задействованы здесь таблицы БД, индексы, функции предрасчёта
для одной монеты за указанный период и функции - драйверы, производящие перерасчёт для всех монет за указанный период в режимах подката последних данных и полного перерассчета
[04] Предрасчёт конкретных событий индикаторов по перечню Также проводится на основании предыдущего шага - предрасчёта значений индикаторов КТА для всех тредуемых для аналитики ТФ. Перечень выявляемых событий и таймфрэймов
напрямую определяет, какие комбинации событий можно будет учитывать для формирования группы событий, определяющих точку входа и точку выхода из сделки. Здесь также адействованы здесь таблицы БД, индексы, функции предрасчёта для одной монеты за указанный период
и функции - драйверы, производящие перерасчёт для всех монет за указанный период в режимах подката последних данных и полного перерассчета. Собственно в этом пункте заканчивается механизм подготовки данных для последующей аналитики
[05] Выявление точек входа и выхода и рассчет прибылей и убытков от сделок по предустановленному набору событий - RSI+MACD, RSI+MACD+EMA+EMA старшая Эти CGI формы позволяют задать текущий и старший ТФ, какие из индикаторов
в заранее определённой жёсткой последовательности использовать, SL и TP (последний не обрабатывается пока должно). И по заданным значениям выявить точки входа и выхода для каждой сделки, рассчитать прибыля и убытки от стратегии на дистанции. Сами механизмы, кроме
ввода занчений параметров, также реализованы через функции PgPL/SQL, отдельно собирающие входы и выходы лонговых, и отдельно шортовых сделок, чтобы они не мешали друг другу, и объединяющие их в единый список. Для каждой сделки внутри списка показывается также график
прбылей и убытков, а также цифры прибылей и убытков с учетом SL и без него. В планах для этого шага построение гибко настраиваемого набора событий, разного для входа и выхода
[06] Агрегированная аналитика по одной монете Используют механизмы прошлого шага [05 ], суммируя показатели всех сделок и показывая одну суммарную строчку по выбранной торговой паре и по выбранным уточняющим параметрам.
Для этих форм аналитики по одной торговой паре запланированы были, но пока не реализованы - разнесение TP/SL для лонгов и шортов, отдельный шаг помесячной аналитики с динамикой прибылей и убытков от одних вводных, а также отдельный
шаг расчёта прибылей и убытков по диапазону SL и TP отдельно для лонговых и шортовых сделок, т.к. для каждой монеты оптимальные значения SL и TP для лонга и шорта запросто могут отличаться. Также тут запланирован анализ относительно BTC, а не USDT
[07] Лента агрегированной аналитики по всем монетам Используют механизмы прошлого шага, показывая список по одной суммарой строчке для каждой монеты по выбранным уточняющим параметрам. С помощью этого уровня агрегации
можно оценить, насколько запрошенные параметры - набор событий и конкретные значения SL, применимы к разным монетам из списка ТОП-150, данные по которым собираются в нашем случае
Таким образом модуль ретроспективной аналитики реализует мощный многоуровневый аналитический комплекс даже в текущем варианте реализации. Дальнейшее развитие могло бы идти в сторону обозначенных глоубым планов, а также в сторону увеличения количества индикаторов
и событий по ним. Однако в настоящее время от модуля получена не самая утешительная аналитика по уже известным комбинациям, и работы в целом приостановлены
Также в модуле есть устаревшие отчёты, первые вервии, рассчитывающие данные для предустановленного набора состояний в онлайн из оперативных таблиц базовых таймфрэймов. К ним относятся отчеты по индикатору MACD, с симметричными вариантами входа и выхода
по одному из событий - пересечению линий, смены направления ведущей линии и смены направления гистограммы
Планы развития модуля
Всё будет зависеть от решения - продолжать развитие продукта или нет. Оно застопорилось более года назад, т.к. ресурс отожрали задачи по вынужденному импортозамещению
|