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

 
mytarmailS #:
Было бы не плохо знать что в датафрейме на входе.. 

То есть я так понял что по клоузу текущему открывается? 
Клоузы и метки в датафрейме, выделил желтым. Больше ничего и не требуется для тестирования.
 
Aleksey Vyazmikin #:

Как волатильность мерили - пусть останется тайной, но напишите, как оценивали результат в кластерах для их классификации, а то не понятно.

Писал где-то выше вроде. Кластеризация на n кластеров и обучение торговать на каждом кластере, игнорируя остальные. Оценка через обычный тестер.

Бывает еще causal clustering, но я до него пока не добрался.
 
Maxim Dmitrievsky #:
Писал где-то выше вроде. Кластеризация на n кластеров и обучение торговать на каждом кластере, игнорируя остальные. Оценка через обычный тестер.

Бывает еще causal clustering, но я до него пока не добрался.

Понял, т.е. по модели на каждый кластер. А не хотите просто исключить кластера, где собралось много негативных примеров?

 
Forester #:

А если сразу на 27 кластеров разделить без деревьев? Результат изменится?

Вот что получилось

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


А это то же самое, но для дерева


 

пробовал кто то рандомные цены прогнозировать по зигзагу? У меня получаеться какой то очень оптимистичный результат

library(TTR)
library(zoo)
library(randomForest)
library(caret)

price <- rnorm(10000) |> cumsum()

X <- price |> rollapplyr(10, \(x) x-x[10])
Y <- price |> ZigZag(change = 0.1,percent = F) |> diff() |> sign() |> as.factor() |> tail(nrow(X)) 

tr <- 1:5000
ts <- 5001:nrow(X)

randomForest(Y[tr]~., X[tr,]) |> predict(X[ts,]) |> confusionMatrix(Y[ts])       

Confusion Matrix and Statistics

          Reference
Prediction   -1    1
        -1 2431   49
        1    43 2468
                                          
               Accuracy : 0.9816          
                 95% CI : (0.9774, 0.9851)
    No Information Rate : 0.5043          
    P-Value [Acc > NIR] : <2e-16          
                                          
                  Kappa : 0.9631          
                                          
 Mcnemar's Test P-Value : 0.6022          
                                          
            Sensitivity : 0.9826          
            Specificity : 0.9805          
         Pos Pred Value : 0.9802          
         Neg Pred Value : 0.9829          
             Prevalence : 0.4957          
         Detection Rate : 0.4871          
   Detection Prevalence : 0.4969          
      Balanced Accuracy : 0.9816          
                                          
       'Positive' Class : -1    
 
mytarmailS #:

пробовал кто то рандомные цены прогнозировать по зигзагу? У меня получаеться какой то очень оптимистичный результат


зигзаг же заглядывает в будущее

 
Maxim Dmitrievsky #:

зигзаг же заглядывает в будущее

В пршлом заглядывает как и любая целевая с прогнозом, но в тест выборке модель зигзага не видит она его прогнозирует
 
mytarmailS #:
В пршлом заглядывает как и любая целевая с прогнозом, но в тест выборке модель зигзага не видит она его прогнозирует

ну короче где-то подглядывание значит

 
Aleksey Vyazmikin #:

Вот что получилось

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


А это то же самое, но для дерева


Кластеризацию Алглибовскую использовали?
В целом неплохо выглядит, только 2 кластера по 20% картину портят.

 
Forester #:

Кластеризацию Алглибовскую использовали?
В целом неплохо выглядит, только 2 кластера по 20% картину портят.

Это было на питоне, перенёс алгоритм своего дерева и решил протестировать. Думаю, алгоритмы кластеризации одинаковы, но для MQL5 я пока не сделал подсчёт статистики.

Конечно, K-Means это отчасти про рандом, но, как инструмент выкинуть часть выборки перед обучением - кажется интересным подходом.

Ранее я ещё успел попробовать делать множество раз кластеризацию без дерева, и потом обучиться на этих кластерах - эффектом стало снижение разброса баланса на 100 моделях.

Та же выборка, что и здесь результаты по ней.