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

 
Читаю вот ваш батл по оптимизации параметров, и вижу есть люди которые в этом шарят.
Объясните, как можно оптимизировать параметры для нулевого мат ожидания к дисперсии? 
Например можно использовать оптимизатор мт5, и оптимизировать торговый алгоритм по прибыли, тем самым подогнать параметры под дисперсию.
Но это обязывает прописывать совершение сделок, чтоб оптимизатор мт5 начал работать.
А как можно оптимизировать не по прибыли? А по критерию дисперсии.
Направьте в нужное русло.
 
Roman #:
Читаю вот ваш батл по оптимизации параметров, и вижу есть люди которые в этом шарят.
Объясните, как можно оптимизировать параметры для нулевого мат ожидания к дисперсии? 
Например можно использовать оптимизатор мт5, и оптимизировать торговый алгоритм по прибыли, тем самым подогнать параметры под дисперсию.
Но это обязывает прописывать совершение сделок, чтоб оптимизатор мт5 начал работать.
А как можно оптимизировать не по прибыли? А по критерию дисперсии.
Направьте в нужное русло.

Воспользуйтесь функцией OnTester(), создайте любой интересующий вас критерий оптимизации и запускайте в тестере оптимизацию по кастомному критерию. Ну, или неправильно понял в чём ваш вопрос.

 
Aleksey Nikolayev #:

Воспользуйтесь функцией OnTester(), создайте любой интересующий вас критерий оптимизации и запускайте в тестере оптимизацию по кастомному критерию. Ну, или неправильно понял в чём ваш вопрос.

Да, наверно правильно поняли.
Просто не пойму, в документации говорится
OnTester() вызывается в экспертах при наступлении события Tester для выполнения необходимых действий по окончании тестирования.
То есть за всё время тестирования, получаем только один вариант оптимизации? И только одно значение?
Как я понял из документации  OnTester() возвращает только одно значение типа double.
А если оптимизируемых параметров больше, например два. Тогда  OnTester() не подходит для решения этой задачи?

Документация по MQL5: Программы MQL5 / События клиентского терминала
Документация по MQL5: Программы MQL5 / События клиентского терминала
  • www.mql5.com
События клиентского терминала - Программы MQL5 - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Roman #:

А если оптимизируемых параметров больше, например два. Тогда  OnTester() не подходит для решения этой задачи?

Про фреймы почитайте.

 
Roman #:

Да, наверно правильно поняли.
Просто не пойму, в документации говорится
OnTester() вызывается в экспертах при наступлении события Tester для выполнения необходимых действий по окончании тестирования.
То есть за всё время тестирования, получаем только один вариант оптимизации? И только одно значение?
Как я понял из документации  OnTester() возвращает только одно значение типа double.
А если оптимизируемых параметров больше, например два. Тогда  OnTester() не подходит для решения этой задачи?

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

Пользовательский тестер стратегий на основе быстрых математических вычислений
Пользовательский тестер стратегий на основе быстрых математических вычислений
  • www.mql5.com
Статья описывает создание пользовательского тестера стратегий и своего собственного анализатора прогонов оптимизации. Прочитав ее, вы поймете, как работает режим математических вычислений и механизм так называемых фреймов, как можно подготовить и загрузить свои собственные данные для расчетов и использовать эффективные алгоритмы их сжатия. Также эта статья будет интересна всем, кто интересуется способами хранения пользовательской информации внутри эксперта.
 
Aleksey Vyazmikin #:

Про фреймы почитайте.

Aleksey Nikolayev #:

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

Как раз читаю эту статью.
Немного понял, в какую сторону надо копать. Спасибо.
[Удален]  
СанСаныч Фоменко #:

Кстати о птичках.

Нет на финансовых рынках любых формул со знаком равенства, т.е.

нет формул

у  = х

По которым, если х=2, то и у=2.

Это детерминированное мышление.

Есть формулы:

у ~ х

по которым, если х =2, то у = 2 в канале некоторого доверительно интервала. А для нестационарных рынков даже доверительного интервала нет, потому как дисперсия переменная, и даже не переменная, а чёрти что.

Это стохастическое мышление.

Такие ТС работать не будут. Работают только A=B-торговые условия-стохастическое мышление 

Стохастическое мышление вообще похоже на пьяные грезы о вечном, когда чем выше вероятность событий, тем реже такие возможности. Но и они никогда не гарантируют на 100%. В итоге самым лучшим вариантом получается не торговать.
[Удален]  
Evgeni Gavrilovi #:

Максим Владимирович, что вы думаете о квантовой кластеризации?

https://github.com/enniogit/Quantum_K-means

не увидел с ходу разницы и преимуществ

и не знаю как потом результаты использовать. Пробовал подмешивать кластеры к разметке меток, ничего не дало.

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

 

из справки непонятно, как рассчитывается комплексный критерий:

Также доступен "Максимум комплексного критерия". Это интегральный, комплексный показатель качества прохода тестирования. Он учитывает сразу несколько параметров:

  • Количество сделок
  • Просадка
  • Фактор восстановления
  • Мат. ожидание выигрыша
  • Коэффициент Шарпа

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

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

 
Andrey Dik #:

из справки непонятно, как рассчитывается комплексный критерий

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