Случайность или закономерность? Как выявить? - страница 4

 

Г-н Решетов.

Тема бесспорно интересна. Интересует вопрос - удалось ли УСПЕШНО применять данный алгоритм в каком либо приготовлении для трейдинга?

Спасибо. 

 
david2:

Если например средний нрепрерывный выигрыш=7, то можно до 4-й сделки увеличивать лот, а дальше уменьшать. После проигрыша выставлять минимальный

лот. Какие у вас варианты?



Как показала практика, часто убыточные сделки идут не по одной а понесколько штук, пока рынок не вернется в свое привычное состояние.  Как вариант построить МА по прибыльности в пунктах. Если МА стремится вниз - лот уменьшать, если вверх то лот увеличивать. В MacdSample есть интересный подход. После убыточной сделки лот уменьшается в разы! 
 
dimeon:

Как показала практика, часто убыточные сделки идут не по одной а понесколько штук, пока рынок не вернется в свое привычное состояние.  Как вариант построить МА по прибыльности в пунктах. Если МА стремится вниз - лот уменьшать, если вверх то лот увеличивать. В MacdSample есть интересный подход. После убыточной сделки лот уменьшается в разы! 

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

 
IronBird:

Г-н Решетов.

Тема бесспорно интересна. Интересует вопрос - удалось ли УСПЕШНО применять данный алгоритм в каком либо приготовлении для трейдинга?

Спасибо. 

Всё не настолько тривиально, как показалось вначале.

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

Короче говоря, самообучающийся алгоритм и его владелец имеют разные цели:

  1. Алгоритм стремится уменьшить ошибку на обучающей выборке.
  2. Владелец алгоритма стремится уменьшить ошибку вне обучающей выборки.

Поскольку цели не совпадают, то может получиться фигня, если алгоритм вовремя не остановить.

 
Reshetov:

Короче говоря, самообучающийся алгоритм и его владелец имеют разные цели:

  1. Алгоритм стремится уменьшить ошибку на обучающей выборке.
  2. Владелец алгоритма стремится уменьшить ошибку вне обучающей выборки.

Поскольку цели не совпадают, то может получиться фигня, если алгоритм вовремя не остановить.


  Я так понимаю, Юрий, что все-таки это внезапный тупик... ?

 от нейросетей толку, как от козла молока... они вполне профитны ( я сам убедился в свое время) на каких-то периодах, знать бы где эти периоды...:-))) 

 
zoritch:


  Я так понимаю, Юрий, что все-таки это внезапный тупик... ?

 от нейросетей толку, как от козла молока... они вполне профитны ( я сам убедился в свое время) на каких-то периодах, знать бы где эти периоды...:-))) 


Проблема в том, что отличить шум от закономерностей практически невозможно.


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

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

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

Т.е. как ни крути и не верти, а отличить шум от закономерностей невозможно.

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

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

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


Но, тем не менее, не совсем тупик.

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

Суть в том, чтобы поймать момент между обобщением и переобучением и вовремя остановить алгоритм.

 

C теорией уже разобрался. Оказывается есть так называемые неустойчивые решения по Ляпунову.

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

Теоретически проблема была решена в 1943 г. в докладе (тогда ещё не академика) Тихонова А. Н.  «Об устойчивости обратных задач». Докл. АН СССР. 1943. Т. 39. № 5. C. 195—198.

Проще говоря, необходимо прогнать так называемую регуляризацию обучающей выборки, т.е. добавить в неё некоторый корректирующий шум, так чтобы минимизировать функционал Тихонова. В результате чего получим другую обучающую выборку и обучив на ней НС, поимеем более устойчивую к шумам сетку.

Всё это конечно же теория, хотя и подтвержденная строгими математическими доказательствами. Но для её практического применения пока не удалось найти в инете уже готового кода с алгоритмом регуляризации Тихонова. Как только не мучил гугл, а все ссылки ведут пока только на различные обсасывания теорий.

 
Reshetov:

Проще говоря, необходимо прогнать так называемую регуляризацию обучающей выборки, т.е. добавить в неё некоторый корректирующий шум, так чтобы минимизировать функционал Тихонова. В результате чего получим другую обучающую выборку и обучив на ней НС, поимеем более устойчивую к шумам сетку.

Да ладно? Пруф по выделенному.
 
TheXpert:
Да ладно? Пруф по выделенному.

В гугле набрать "оптимальная матричная коррекция" и будет много пруфа по выделенному.

 

               А в чем сложность?

Есть выборка обучения - штрих.

Есть ее вариации, штрих1, штрих 2.


Обучение считается не переобученным если, результат на всех трех похож.