Есть ли закономерность в хаосе? Попробуем поискать! Машинное обучение на примере конкретной выборки. - страница 28

 
RomFil #:

Добавил столбец: "1" бай, "-1" селл. Вроде правильно сделал, но проверять не стал ... :) Лень.

По графику без спреда и комиссии вот такой результат в пунктах:

Результаты: PR=157488 +trades=778 -trades=18 (профит, количество положительных и отрицательных трейдов)

Cпред в 0.00050:


Результаты: PR=117688 +trades=629 -trades=167 

Cпред в 0.00100:

PR=77888 +trades=427 -trades=369

Спред в 200:


PR=-1712 +trades=241 -trades=555

Поздравляю у Вас прям таки супер осциллятор получился!

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

Если нет ошибки у Вас в коде, то можете считать себя миллионером!

Намекнёте в чём секрет? Я так понимаю, что это по сути полином у Вас каким то образом загнанный в приделы осциллятора.

 
Aleksey Vyazmikin #:

Поздравляю у Вас прям таки супер осциллятор получился!

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

Если нет ошибки у Вас в коде, то можете считать себя миллионером!

Намекнёте в чём секрет? Я так понимаю, что это по сути полином у Вас каким то образом загнанный в приделы осциллятора.

Секретов почти нет. Всё выше рассказал. Полиномов нет.

Напишу ряд намёков:

1) Целевая. Она должна сама определяться, т.е. надо так отфильтровать данные чтобы и на сильных движениях, и на флетовых потенциальный профит должен быть максимальным. Раньше использовал вейвлет Добеши для разложения ряда и даже скажу это самый правильный вариант (правда сейчас нашёл менее ресурсно затратный). Самое главное в фильтрации - не надо этим заниматься "на лету", а также исключать не менее 10-20% данных по краям выборки трейн. Убирать краевые данные нужно для исключения краевых эффектов.

2) Осциллятор. Правда может быть самым простым. Например всеми забытый RVI ... :) Только правильный период подобрать надо.

3) Но самое главное это "правильные" нейросети и алгоритм их применения ... :) В том числе правильная интерпретация результата нейросетей.


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

 
RomFil #:

Секретов почти нет. Всё выше рассказал. Полиномов нет.

Напишу ряд намёков:

1) Целевая. Она должна сама определяться, т.е. надо так отфильтровать данные чтобы и на сильных движениях, и на флетовых потенциальный профит должен быть максимальным. Раньше использовал вейвлет Добеши для разложения ряда и даже скажу это самый правильный вариант (правда сейчас нашёл менее ресурсно затратный). Самое главное в фильтрации - не надо этим заниматься "на лету", а также исключать не менее 10-20% данных по краям выборки трейн. Убирать краевые данные нужно для исключения краевых эффектов.

2) Осциллятор. Правда может быть самым простым. Например всеми забытый RVI ... :) Только правильный период подобрать надо.

3) Но самое главное это "правильные" нейросети и алгоритм их применения ... :) В том числе правильная интерпретация результата нейросетей.


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

Первый намек - речь то о моих данных, значит пока пропустим.

Второй намек - интересно - на выборке train перебирали?

Третий намек - а тут вот не понятно - зачем столько нейросетей? Что Вы подаете тогда на вход, ретурны или что?

 
Aleksey Vyazmikin #:

Первый намек - речь то о моих данных, значит пока пропустим.

Второй намек - интересно - на выборке train перебирали?

Третий намек - а тут вот не понятно - зачем столько нейросетей? Что Вы подаете тогда на вход, ретурны или что?

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

3) Да очень просто. Вы когда-нибудь занимались генетикой?

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

Также для разных участков графиков нужна разная глубина выборок, подаваемых на вход нейросетей. Т.е. на разных участках графика нейросети с разными глубинами выборок имеют разную точность. Так вот "правильный" комитет позволяет правильно реагировать на всей длине выборки. А особенно, чтобы этот комитет сам определял эту правильность. Возможно это уже зачатки ИИ ... :)  

 
RomFil #:

3) Да очень просто. Вы когда-нибудь занимались генетикой?

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

Также для разных участков графиков нужна разная глубина выборок, подаваемых на вход нейросетей. Т.е. на разных участках графика нейросети с разными глубинами выборок имеют разную точность. Так вот "правильный" комитет позволяет правильно реагировать на всей длине выборки. А особенно, чтобы этот комитет сам определял эту правильность. Возможно это уже зачатки ИИ ... :)  

Вы меня путаете - не могу понять, у Вас формула осциллятора со свободными коэффициентами, которые через генетику подбираются? Генетика реализована на нейросети (не знаю о таком варианте)?

Про использования коммитета - понятно, но как Вы его собирали, раздавали коэффициенты - на train или на другой выборке?

Я правильно понимаю, что на вход подаются чистые значения с каким то отступом или даже окна целиком, но разных размеров в разные сети?

 
Aleksey Vyazmikin #:

Вы меня путаете - не могу понять, у Вас формула осциллятора со свободными коэффициентами, которые через генетику подбираются? Генетика реализована на нейросети (не знаю о таком варианте)?

Про использования коммитета - понятно, но как Вы его собирали, раздавали коэффициенты - на train или на другой выборке?

Я правильно понимаю, что на вход подаются чистые значения с каким то отступом или даже окна целиком, но разных размеров в разные сети?

Генетика обычная, без нейросети (если честно генетика на нейросети мне также неизвестна).

Всё определяется только на выборке трейн. Комитет сам определяет все коэффициенты.

Да, почти чистые значения, разные глубины, разные окна и пр. 

 
RomFil #:

Генетика обычная, без нейросети (если честно генетика на нейросети мне также неизвестна).

Всё определяется только на выборке трейн. Комитет сам определяет все коэффициенты.

Да, почти чистые значения, разные глубины, разные окна и пр. 

Осциллятор ранее упоминался как собирательный образ, не применяемый в реальности?

 
Aleksey Vyazmikin #:

Осциллятор ранее упоминался как собирательный образ, не применяемый в реальности?

Нет, осциллятор это не собирательный образ, а реальность (размещён в подвале):


Собственно сам осциллятор + точки это прогноз. Точки появляются на первых тиках нового бара. Но появление точки ещё не есть сигнал к сделке - это только предупреждение. Далее анализируется дальнейшее движение цены и уже только потом принимается решение по сделке. Кстати на данном графике указан и стоп (красная метка), который в 98-99% случаев не пробивается - это защита от всяких резких колебаний. Вот и сигнал в бай собственно ... :)

 
RomFil #:

Нет, осциллятор это не собирательный образ, а реальность (размещён в подвале):


Собственно сам осциллятор + точки это прогноз. Точки появляются на первых тиках нового бара. Но появление точки ещё не есть сигнал к сделке - это только предупреждение. Далее анализируется дальнейшее движение цены и уже только потом принимается решение по сделке. Кстати на данном графике указан и стоп (красная метка), который в 98-99% случаев не пробивается - это защита от всяких резких колебаний. Вот и сигнал в бай собственно ... :)

Ну это уже чисто Ваша система, и она же не имеет отношения к данным, что я дал, ведь другие данные для анализа Вы не использовали?

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

Файлы:
 
Так генетика у Вас отвечает за данные. подающиеся на входы в сеть? А данные сами - смещение временного ряда?
Причина обращения: