Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 3526

 
Aleksey Nikolayev #:

Очевидно, расписание разворота цен)

Жаль, что оно оказалось несуществующим)

для начала надо ответить на вопрос что такое разворот цен

а потом уже искать расписание. 

 
Maxim Kuznetsov #:

для начала надо ответить на вопрос что такое разворот цен

а потом уже искать расписание. 

Как минимум, два последующих приращения (перед и после разворота) должны иметь разный знак. Что и приводит к отрицательной корреляции между этими приращениями. И наоборот, там где нет разворотов, последующие приращения имеют одинаковый знак, что приводит к положительной корреляции.
 
Aleksey Nikolayev #:
Естественно, никакого "разворота по расписанию" увидеть не удалось.

Но что же такое тогда видно на графиках, что может приниматься за "расписание"?

Очевидно, это эффекты связанные с суточными колебаниями волатильности.

Пусть у нас есть две реализации СБ, которые отличаются только дисперсией приращений. Никто в здравом уме не скажет, что одна более предсказуема чем другая. По сути, они отличаются лишь тем, что в более волатильной реализации время словно ускоряется. НО, если эти реализации нарезать на кусочки, перемешать и соединить в одну, то глаз может начать видеть какие-то закономерности. Например, очевидно что в более быстрой реализации вершины зигзага будут появляться чаще, что конечно же ничуть не делает их более предсказуемыми.

Вывод: можно начинать писать фанфик по талебовской "одураченные случайностью")

 
Aleksey Nikolayev #:

Но что же такое тогда видно на графиках, что может приниматься за "расписание"?

Очевидно, это эффекты связанные с суточными колебаниями волатильности.

Пусть у нас есть две реализации СБ, которые отличаются только дисперсией приращений. Никто в здравом уме не скажет, что одна более предсказуема чем другая. По сути, они отличаются лишь тем, что в более волатильной реализации время словно ускоряется. НО, если эти реализации нарезать на кусочки, перемешать и соединить в одну, то глаз может начать видеть какие-то закономерности. Например, очевидно что в более быстрой реализации вершины зигзага будут появляться чаще, что конечно же ничуть не делает их более предсказуемыми.

Вывод: можно начинать писать фанфик по талебовской "одураченные случайностью")

Ну это если взять СБ. А можно же нарезать кусочками и затем сделать тесты на отличие от СБ. 
Где-то видел, или сам придумал (уже не помню), что график в разные периоды, например торговые сессии, -  это разные рынки, которые кусочно соединены в один. Этому можно найти обоснования и опровержения, но есть смысл пробовать анализировать их отдельно. Мои кластерные алго скорее подтверждают, чем опровергают.
Неэффективности, они же еще могут не определяться тестами. То есть разработка ТС, в основном, состоит из «там чуть-чуть улучшил, здесь немного подкрутил», и так по кругу :)
 
Maxim Dmitrievsky #:
Ну это если взять СБ. А можно же нарезать кусочками и затем сделать тесты на отличие от СБ. 
Где-то видел, или сам придумал (уже не помню), что график в разные периоды, например торговые сессии, -  это разные рынки, которые кусочно соединены в один. Этому можно найти обоснования и опровержения, но есть смысл пробовать анализировать их отдельно. Мои кластерные алго скорее подтверждают, чем опровергают.

Тоже кажется очевидным существование некоей временной структуры, связанной с сессионностью рынка. Другое дело, что вряд ли она описывается простыми способами типа "разворотов по расписанию".

Имхо, должна ещё быть некая зависимость от размера движения цены. Большие движения (от дневного размаха и выше) вряд ли определяются суточными ритмами.

 

Вот выжимка по кластерному анализу от gpt-omni

**K-Means Clustering-Based Trading Strategies**

**Principle:**

* K-Means clustering is an unsupervised machine learning algorithm that groups data points into a specified number (k) of clusters based on their similarity.
* In trading, it can be used to identify different market states or patterns.

**Strategies:**

**1. Cluster-Based Market Segmentation:**

* Cluster historical market data (e.g., prices, volumes, indicators) into k clusters.
* Each cluster represents a distinct market state, such as uptrends, downtrends, or consolidation.
* Trade according to the prevailing market state identified by the cluster.

**2. Cluster-Based Trend Identification:**

* Group price data into k clusters based on their underlying trend.
* Trade in the direction of the strongest trend identified by the largest cluster.
* This strategy aims to capture momentum and avoid trading against the trend.

**3. Cluster-Based Price Breakout Detection:**

* Cluster price data into k clusters based on their volatility.
* Identify clusters with high volatility, which may indicate potential price breakouts.
* Trade in the direction of the breakout once it occurs.

**4. Cluster-Based Support and Resistance Identification:**

* Cluster price data into k clusters based on their distribution.
* Identify clusters with high concentration, which may indicate support or resistance levels.
* Trade by buying at support and selling at resistance.

**5. Cluster-Based Pair Trading:**

* Cluster two or more instruments into k clusters based on their correlation.
* Trade long on the instrument in the cluster with the highest expected return and short on the instrument in the cluster with the lowest expected return.
* This strategy aims to exploit relative value opportunities.

**Implementation:**

* Determine the appropriate number of clusters (k) based on the data and desired specificity.
* Choose suitable data features for clustering, such as prices, volumes, or technical indicators.
* Train the K-Means model on historical data.
* Use the model to classify new data points into clusters.
* Define trading rules based on the identified clusters.

**Advantages:**

* Can identify hidden patterns and market states.
* Reduces subjectivity in trading decisions.
* Can improve risk management by clustering similar market conditions.

**Limitations:**

* Clustering results can be sensitive to the choice of parameters and data features.
* May not perform well in rapidly changing market conditions.
* Requires historical data for model training.
 
Aleksey Nikolayev #:

Тоже кажется очевидным существование некоей временной структуры, связанной с сессионностью рынка. Другое дело, что вряд ли она описывается простыми способами типа "разворотов по расписанию".

Имхо, должна ещё быть некая зависимость от размера движения цены. Большие движения (от дневного размаха и выше) вряд ли определяются суточными ритмами.

Ну да, ситуативно.

Имхо, разработка ТС больше похожа на шаманство, нежели на какую-то научную работу :)

 

Просто эффект можно ощутить эмпирически.

  • Беру любую пару, например AUDNZD
  • Делю сначала данные на 2 кластера, обучаю модель на каждом.
  • Потом делю на 10 кластеров, обучаю на каждом.
  • Потом делю на 20 кластеров, обучаю на каждом.
  1. В первом случае лучший результат - какая-то фигня на новых данных (после фиолетовой пунктирной линии)

2. во втором случае лучший результат - какая-то не фигня

3. в 3-м случае не совсем не фигня но и не совсем не не фигня


Хотя графики котировок (снизу оранжевые) визуально не сильно отличаются на 3 скринах, хотя торгуются котировки из разных кластеров. На 2 и 3 как бы чуть более флэтовый. А результаты сильно.

Дать объяснение что такого случается на каких-то кластерах и не случается на других - пока что лень не позволяет.

 
Aleksey Nikolayev #:

Тоже кажется очевидным существование некоей временной структуры, связанной с сессионностью рынка. Другое дело, что вряд ли она описывается простыми способами типа "разворотов по расписанию".

Имхо, должна ещё быть некая зависимость от размера движения цены. Большие движения (от дневного размаха и выше) вряд ли определяются суточными ритмами.

вы же её выше сами и нарисовали :-)

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

Как минимум, два последующих приращения (перед и после разворота) должны иметь разный знак.

с одной стороны да, но с другой - это событие (последняя соломинка, верхний верх, пиковый пик) в точности до минут это не совпадёт никогда. И разложится в ваш-же график. 

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

PS/ последнее время еврозону можно вообще торговать в 15.30 по MSK. Ровно полчетвёртого оглядеть ситуацию, выпить пару чашек кофе и довольно спокойно выбрать EUR GBP CHF или XAU, направление и войти. 

 
Maxim Dmitrievsky #:
Удаляю примеры, которые на условной границе разделения классов.

Границу по одному предиктору определяете или как бы ищите сразу на нескольких пространствах (предикторах)?

Maxim Dmitrievsky #:
Улучшение устойчивости получается, из-за более простых границ.

Как определяете улучшение устойчивости?