Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 942
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Спасибо. Он потом обязательно прочитает. Сейчас спит, обчитавшись какого-то Шелепина. Не велел беспокоить.
Ок.
Пусть найдет теорему Такенса
Свёл я все в одну таблицу по такому принципу
Ещё сделал группировку по предиктору arr_TimeH - может в таком виде на что либо сгодится.
Прикладываю файлы.
В мной используемой программе получается такая картина - попаданий всего 30.81%
Однако, если сложить ошибки к примеру -2 и -1 между собой, и сложить верно найденные решение, а потом противопоставить не верно найденным, и игнорировать целевую под номером 3, так как это фильтр и на финансовый результат он уже не повлияет, то получаем такую картину:
в этом случае ошибка составит уже 49,19% на вход в позицию, что уже не так уж и плохо!
Проводили эксперименты с kfold алглибовской? улучшает результаты? Видел в одном из ваших сообщений старых, что вроде бы не перемешивает выборку. А вообще должен?
есть какие-то выводы относительно того, что меньше переобучается - лес или млп? на тех же самых данных. Есть подозрения, что для задач регрессии лес работает криво и возвращает ошибки криво (очень маленькие), для классификации норм.
2. Видел интересовались OpCl, не было ли мысли переписать НС на него? Например, я вообще отказался от ГА как от какой-то кошмарной ерунды, всё теперь обучается в 1 потоке на 1 ядре. Можно было бы ускорить на Cl (хотя и так быстро). Или, если обучать на Spark'е то там и так распараллеливается и смысла нет
3. Более-менее понял что вы выложили на гит и как применяете. Большая интересная работа, респект! :)
Когда я стал изучать сети, в результате появился https://github.com/Roffild/RoffildLibrary/blob/master/Experts/Roffild/Alglib_MultilayerPerceptron.mq5. Я перебирал разные наборы предикторов в разных последовательностях (с перемешиванием и без) - за это отвечает параметр File_Num. И, конечно, пробовал ставить одинаковое количество записей для двух классов.
Проблема этой сети в отсутствии чёткого критерия отбора правдивой выборки. Например, при распознавании картинок с фруктами ты сам можешь чётко определить, где яблоко, а где апельсин. С ценовыми графиками нет 100% критерия отбора, а значит и 100% критерия переобучения тоже нет.
https://github.com/Roffild/RoffildLibrary/blob/master/Experts/Roffild/Alglib_RandomForest.mq5
Случайный лес менее зависим от шума и чаще возвращает один результат при разных условиях выборки. Например, на графике
голубые и жёлтые данные практически совпадают. Хотя я ожидал большего различия, потому что часть выборки была удалена для второго леса.
И по-моему некоторые пытаются получить цену открытия ордера с помощью сети или леса, но при этом забывают, что фиксация прибыли происходит в момент закрытия ордера. Для решения этой задачи появился https://github.com/Roffild/RoffildLibrary/blob/master/Include/Roffild/OrderData.mqh, но используется этот класс именно как "родитель".
OpenCL нужен только для обучения сети. Для конечных расчётов, когда сеть или лес уже обучены, OpenCL бесполезен, потому что время, необходимое для переброски данных на видеокарту, очень велико. Да и алгоритмы получения данных от сети или леса, на самом деле, очень просты и CPU с этим отлично справляется.
Spark вообще распараллеливает вычисления не только между ядрами одного компа, но и может использовать целую сеть компов. Является стандартом для межсерверных вычислений. Например, я обычно покупаю на Амазоне 32 ядра за 0.25 бакса/час для быстрого получения готового случайного леса.
Проблема этой сети в отсутствии чёткого критерия отбора правдивой выборки. Например, при распознавании картинок с фруктами ты сам можешь чётко определить, где яблоко, а где апельсин. С ценовыми графиками нет 100% критерия отбора, а значит и 100% критерия переобучения тоже нет.
https://github.com/Roffild/RoffildLibrary/blob/master/Experts/Roffild/Alglib_RandomForest.mq5
Случайный лес менее зависим от шума и чаще возвращает один результат при разных условиях выборки. Например, на графике
это потому что в НС надо архитектуру подбирать, а леса всегда одинкаово работают, да :)
а что бы подобрать архитектуру это надо отобразить многомерное пространство признаков и вкурить какой слой за что должен отвечать, или просто методом тыка. Но правильно подобранная НС, в теории, должна дать лучше результат и с т.з. оверфита тоже
еще не все библиотеки посмотрел, спасибо, еще поизучаю
Еще одна полезная книга на русском.
Еще одна полезная книга на русском.
Как вам Keras показался? Получше Darch или возможности те же? Может побыстрее учится при одинаковых данных, числе эпох и т.д.?
Никакого сравнения. Kerаs - безграничные возможности по структуре, обучению и настройки под себя, море примеров и подробнейшая документация. Отдельно про TensorFlow - очень быстро развивается (уже 1.8). Понятно, что это имеет и свои плюсы и минусы. Обучается не так быстро, нужно делать дополнительную гимнастику. Сложно оптимизировать гиперпараметры. Иначе это основное направление в дальнейшем.
Удачи
С R я так и не подружился, поэтому с интересом посмотрю, что у тебя выйдет!
Сделал декомпозицию недельного ТФ, 1400 баров (почти вся доступня история в терминале)
Здесь не отображаются даты, поэтому не совсем удобно. Придется переписать через Plot или индикатор. что бы на графике разметить, пока чисто визуально
более выраженные цкличности есть на мелких модах. А самая большая получилась +- 14 лет (2 полупериода от 28 лет), которая разбивается на 4-ре 7-ми летки (как и говорил). Причем, последний 7-летний цикл закончился в начале этого года (примерно), что говорит о том, что обучать сетку на более ранних датах не имеет большого смысла
Посередине не такие выраженные цикличности
А что бы не парить мозг надо просто в НС загонять все моды, к тому же они не коррелируют
тогда она будет распознавать периодичности разные, а может быть и не будет, вопрос философский, как сделаешь так и будет :)