Обсуждение статьи "Cоздание стратегии возврата к среднему на основе машинного обучения" - страница 7

 
Maxim Dmitrievsky #:

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

Нет, не ждет. Тест в терминале сделан со SL и TP, хотя утверждается, что обучение происходило без них. Почему бы не показать результат тот, который получился после обучения и в идентичных условиях (без SL и TP)? - ведь утверждается, что "(1)Настройки стопов не влияют на обобщающие способности моделей".

Можешь не отвечать - у тебя плохо получается отвечать по существу.

[Удален]  
Evgeni Gavrilovi #:

У вас есть какие-то мысли по улучшению ТС? Поделитесь)

В текущем виде никак, только перебирать признаки/разметчики/настройки.

Можно получать очень хорошие модели.
[Удален]  
Andrey Dik #:

Можешь не отвечать

слава тебе господи

 
Maxim Dmitrievsky #:

В текущем виде никак, только перебирать признаки/разметчики.

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

https://github.com/bukosabino/ta

df = add_all_ta_features(df, open="Open", high="High", low="Low", close="Close", volume="Volume_BTC"

[Удален]  
Evgeni Gavrilovi #:

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

https://github.com/bukosabino/ta

df = add_all_ta_features(df, open="Open", high="High", low="Low", close="Close", volume="Volume_BTC"

Спасибо, сохранил себе. Есть другие неожиданные модификации алгоритма, потом выкачу (много писать). Модификации такие, что, можно сказать, это будет уже другой алгоритм. 

[Удален]  

Если у вас никак не получается запустить вражеский питоновский код (пример Дик, для него это обычное состояние сознания), либо по религиозным соображениям не делаете этого (пишете исключительно на CИ, как завещали отцы):

  • Обучается модель и отбирается по любым sl/tp, допустим 500/500:

hyper_params = {
    'symbol': 'EURGBP_H1',
    'model_number': 0,
    'markup': 0.00010,
    'stop_loss':  0.00500,
    'take_profit': 0.00500,
    'periods': [i for i in range(5, 300, 30)],
    'periods_meta': [100],
    'backward': datetime(2000, 1, 1),
    'forward': datetime(2021, 1, 1),
    'full forward': datetime(2026, 1, 1),
    'n_clusters': 10,
    'rolling': 200,
}

  • Меняете там же в гиперпараметрах на, например 5000/5000 (никогда не срабатывают):

  • смело оптите или выбираете вручную понравившиеся, например 2000/200, как в статье

  • Формы кривых совпадают с точностью до поправок на стопы. Стопы можно оптимизировать уже в терминале, не боясь переоптимизации.

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

Достаточно было взять уже скомпилированного бота из статьи и проверить это, кстати. Ожидал более серьезных вопросов от "старожил" форума, наверное завышенные ожидания.
 
Maxim Dmitrievsky #:
Ожидал более серьезных вопросов

В прошлом проверяли мульти классификацию? Есть ли какое-то преимущество? 

https://catboost.ai/docs/en/concepts/loss-functions-multilabel-classification

[Удален]  
Evgeni Gavrilovi #:

В прошлом проверяли мульти классификацию? Есть ли какое-то преимущество? 

https://catboost.ai/docs/en/concepts/loss-functions-multilabel-classification

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

ЗЫ проблем с экспортом вроде бы нет сейчас.
 

Имхо конечно, но использование Савицкого_Голея не сильно отличается от использования мува. Фильтр СГ - это средняя точка полиномиальной регресии в заданном скользящем окне, с указанной степенью полинома. Для степени 1 - полное совпадение с мувом соответствующего периода. 

Для идентификации возврата к среднему, более разумно, на мой взгляд, использовать амплитудную фильтрацию - ренко, ренджи, зигзаги. Лучше всего, я думаю,подходят рэнджи - у них разница между Hg и Lw - константа. Ну или ЗЗ постоянного размера, что в общем-то тоже самое.