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

 
fxsaber #:

Сделал оптимизацию с одинаковыми настройками на реальном и на сгенерированном символе.


Real.


Random.


Не обучается на Random.

А рандом соответствует характеристикам цены?  Среднее,  стандартное отклонение,  ковариации? 
 

Maxim Dmitrievsky #:
Сколько раз был сгенерирован рандом символ?)

Один.

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

Не понимаю этого утверждения. Что имеется в виду из следующих двух вариантов?

  1. Нужно провести много итераций рандомизации, чтобы получить работоспособность.
  2. Если создать много рандом-символов, то вероятность увеличится, что среди них будет работоспособный.

Вроде бы простые вещи, ведь даже на разных реал символах одна и та же ТС не работает.

Алгоритм рандомизации такой:

  1. Берется реальная тиковая история.
  2. Из нее делается последовательность приращений средней ((bid+ask)/2) цены.
  3. В этой последовательности каждый член рандомно умножается либо на +1, либо на -1.
  4. Из полученной последовательности приращений собирается новая тиковая история, где время и спред совпадают с п.1.
  5. Новая тиковая история пишется в кастом символ.
Т.е. рандомизируется четко какой-то реальный символ. Можно любое количество раз применить п.3. Если после п.5. будет повторены все пять пунктов, то это тоже самое, как два раза повторить п.3.
 

Точно так же получаю как рабочие на ООС модели, так и нет, через один алгоритм. Символ один и тот же, никакого нового рандома не добавлено. Просто случайно находятся либо долгоиграющие паттерны, либо локальные. Потому что обучение на случайной подвыборке (40% внутри выделенного линиями диапазона), и еще стоят другие рандомизаторы, которые ищут закономерности через рандомизацию, которая рандомизацией погоняется.


 
fxsaber #:

Один.

Не понимаю этого утверждения. Что имеется в виду из следующих двух вариантов?

  1. Нужно провести много итераций рандомизации, чтобы получить работоспособность.
  2. Если создать много рандом-символов, то вероятность увеличится, что среди них будет работоспособный.

Алгоритм рандомизации такой:

  1. Берется реальная тиковая история.
  2. Из нее делается последовательность приращений средней ((bid+ask)/2) цены.
  3. В этой последовательности каждый член рандомно умножается либо на +1, либо на -1.
  4. Из полученной последовательности приращений собирается новая тиковая история, где время и спред совпадают с п.1.
  5. Новая тиковая история пишется в кастом символ.
Т.е. рандомизируется четко какой-то реальный символ. Можно любое количество раз применить п.3. Если после п.5. будет повторены все пять пунктов, то это тоже самое, как два раза повторить п.3.

Да, выделенное 

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

Точно такие же резкие провалы на ООС.
 
Я просто смысла не понимаю этих шевелений с СБ, что это доказывает? ) Можно получить какую угодно кривую на ООС, если достаточное количество раз перемешать.
 
mytarmailS #:
Блин, я не знаю как по простому обяснить.. 

Вы вибирайте лучше варианты "руками" на ООС после оптимизации на тесте и это НЕ подгонка.. 

А если алгоритм выберет лучшие варианты на ООС после оптимизации то это уже подгонка..  Почему? 

Выбор лучшых вариантов/варианта из полного набора вариантов это и есть оптимизация.. И какая разница руками вы это делаете или алгоритмом. 

Возможно вы работали только с тестером в МТ и мыслите несколько шаблонно про саму оптимизацию и способы её применения,  потому у нас есть некое недопонимание

Ваше утверждение.

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

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

mytarmailS, 2023.08.16 13:23

представьте что у вас есть всего 1000 вариантов ТС, вообще


вашы шаги 1 и 2

1) Вы начинаете оптимизировать/искать   хорошую ТС , это трейн данные (подгонка/поиск/оптимизация)

допустим вы нашли 300 вариантов где ТС зарабатывает..

2) Теперь вы ищете ТС из этих 300 вариантов  которая пройдет  OOS это тест данные. Вы нашли скажем 10 ТС которые зарабатывают и на трейне и на тесте ( OOS )


Так что такое п.2 ?

Это  - то же самое продолжение подгонки , только ваш поиск  (подгонка/поиск/оптимизация)  стал немного глубже или сложней, потому что теперь у вас не одно условие оптимизации (пройти трейн), а два (проти тест + пройти трейн)

Давайте представим, что всего вариантов в миллион раз больше: 1 миллиард ТС, найдено 300 миллионов вариантов ТС, где на обучаемой выборке она зарабатывает - это п.1.

В п.1. оптимизация делается по какой-то fitness-функции. Чем выше значение, тем предполагается, что выше работоспособность. Поэтому оптимизация занимается поиском глобального максимума. Все это п.1.


  • Когда оптимизация закончилась, можно поискать среди 300 миллионов положительных результатов те пять, которые пройдут ООС. Этого не делаю.
  • А можно взять пять ближайших результатов от глобального максимума и только их посмотреть на ООС.
Так вот если сделать первое - это оптимизация вида

Т.е. это подгонка в чистом виде.


Если же сделать второе, то это не подгонка.

 
Maxim Dmitrievsky #:

Точно так же получаю как рабочие на ООС модели, так и нет, через один алгоритм. Символ один и тот же, никакого нового рандома не добавлено.

У меня было обучение не на одном и том же символе. Очевидно, что в облаке рандомизации существуют ряды с любой характеристикой.

 

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

 
fxsaber #:

Ваше утверждение.

Давайте представим, что всего вариантов в миллион раз больше: 1 миллиард ТС, найдено 300 миллионов вариантов ТС, где на обучаемой выборке она зарабатывает - это п.1.

В п.1. оптимизация делается по какой-то fitness-функции. Чем выше значение, тем предполагается, что выше работоспособность. Поэтому оптимизация занимается поиском глобального максимума. Все это п.1.


  • Когда оптимизация закончилась, можно поискать среди 300 миллионов положительных результатов те пять, которые пройдут ООС. Этого не делаю.
  • А можно взять пять ближайших результатов от глобального максимума и только их посмотреть на ООС.
Так вот если сделать первое - это оптимизация вида

Т.е. это подгонка в чистом виде.


Если же сделать второе, то это не подгонка.

Понял. Извиняюсь..

 
fxsaber #:

У меня было обучение не на одном и том же символе. Очевидно, что в облаке рандомизации существуют ряды с любой характеристикой.

Ну, проблемы никакой не вижу. Все эти ТС случайные, потому что торгуют на нестационарном рынке. Но некоторые варианты могут принести профит в какой-то перспективе.

Причина обращения: