Курс RTrader: нейронные сети и анализ настроений трейдеров📌

От Silentspec, 27 августа, 2018 в Уголок Программиста

Страница 2 из 4
#26

Работать с закрытой системой в конечном итоге сведётся к поиску предикторов, т.е. эксперименты с разными видами МО исключен.

 

#27
52 минуты назад, Rigal сказал:

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

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

@karuzzo когда то достиг неплохих результатов, работает не плохо, но опять же только в тестере, но реализация на С#, он более дружелюбный к ИИ.

 

Одна из тема автора : /laboratoriya-profitfx/24/windows-app-price-prediction/19323/

#28

Общая схема разработки выглядит примерно так; 

425495374_.thumb.jpg.e25e5009827eaf16c66b24640a833d50.jpg

Идея с "наложением" на 1 сеть еще одной оказалась вполне рабочей. 

 

Пример : делал сеть, которая определяет развороты по Зигзагу.

Ну т.е. "скормил" её Зигзаг.

Но сеть выдавала очень много "шума" .

В том смысле, что она рисовала развороты очень часто. 

Потом сделал еще одну сеть, которой отдал данные от первой. 

И в вроде как стало приемлемо .

 

P.S. На сегодня пока всё, завтра проект начну выкладывать.

 

Изменено 8 сентября, 2020 пользователем asbets

#29
1 час назад, ademen сказал:

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

@karuzzo когда то достиг неплохих результатов, работает не плохо, но опять же только в тестере, но реализация на С#, он более дружелюбный к ИИ.

 

Одна из тема автора : /laboratoriya-profitfx/24/windows-app-price-prediction/19323/

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

несколько видосиков и сборная солянка статистики, в компании с ручным тестированием.

 

@asbets, давайте для начала попробуем использовать сетку для фильтрации сигналов уже существующий стратегий, например?

У меня есть пара десятков написанных советников, некоторые очень бы выиграли от подобного фильтра.

Я как раз собирался выложить один из них на форум на днях, пробойник Conundrum

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

И потом накидаю свои мысли.

#30
1 час назад, Rigal сказал:

 

@asbets, давайте для начала попробуем использовать сетку для фильтрации сигналов уже существующий стратегий, например?

 

Да, легко.

Один только нюанс. Сетке для обучения надо хотя бы 2000 сигналов. :-)

При наличии 100-200 просто не на чем учить.

Не всякая стратегия потянет :-)

Хотя сигналы можно собрать с разных валютных пар.  

Изменено 8 сентября, 2020 пользователем asbets

#31
4 часа назад, asbets сказал:

Да, легко.

Один только нюанс. Сетке для обучения надо хотя бы 2000 сигналов. :-)

При наличии 100-200 просто не на чем учить.

Не всякая стратегия потянет :-)

Хотя сигналы можно собрать с разных валютных пар.  

О, вы меня плохо знаете

image.thumb.png.74094f1b5ece03551135b80b26d0e5e9.png

Это пока 5 месяцев.

Фильтровать, конечно, будем не этого мартина, а что-нибудь более осмысленное... но количество сигналов - не проблема имхо.

Я читаю.

#32

 

2 часа назад, Rigal сказал:

Фильтровать, конечно, будем не этого мартина, а что-нибудь более осмысленное... но количество сигналов - не проблема имхо.

Да, спасибо на этом :-) . С случайными сетками не имеет смысла искать черную кошку в тёмной комнате, которой там нет.

 

#33
3 часа назад, Rigal сказал:

будем не этого мартина,

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

#34

Дополнение по NeuroSolutions :

Некоторые выявленные глюки

 

- В начальной статье по знакомству с программой автор использует "экcперта" по построению сети. 

Это для знакомства только. Эксперт часто не может создает сеть, зависает. Я использую только "Билдер". 

 

- 6 версия на одном из компов внезапно перестала работать.Что-то 

там с регистрацией. Запустить в работу не удалось. WIN10 только не переставлял. Видимо, можно решить 

перестановкой винды, но я не делал. 

 

- Может не подключится новая сеть DLL в MT4. Вдруг ни с того ни с сего. 

Помню, бился несколько дней, не хочет и всё тут. Пока сеть не изменил.

Проблема была именно в самой DLL. 

 

- 5 версия слегка отличается форматом файла входных данных . В целом

математика сети там такая же. 5 версия не может создать достаточно 

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

вычислительных мощностей. 

Их тут с работой НС катастрофически не хватает. 

 

Изменено 9 сентября, 2020 пользователем asbets

#35

Проект на нейросети. «Следующий день».

 

Идея :  Прогнозируем High Low следующего дня.

Берутся свечи H4 прошедших 3 дня = 18 свечей.

 С них данные только High и Low, т.к. по сути нас не интересует

Переход Close=Open где-то там внутри 4H .

Мы смотрим общее колебания рынка в разрезе последних 18 свечей.

Сеть прогнозирует High Low следующего дня.

Всё просто, но пара нюансов.

 

Вопрос : почему бы не взять тупо 10 дней и неспрогнозировать 11-й ?

Я так делал. Дело в погрешности.

Любая НС имеет погрешности. В среднем у меня получается где-то 11-13%.

На 10 днях, условно, имеем диапазон хождения цены 600 п. = 65 пунктов погрешности вы среднем сеть выдаст.

Согласитесь 65 пунктов погрешности при 600  - это совсем неплохо! 

Волатильность на 10 днях  в любом случае  больше, чем на 3 днях.

Но брать 3 дня тоже нельзя, так как тут уже и данных то нет.Что такое 3 дня?

Поэтому пришла мысль взять разрез 3-й дня в 4H.

 

В НС есть ограничение – данные должны быть в нормализованном формате. т.е. от 0 до 1.

Это нормально для диапазона – 0 = LOW всего диапазона 18 свечей 4H, 1 = Hihg.

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

Поэтому тут возникло ограничение и идея такая .

1 в желаемом результате записывается,  когда хай результ. дня выше всего диапазона.

0 соответсвенно при Лоу.

Получилось, что до конца, какой лоу или хай будет в проекте не узнаем. Будем знать только,  что

Если сеть ответила 1 или близко – это вероятность пробоя диапазона, а не цена Хая дня.

 

- Какого типа сеть выбрать ?  В данном случае мы имеем случай апроксимации.

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

Самоорганизующая сеть (SOFM) дает практически похожий результат по погрешности,

Обучается намного быстрее, Рекурентная в этом плане самая медленная. Но вот что есть , то есть.

- Какого размера сеть?  Тут выбор тоже идет эмпирическим методом .

С одной стороны сеть должна быть достаточно большой с достаточными слоями, чтобы

суметь выйти на минимальные погрешности на форвард тестах. У малой сети тупо «не хватит нейронов». С другой стороны слишком большая тоже не нужна.

Получилась сеть  Recurrent , 5 скрытых слоёв по количеству элементов :   72 / 54 / 36 / 36 / 18.

На выходе желаемых результатов у неё 2 поля – High и Low желаемого дня.

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

...

Изменено 9 сентября, 2020 пользователем asbets

#36
2 часа назад, asbets сказал:

Проект на нейросети. «Следующий день».

 

Идея :  Прогнозируем High Low следующего дня.

Берутся свечи H4 прошедших 3 дня = 18 свечей.

 С них данные только High и Low, т.к. по сути нас не интересует

Переход Close=Open где-то там внутри 4H .

Мы смотрим общее колебания рынка в разрезе последних 18 свечей.

Сеть прогнозирует High Low следующего дня.

Всё просто, но пара нюансов.

 

Вопрос : почему бы не взять тупо 10 дней и неспрогнозировать 11-й ?

Я так делал. Дело в погрешности.

Любая НС имеет погрешности. В среднем у меня получается где-то 11-13%.

На 10 днях, условно, имеем 600 п. = 65 пунктов погрешности вы среднем сеть выдаст.

Согласитесь 65 пунктов погрешности при 600  - это совсем неплохо! 

Волатильность на 10 днях  в любом случае  больше, чем на 3 днях.

Но брать 3 дня тоже нельзя, так как тут уже и данных то нет.Что такое 3 дня?

Поэтому пришла мысль взять разрез 3-й дня в 4H.

 

В НС есть ограничение – данные должны быть в нормализованном формате. т.е. от 0 до 1.

Это нормально для диапазона – 0 = LOW всего диапазона 18 свечей 4H, 1 = Hihg.

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

Поэтому тут возникло ограничение и идея такая .

1 в желаемом результате записывается,  когда хай результ. дня выше всего диапазона.

0 соответсвенно при Лоу.

Получилось, что до конца, какой лоу или хай будет в проекте не узнаем. Будем знать только,  что

Если сеть ответила 1 или близко – это вероятность пробоя диапазона, а не цена Хая дня.

 

- Какого типа сеть выбрать ?  В данном случае мы имеем случай апроксимации.

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

Самоорганизующая сеть (SOFM) дает практически похожий результат по погрешности,

Обучается намного быстрее, Рекурентная в этом плане самая медленная. Но вот что есть , то есть.

- Какого размера сеть?  Тут выбор тоже идет эмпирическим методом .

С одной стороны сеть должна быть достаточно большой с достаточными слоями, чтобы

суметь выйти на минимальные погрешности на форвард тестах. У малой сети тупо «не хватит нейронов». С другой стороны слишком большая тоже не нужна.

Получилась сеть  Recurrent , 5 скрытых слоёв по количеству элементов :   72 / 54 / 36 / 36 / 18.

На выходе желаемых результатов у неё 2 поля – High и Low желаемого дня.

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

...

Я вычитал и знакомлюсь с NeuroSolutions. 

И одновременно кручу в голове варианты использования.

На вход обязательно подавать классифицированное время: если мы работаем с дневками, то это день недели, возможно, месяц и день этого месяца (хотя выборка сузится) - это важный элемент в поиске закономерностей. Если мы работаем на H4 и ниже, то, скажем, GMT час. И день недели имхо все еще релевантен - разные закономерности в разные дни.

Я немножко освоюсь и буду вчитываться в детали выше.

 

#37

Я конечно не прогер, но за все годы ни одной прибыльной совы на нейронке не встречал. 

#38
17 минут назад, pavlus777 сказал:

Я конечно не прогер, но за все годы ни одной прибыльной совы на нейронке не встречал. 

Соглашусь с вами. И в подтверждение приведу пример советника "дуй в винчик", адепты которого свято верят, что это нейросеть и ИИ.

 

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

#39
3 часа назад, pavlus777 сказал:

Я конечно не прогер, но за все годы ни одной прибыльной совы на нейронке не встречал. 

"Следующий день". который сейчас начал выкладывать - это не автомат. 

Эта штука показывает границы будущего дня, как он его "видит".

А уж что трейдер решит - это ему решать. 

#40
В 09.09.2020 в 09:51, Rigal сказал:

На вход обязательно подавать классифицированное время: если мы работаем с дневками, то это день недели, возможно, месяц и день этого месяца (хотя выборка сузится) - это важный элемент в поиске закономерностей. Если мы работаем на H4 и ниже, то, скажем, GMT час. И день недели имхо все еще релевантен - разные закономерности в разные дни.

Я немножко освоюсь и буду вчитываться в детали выше.

 

1. Да. Точно. Спасибо за идею. Надо брать в работу даже не тестируя на пригодность (влияет - не влияет). Подтверждено статистикой "алгоритмов" EZ Анализере.

2. А здесь тогда надо проводить какой нибудь тест на какой нибудь сове - влияет / не влияет. Но тоже надо записывать в варианты.

 

NextDay.zip16 скач.Файлы проекта «Следующий День» и инструкция : 

1.    NextDay.zip : Сама сеть. Открывается в Нейросолюшн. На текущий момент . Обучена на 
 EURUSD c 6.01.2014 - 28.06.2019  и такой же диапазон для EURGBP. 

Так же там файлы : dll в папке «dll» для интеграции в MQL. Проверено – подключается. Там же файл NextDay5.nsw  - это и есть данные обучение сети. Он работает в паре с dll , также складывается в папку эксперта вместе с длл

2.    NextDay.mq4  . Сам советник, который рисует на экран прямоугольники, которые означают прогноз  дня. Подробно ниже. 

3.    Скрипт ND_Export-NS5_2V.mq4   .  Экспортирует данные для обучения и теста сети.

4.    Скрипт RandomStrings.mq4    . Нужен для перемешивание строк в файле с данными обучения сети , чтобы перемешать данные.

5.    Форвард_Рез.xlsx – файлик форвард теста на данных от 07.07.2019 до 09.09.2020. EUR.  Тест показал 12,04% погрешности.

Другими словами, советник прогнозирует Хай Лоу с точностью где-то 85%. Но есть нюанс . О нём ниже.


Описание советника NextDay.mq4 : рисует на экране прогноз дня  - т.е. рисует впереди текущей цены. В виде квадрата, у которого – верх – это прогноз,   предполагаемый Хай дня, соответственно низ квадрата – это зона Лоу. 

 

Три простых параметра : 
1.    Стартовая дата, откуда начать рисовать квадраты.
2.    Конечная дата. Если  с утра задать на сегодняшнюю дату – то как раз и нарисует прогноз на этот день.
3.    Путь к файлу «NextDay5.nsw»  , где искать данные сети.452977139_.thumb.jpg.d50810591471c4f27c15686ef40b51d4.jpg

 

ND_Export-NS5_2V.mq422 скач. RandomStrings.mq417 скач. NextDay.mq418 скач. NextDay5.nsw18 скач. NextDay5.dll16 скач.

 

Пробовал работать с любыми мажорами, кроме японской йены. 

Немного растёт погрешность, но приемлемо.

 

AUD.jpg

 

Евро сегодня прогноз: 

 

 

1689997800_EU.jpg.250264dd2da8c251ce3ddf68021ca752.jpg

#41

Хорошая тема, имеет место быть, сейчас тоже начну изучать материалы и постараюсь Вам помочь ?

#42

Внесу немного скептицизма в тред.

Довольно плотно в одно время занимался подобными советниками. Писал однослойные, многослойные перцептроны, всё писал на mql4/5. Лично у меня в конечном итоге всё свелось к тому же самому, что и происходит в обычных советниках, т.е. в переоптимизации параметров, либо это было до обучение самой нейросетки на вход/выход, либо параметров тейка/стопа/трала/бу, фильтров. Иными словами различия между обычными советниками размылись об оптимизацию. Плюс довольно сложно оценить преимущество, т.к. 100% входов нейросетка не даст в любом виде, а всё, что ниже вместе с тем, что системности в формировании результата нейросети нет, ставит её в раздел "монетки", т.е. в какой-то мере хуже любого другого системного подхода, который на истории можно визуально оценить и автоматизировать.

 

Но тема конечно эта интересная.

#43

1. Исправил багу в скрипте по рандомизации. Он смешивал и 1 строку с заголовком, приходилось руками возращать на место.

 

А по 2- му вопросу коллеги, нужна помощь по программированию.  

Там бага самого MQL с функцией   iBarShift . Как то решить/обойти. 

 

2. В советнике NextDay строка есть: 

_barD=iBarShift(NULL,PERIOD_D1,iTime(NULL,PERIOD_H4,i) ,true);

т.е. ищется бар D1 по времени.

Выдает ошибку , если нужен бар текущий дня.

Я так понял, проблема в том, что если не открыть с утра  график с D1 в памяти массива D1 его нет. 

То MQL выдает "бар не найден". Если открыть график D1 и закрыть, ТО ВСЁ РАБОТАЕТ.  

 

Как решить вопрос? 

 

 

RandomStrings.mq412 скач.

#44

Дайте и я что ли, поумничаю с вашего позволения. :-b

Есть такая категория заблуждений на Форекс, которые человек может развеять только самостоятельно. Например, одна из самых распространённых "идей": "А что если перевернуть все сделки убыточного советника?". Вероятно многие встречали темы на форумах: "Ищу стабильно сливающего советника". Потом только приходит понимание, что дело не во входах.

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

 

 

Изменено 11 сентября, 2020 пользователем lsv107

#45
29 минут назад, lsv107 сказал:

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

 

Мысль о том что оптимизация в алгоритмических советниках и обучение в НС - это процессы чем-то схожы - да в этом есть зерно. 

Но на этом всё и заканчивается. 

 

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

 

Если говорить про торговлю

- Можно с помощью НС решать те же задачи, которые решаются "алгоритмически" - 

например, человек разглядел паттерн "волна вульфа" - а давайте пусть нам НС их ищет ! 

Такой подход - забивать гвозди микроскопом. 

 

- Нормальный подход: решать задачи совершенно другим кардинальным образом. 

Там всё другое - например подбор например  данных. И уже не человек решает,

Что нужно, а что нет - решает метод. 

 

Тогда на выходе мы имеем решение, которое "видит" лучше , чем человек. 

Человеческий мозг просто не видит те статистические вещи, которые "видит" НС.

А если мозг не видит, он их никак не сможет реализовать в алгоритме,

потому что этих нюансов рынка просто нет в его мозгу. 

 

Многие просто не понимают разницы в вышеописанных подходах. 

Я и пытаюсь донести этот метод последний тут. 

 

Я приведу только самые известные только факты

- 20 августа 2020

ИИ снова победил пилота F-16 в воздушном бою

(ИИ не существует - это клише СМИ. имеется ввиду решение на Нейросетях )

https://habr.com/ru/company/cloud4y/blog/516078/ 

 

- Шахматы. Люди уже давно перестали соревноваться с программой "СтокФиш". 

Эта программа на голову выше "беловых" шахматистов. Но она "алгоритмическая". 

Программа на НС "AlphaZero" разнесла в пух и прах "СтокФиш". 

А почему? См пункты выше. 

https://habr.com/ru/post/432370/

 

- Есть еще про игру "ГО", где эра "белковых" игроков закончилась с приходом НС. 

Пруфы есть. 

Ну и т.д. 

 

Это факты. А факт, как говорится, можно конечно игнорировать, но от этого он не перестанет существовать.

Изменено 11 сентября, 2020 пользователем asbets

#46
6 минут назад, asbets сказал:

Мысль о том что оптимизация в алгоритмических советниках и обучение в НС - это процессы чем-то схожы - да в этом есть зерно. 

Не совсем. Всё будет зависеть от данных для анализа. Если НС просто будет анализировать цену, тогда это та же оптимизация-переоптимизация. А вот если как в черных ящиках у фондов - запросы в гугле, новости, реакции на площадках. Тогда уже НС будет намного круче обычного опта в мт4-5 и человеческого разума.

 

#47
2 часа назад, asbets сказал:

1. Исправил багу в скрипте по рандомизации. Он смешивал и 1 строку с заголовком, приходилось руками возращать на место.

 

А по 2- му вопросу коллеги, нужна помощь по программированию.  

Там бага самого MQL с функцией   iBarShift . Как то решить/обойти. 

 

2. В советнике NextDay строка есть: 

_barD=iBarShift(NULL,PERIOD_D1,iTime(NULL,PERIOD_H4,i) ,true);

т.е. ищется бар D1 по времени.

Выдает ошибку , если нужен бар текущий дня.

Я так понял, проблема в том, что если не открыть с утра  график с D1 в памяти массива D1 его нет. 

То MQL выдает "бар не найден". Если открыть график D1 и закрыть, ТО ВСЁ РАБОТАЕТ.  

 

Как решить вопрос? 

 

 

RandomStrings.mq4 4 \u043a\u0411 · 2 загрузки

Идентичная проблема обнаружилась в моем MonTag, только с iTime() на дневках.

Ощущение, что МТ оптимизирует этот вопрос и не строит бары в памяти. Что немного разочаровывает.

Программно открывать окно графика с дневкой?

#48
2 часа назад, asbets сказал:

- Есть еще про игру "ГО", где эра "белковых" игроков закончилась с приходом НС. 

Пруфы есть. 

Ну и т.д. 

Это факты. А факт, как говорится, можно конечно игнорировать, но от этого он не перестанет существовать.

Я же говорю, что надо пройти весь путь самому, чтобы понять, что в лучшем случае советник, работающий на нейросетях по эффективности не будет отличаться от аналогичного традиционного. На mql5.com эта тема была уже изглодана до костей, а ларчик открывается просто - в нашем распоряжении лишь нестационарный ряд (поток цен во времени). Любая попытка "голого" статистического анализа этого ряда - есть предположение его стационарности. Чтобы долго не рассусоливать, приведу цитату: "Предположение стационарности, то есть сохранение в будущем статистических закономерностей случайных процессов, установленных при изучении их поведения в прошлом, не может быть использовано для составления долгосрочных экономических прогнозов, для предсказания погоды на длительный период и для экстраполяции случайных процессов, порождающий механизм и тенденция развития которых недостаточно изучены."

2 часа назад, ostapbender сказал:

Не совсем. Всё будет зависеть от данных для анализа. Если НС просто будет анализировать цену, тогда это та же оптимизация-переоптимизация. А вот если как в черных ящиках у фондов - запросы в гугле, новости, реакции на площадках.

 

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

Ну а самый надёжный прогноз цены делает тот, кто может непосредственно на неё влиять./:)

 

2 часа назад, ostapbender сказал:

Тогда уже НС будет намного круче обычного опта в мт4-5 и человеческого разума.

Чтобы ИИ стал "круче" человеческого разума, нужно для начала создать работающую модель абстрактного мышления. Но разум не может создать разум, а алгоритм - написать алгоритм. Смотрим теорему Гёделя о неполноте.

 

Сами же попытки написать советника на НС - весьма полезное занятие. Как говорил Ломоносов: "Математику уже затем учить надо, что она ум в порядок приводит".

#49
В 11.09.2020 в 09:32, Rigal сказал:

Программно открывать окно графика с дневкой?

Делал так в другом сигнальщике. Помогает.

Но там другие косяки  MQL - то не закроется график и останется висеть, то экран с графиками ломает.

Выбешивало жутко.

Проще на графике нажать на панели таймфрейма "D1" а потом опять назад на H4.

Я думал, сообщество уже давно решило этот косяк. 

 

Прогноз евро 14.09:

1409EU.thumb.jpg.3d100978a2ae7c2e41965edda04aa1e4.jpg

 

Давно не было сообщений не потому, что забросил,
а из-за работы по проекту. 


Изменения : 

1. Данные для обучения увеличены в 5 раз -  теперь обучение  идет на 8  парах - 11 000 записей ( т.е по сути дней ).
Это : AUD, EURGBP, EURUSD, USDCAD, GBPUSD, EUROCHF, USDCHF, Золото.   
Из-за этого увеличилось время обучение. Иногда NS прогнозирует что обучение будет длится  до 55 часов,  но по факту быстрее. 
Возможно, это и перебор с количеством данных, может достаточно и 7500 записей, но дальше видно будет.
Для чего увеличение : сеть более стабильна , выбросов по ошибкам меньше, хотя средняя погрешность примерно таже. 


2. Добавлены дни недели. Сравнительные тесты еще не закончен, но видно, что улучшение есть, примерно на 10%. 
Тут мысль такая : дни недели - это 3 поля, которые добавлены к 36, т.е. чисто математически они "теряются"
на общем фоне. Возможно , их надо будет перенести во 2-ю сеть, которая планируется, чтобы обрабатывать данные от 1-й.

 

3. Тесты разных сетей, вплоть до максимальных, что позволяет NS - 10 слоев. 
Увеличение сети не всегда ведет к улучшению. Есть методы расчета оптимального размера сети конкретного 
типа и с конкретными данными - но эти методы сложны и только суперспецы по сетям с ними знакомы.
Я опираюсь на экспериментальный метод. 

Дополнение : в хелпе к NS как раз обнаружил

"At our present stage of knowledge, establishing the size of a network is more efficiently done through experimentation... "

" На современном этапе развития знаний определение размера сети более эффективно осуществляется с помощью экспериментов. Теория обобщения решает эту проблему, но ее все еще трудно применить в практических условиях [VP dimension, Vapnik]. Проблема заключается в следующем: количество PEs в скрытом слое связано с возможностью отображения сети. Чем больше число, тем мощнее сеть. Однако, если вы продолжаете увеличивать размер сети,есть точка, где обобщение ухудшается. Это происходит из - за того, что мы, возможно, слишком подгоняем обучающий набор, поэтому, когда сеть работает с паттернами, которые она никогда раньше не видела, реакция непредсказуема. Задача состоит в том, чтобы найти наименьшее число степеней свободы, которое обеспечивает требуемую производительность в тестовом наборе." . Далее рекомендуют начинать с малых сетей и постепенно увеличивать слои и элементы. 


4. Есть понимание, что нужно в сеть "скармливать" данные по волатильности и уровням. 
Пока нет идеи как и в каком формате. 


По волатильности более менее понятно : сейчас сеть про неё вообще ничего не "знает". 
У неё есть только 3-х дневный диапазон в котором есть свечи H4 - с размером 
только относительно друг друга. 

 

Какова идея : Необходимо добавить поле, где будет информация в цифре от 0-1 о размере этого самого 3-х дневного диапазона
относительно других диапазонов. Например о скольки ? 10 , 20 , 30 ?   

Или как ATR - просто среднее от  от тех-же 20 или 30 (или скольки ? ) 3-х дневных диапазонов.

1 - самый большой диапазон. 0- самый маленький. 

Или тупо дневной ATR без привязки к 3-х дневным диапазонам? Но опять же за какой период, чтобы померить от 0 до 1?

Месяц, год? 
А что еще важно по волатильности ? 

 

А вот по уровням пока совсем не понятно.

По работе сети видно, как она "лажает" при отбоях от дневных уровней, где 

часты развороты.


Есть идеи по уровням? 

Изменено 14 сентября, 2020 пользователем asbets

#50
В 16.09.2020 в 09:28, asbets сказал:

Давно не было сообщений не потому, что забросил,

Вот интересная статья как работают модели Хэджфондов

 

Выдержка:

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

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

 

Поэтому и нейросети нужно обучать не только индикаторами и ценой.

Страница 2 из 4

Для публикации сообщений создайте учётную запись или авторизуйтесь

Перейти к списку тем
Форум · 2.0.20260627.0025