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

[Удален]  

Вот выжимка по кластерному анализу от 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 #:
Улучшение устойчивости получается, из-за более простых границ.

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

[Удален]  
Aleksey Vyazmikin #:

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

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

Могут быть варианты, можно по одному, можно по нескольким

Снижение кросс-энтропии/логлосс, улучшение на новых данных.

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

Вариативность позволяет случайно находить устойчивые на новых данных смещения закономерности...

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

[Удален]  
Aleksey Vyazmikin #:

Вариативность позволяет случайно находить устойчивые на новых данных смещения закономерности...

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

Нет, возрастает кол-во хороших кластеров в наборе. То есть не один хороший, а почти все. Значит внутри каждого есть что-то.

Вы жаждете моего ментального разрушения, наверное, со своими определениями ))
[Удален]  

Позвольте побыть сегодня немного Учителем.

Поскольку Учитель проделал большой путь, то он может нашептать, что такой подход через кластеризацию улучшает выработку дофамина, цвет лица и потенцию. Юзайте.

 
Maxim Kuznetsov #:

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

волатильность - ближайшее следствие сессионности.

Это очевидная и неторгуемая закономерность, а хотелось бы неочевидных и торгуемых)

Maxim Kuznetsov #:
с одной стороны да, но с другой - это событие (последняя соломинка, верхний верх, пиковый пик) в точности до минут это не совпадёт никогда.
Это проверяется сравнением графиков корреляции для нескольких разных таймфреймов. Они все представляют собой шум (просто не стал заваливать пост кучей графиков). Нет никакого "расписания разворотов" ни с точностью до минуты, ни с точностью до часа. Развороты есть, но их заранее известного расписания - нет)