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

 
mytarmailS:

 

на этом "чудесном" форуме я не могу ни картинку вставить ни файл прикрепить, может кто знает в чем проблема?

Сегодня прикреплял картинку. См. пост на предыдущей странице. Для этого во время создания сообщения нужно нажать комбинацию кнопок Ctrl+Alt+I
 
Yury Reshetov:

К сожалению, у меня не распаковывается RAR архив. ИМХО лучше паковать всё в ZIP. Т.к. распаковщики для ZIP форматов есть на всех платформах. К тому же, многие пользователи не используют RAR.



Посмотрю обязательно. Хотя я недостаточно хорошо знаю R.

Порт осуществлялся вручную или через какой нибудь автомат?

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

Порт делал вручную, брал с файлы с https://sourceforge.net/projects/libvmr/ и копипастил с исправлениями. Синтаксис по большей части похож, самая проблема это то что в R индексы массивов начинаются с 1 а не с 0. Класс Separator я специально упустил, в R уже есть встроенные функции (sample) для разделения файлов на тренировочную и тестовую выборки.

Файлы:
 

Спасибо Юрий!

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

Точно та же история  и с признаками, не должно быть никаких противоречивых признаков (Что я имею ввиду под противоречивостю я писал несколько страниц ранее) типа индикаторов и всяческих "сглажывателей" куда в принципе можно отнести и тот же "PCA" (метод главных компонент), все должно быть очень точно , четко и однозначно и информативно, а не мягко, сглажено и расплывчато

 

коротко про модель

целевая  - сам факт разворота зигзага (не направление)

 предикторы - свечи, уровни всего около 110 шт (никаких противоречивых данных)

данные 5ти минутка 

 тренировал две модели на RF, отдельно бай и отдельно сел, хотя можно было и одну

 работа на новых данных

 модель на новых данных

 хочу заметить что это одна из лучших картинок, на самом деле дела гораздо хуже, но это лучшее чего я достиг пока....

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


 п.с.

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

 
Yury Reshetov:

Посмотрю обязательно. Хотя я недостаточно хорошо знаю R.

Порт осуществлялся вручную или через какой нибудь автомат?

Бери rattle - очень полезно для новичка. Освоить можно за час - GUI. 

Сразу весь цикл моделирования: data mining, подгонка моделей (6 типов моделей, включая похожую на твою - SVM), оценка. Кроме этого лог на R дает возможность для новичка увидеть готовый код. Его можно  в будущем использовать. Берет файлы эксель. Т.е можно готовить на эксель, можно выгннать из мкл в эксель... В общем проблем с исходными данными нет вообще.


Также полезно для опытных пользователей: что-то прикинуть, попробовать.

На R надо писать, если удалось подобрать предикторы. Тогда и режимы используемых в  rattle моделей поменять и другие модели взять... да и вообще использовать как минимум caret. Но сначала предикторы, которые обладают предсказательной способностью для конкретной целевой переменной.

 

ПС.

Выше пост рекомендует использовать sample.

Я не рекомендую.

rattle сам делит файл весьма замысловато, но если иметь ввиду создание наборов для обучения, тестирования, валидации - это сделает сам rattle  и sample не нужен, а также для проверки вне этих наборов, что очень важно моделирую будущие торги, то исходный файл надо делить механически по индексу, первую часть суем в rattle, а вторую для сравнения результатов с rattle. Сделать это можно в том же rattele. Совпали все четыре ошибки, да еще с ошибкой менее 20% - грааль на годы вперед.  

 

ПСПС.

Пример использования rattle в моей статье, там же прицеплен файл, можно его прямо использовать, либо в качестве образца.  

 
mytarmailS:

целевая  - сам факт разворота зигзага (не направление)

 

 

Для получения значений учителя ведь все равно берем зигзаг. Плечо вверх - 1, плечо вниз - 0. 

 

В Вашей терминологии: это "сам факт разворота" или нет? Если нет, то что Вы имеете ввиду? 

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


rattle делит сам делит файл весьма замысловато, но если иметь ввиду создание наборов для обучения, тестирования, валидации - это сделает rattle,

На сколько я помню это замысловато как раз и называеться функцией  "sample"   ;)
 
СанСаныч Фоменко:

 

Для получения значений учителя ведь все равно берем зигзаг. Плечо вверх - 1, плечо вниз - 0. 

 

В Вашей терминологии: это "сам факт разворота" или нет? Если нет, то что Вы имеете ввиду? 

извиняюсь, наверное не понятно выразился...  имеется ввиду что за целевую берется только та свеча на которой был разворот, все остальное это другой класс, класс "не разворот"
 
mytarmailS:
извиняюсь, наверное не понятно выразился...  имеется ввиду что за целевую берется только та свеча на которой был разворот, все остальное это другой класс, класс "не разворот"
Очень интересно, пробовал, но почему-то отбросил... не помню
 
mytarmailS:
На сколько я помню это замысловато как раз и называеться функцией  "sample"   ;)
Точно, просто это делает сам rattle и об этом можно вообще не знать. Вот вторая часть имеет принципиальное значение для оценки переобученности и НЕ должна быть получена из sample.
 
СанСаныч Фоменко:
Очень интересно, пробовал, но почему-то отбросил... не помню

а вы предикторы какие туда подавали?

 

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

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