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

 
Dr.Trader:


Вы говорите про анализ PCA компонент, или что-то ещё? Я уже не помню все примеры что тут выкладывал :)

Если про PCA - то конфетка из мусора всё равно не получится. Нужно иметь же вполне хорошие предикторы вперемешку с плохими, тогда PCA сможет отсеять плохое от хорошего.

Вы недооцениваете положительные результаты своего опыта. Не бывает граалей. А есть комплексный инструмент по борьбе с таким злом как переобучение.

На самом первом шаге надо отсеять совершенно откровенный мусор - именно он оказывает решающее влияние на переобучение. И на этом первом шаге очень полезно РСА. После этого шага останутся предикторы, имеющие отношение к целевой переменной, а все фантазии исчезнут. Но не надо переоценивать значение этого шага - это первый шаг. После него необходимы следующие шаги:

  • rfe перед каждым обучением
  • переобучение модели на каждом новом баре ( в идеале) или по выходным.

И Ваши опыты с рса окажутся крайне полезными. 

 

ПС.

Замечу, что я умышленно умолчал по работе с самими моделями. 

 
СанСаныч Фоменко:

Вы недооцениваете положительные результаты своего опыта. Не бывает граалей. А есть комплексный инструмент по борьбе с таким злом как переобучение.

На самом первом шаге надо отсеять совершенно откровенный мусор - именно он оказывает решающее влияние на переобучение. И на этом первом шаге очень полезно РСА. После этого шага останутся предикторы, имеющие отношение к целевой переменной, а все фантазии исчезнут. Но не надо переоценивать значение этого шага - это первый шаг. После него необходимы следующие шаги:

  • rfe перед каждым обучением
  • переобучение модели на каждом новом баре ( в идеале) или по выходным.

И Ваши опыты с рса окажутся крайне полезными. 

 

ПС.

Замечу, что я умышленно умолчал по работе с самими моделями. 

Можно по подробней про РСА? Каким таким образом можно отсеять мусор?
 
СанСаныч Фоменко:

Вы недооцениваете положительные результаты своего опыта. Не бывает граалей. А есть комплексный инструмент по борьбе с таким злом как переобучение.

На самом первом шаге надо отсеять совершенно откровенный мусор - именно он оказывает решающее влияние на переобучение. И на этом первом шаге очень полезно РСА. После этого шага останутся предикторы, имеющие отношение к целевой переменной, а все фантазии исчезнут. Но не надо переоценивать значение этого шага - это первый шаг. После него необходимы следующие шаги:

  • rfe перед каждым обучением
  • переобучение модели на каждом новом баре ( в идеале) или по выходным.

И Ваши опыты с рса окажутся крайне полезными. 

 

ПС.

Замечу, что я умышленно умолчал по работе с самими моделями. 

Переобучение модели на каждом баре.... Значит ли это, что один единственный бар оказывает влияние на всю модель? В свете значимости каждого бара в обучении становится понятной Ваша бесконечная борьба с переобучением...
 
Andrey Dik:
Переобучение модели на каждом баре.... Значит ли это, что один единственный бар оказывает влияние на всю модель? В свете значимости каждого бара в обучении становится понятной Ваша бесконечная борьба с переобучением...

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

 

Mihail Marchukajtes:
Можно по подробней про РСА? Каким таким образом можно отсеять мусор?

Где-то сотню страниц назад в этой теме Сан Саныч выкладывал ссылку на статью, что то вроде "Principal component analysis". Я по ней какой-то код делал и тоже сюда в тему атачил. Нужно читать много страниц чтоб найти это.

Мне ещё вот эта статья понравилась, в ней правда нету ни R, ни MQL, только excel. Зато объяснен принцип действия немного понятней. http://www.chemometrics.ru/materials/textbooks/pca.htm 

 
Mihail Marchukajtes:
Можно по подробней про РСА? Каким таким образом можно отсеять мусор?

См. Как работает метод главных компонент

Но там же есть интересный комментарий от darkAlert, который поясняет почему в некоторых прикладных задачах этот метод работать не будет. Цитирую:

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

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

Как работает метод главных компонент (PCA) на простом примере
Как работает метод главных компонент (PCA) на простом примере
  • habrahabr.ru
В этой статье я бы хотел рассказать о том, как именно работает метод анализа главных компонент (PCA – principal component analysis) с точки зрения интуиции, стоящей за ее математическим аппаратом. Максимально просто, но подробно. Математика вообще очень красивая и изящная наука, но порой ее красота скрывается за кучей слоев абстракции...
 

^GSPC берётся с http://finance.yahoo.com, думаю это надёжно

а UNRATE, PAYEMS, GDP берётся с FRED (наверное https://fred.stlouisfed.org/) , вот тут тогда будет подвох, спс за предупреждение

А вообще я лучше на часовом eurusd потом попробую. 

 

*кто-то что-то потёр, это был ответ на то что всякие эти государственные индексы иногда пересчитывают и меняют их исторические значения.

 
Vizard_:
Можно, но не расскажу)))
Значимость вычисляется от веса вносимой в десперсию. Вот и все. Юзать или нет,
нужно ли уменьшение размерности, не получится ли выплеснуть с водой ребенка,
применять к абы как или предобработав... другой вопрос...

Не я пред обработку делаю гораздо проще при этом какие то данные удаляются что думаю не есть гуд..... Потому как нужно подавать каждый сигнал ТС без удаления. Есть одина идея, которая заключается в приведении выходной переменной к входным. Экий такой, некоторый элемент подгонки :-) НО

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

 

Прибыль синего 1 пипс. В условиях установки у меня сказано что единичкой пометить сигналы у которых больше 50 пипсов. Этот синий будет помечен 0, хотя сам рынок имеет тенденцию к повышению и этот синий сигнал мог быть помечен единичкой. Регулируя параметр прибыли мы тем самым включаем и выключаем дополнительные единички в наш выходной набор для получения максимальной обобщающей способности.....  Это можно делать в диапазоне минус спред плос 100 пипсов. Методом перебора это пипец как долго, даже с шагом 10 это должно как минимум десять раз запустить оптимизацию...... Вообщем вопрос остаётся открытым.  

 
Mihail Marchukajtes:
Можно по подробней про РСА? Каким таким образом можно отсеять мусор?

Мне не только лень искать для Вас ссылку в этой теме, но еще мне это не нужно.

Будьте так любезны, полистайте эту тему.  Просто так РСА не отсеивает мусор - есть нюанс. Так что есть смысл искать.

 
Dr.Trader:

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

 

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

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

В моей практике буквально 3-5% ошибки в минус на каждом шаге. И если изначально модель  давала ошибку больше 40%, причем переобучалась, то удалось подвинуть к 20% не переобученную модель. Где-то полгода работы. 

 

Ну хорошо, а в MQL здесь специалисты есть???? Раз уж все мы здесь собрались :-)

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

Вообщем оптимизация переменно на основании другой переменной.... 

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