Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 287
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Мне еще нужно не хило подучиться что бы как то поддержать с вами разговор на эту тему.. Да и не обязательно нейронку , можно и форест поюзать там вроде проще будет эту целевую прикрутить
...
В общем-то всё, но есть нюанс - те оптимизаторы что я пробовал не могут справиться с весами, они просто находят некий локальный минимум когда все результаты будут равны 0,5 для минимизации средней ошибки, и на этом застрянут. Тут нужно применить какую-то хитрость, я дальше не продвинулся.
Чем сложнее структура нейронки - тем больше будет весов, и тем сложнее алгоритму оптимизации их подбирать, на больших нейронках они просто тупят и почти не улучшают начальный результат.
Ответ не так прост. Вот например один способ, с нейронкой, но нужно понимать как работает нейронка, какие в ней формулы итд.
Допустим есть простенькая нейронка...
код
Код выше можно засунуть в оптимизатор...
Какие то Вы страсти рассказываете)))
А чем бэкпроп не подошел, если не секрет? Точнее, в случае одного слоя и одного таргета, всё сильно упрощается, итеративно нужно из весов вычитать ошибку умноженную на интпут до сходимости, дельта правило называется, или правило Хэба, точно не помню. Wt = Wt-1 - lernrate*error*Input, в общем обычный градиентный спуск
Не Вы ли, не так давно, в ветке где обсуждался оптимизатор МТ, демонстрировали свой супер-алгоритм на R? Он разве не справляется?
Я, да, нет.
А чем бэкпроп не подошел, если не секрет?
Градиентый спуск я умею, но для него нужен таргет к каждому конкретному обучающему примеру - считаем результат для обучающего примера, и дёргаем веса по направлению производной чтоб полученный результат стал ближе к реальному. И так по очереди на всех обучающих примерах.
А этот код было ответом на вопрос что делать если цель не определена и просто хочется научить нейронку торговать в плюс. Пускай она сама разбирается где лучше купить, где лучше продать, лишь бы профит в плюс шёл.
Ну типа даём ей приросты ohlc по барам, получаем предсказания что делать на следующем баре, по предсказаниям симулируем торговлю, и находим шарп ратио торговли. Этот шарп ратио - единственная оценка которая даётся нейронке на всём наборе исходных данных.
Оптимизатор будет оптимизировать веса нейронки так чтоб шарп ратио рос.
Вот если найти градиенты весов по отношению к щарп ратио - можно и градиентый спуск делать, будет гораздо лучше чем вслепую веса менять.
Я, да, нет.
Неужели среди сотен тысяч пакетов в R нет такого, какой бы справился с задачей с удовлетворительным результатом?
Неужели среди сотен тысяч пакетов в R нет такого, какой бы справился с задачей с удовлетворительным результатом?
Есть пакеты которые гарантированно решат эту задачу, но у меня нет времени ждать месяцы пока будет найден результат, мне в идеале нужно уложиться за одни выходные.
Это технология не для домашнего компьютера.
Есть пакеты которые гарантированно решат эту задачу, но у меня нет времени ждать месяцы пока будет найден результат, мне в идеале нужно уложиться за одни выходные.
Это технология не для домашнего компьютера.
- Что, плохо машина заводится?
- Нет, хорошо заводится, но долго.
Если технология не позволяет решать поставленную задачу в приемлемое время, то это означает, что технологии нет.
Сколько оптимизируемых параметров, в каком диапазоне и с каким шагом нужно оптимизировать?
скачал с онады исторические данные баланса покупателей против продавцов от сюда https://www.oanda.com/forex-trading/analysis/historical-positions
построил графики и посчитал корреляцию баланса с ценой
layout(1:2)
plot(oanda$price ,t="l" , main = "EUR")
plot(oanda$pct_long ,t="l" , main = "balanse",col=2)
abline(h = 50)
cor(oanda$pct_long , oanda$price)
коэффициент корреляции -0.76
При чем интересно заметить что цена ходит в противоход даже не относительно самого баланса в абсолютных значениях а относительно динамики изменения баланса...
Точно такая же механика присутствует и на других высоколиквидных рынках, этот же баланс можно смотреть и другими способами, например через стакан. Уверен многие это и так знают, признаюсь я сам это знаю уже лет 6 наверное, но писал для тех кто не знал, им это будет и полезно и интересно.
Так же можно натолкнуться на мысль что раз баланс движет рынком то может лучше прогнозировать баланс а не цену ? Так или иначе прогнозирование цены в направленных стратегиях это ни что иное как прогнозирование действия участников торгов в будущем как бы это банально и заезженно не звучало, а вот когда начинаешь думать как можно прогнозировать толпу то тут уже интересней.... Думаю чтобы понять толпу для начала нужно понять самого себя ведь мы и есть толпа ... Как можно вычислять толпу? у кого какие мысли?
Почему-то постоянно разговор скатывается на обсуждение достоинств и недостатков тех или иных моделей.
Пусть не большой мой опыт говорит о том, что вклад в успешную торговлю собственно моделей крайне незначителен.
Определяющим является определение целевой и ее предикторов.
На примере ЗЗ я много раз пытался показать, что даже столь очевидная, наглядная и красивая целевая переменная как ЗЗ, таковой не является и при более внимательном рассмотрении таит непреодолимые препятствия.
Если же говорить про предикторы, то мне как человеку всю жизнь занимавшимся экономикой совершенно очевидно, что:
Если сосредоточится исключительно на решении этих двух фундаментальных для экономического предсказания и предсказания на рынке форекс, то успех будет обеспечен только этими двумя параметрами. А отбор наиболее подходящей модели к целевой и ее предикторов лишь незначительно может улучшить результативность, может дать некоторые обоснованные соображения о времени жизни модели без повторного обучения.
В очередной раз призываю сосредоточится на целевой переменной и обоснованию предикторов для этой конкретной целевой переменной.
Согласен.
А этот код было ответом на вопрос что делать если цель не определена и просто хочется научить нейронку торговать в плюс. Пускай она сама разбирается где лучше купить, где лучше продать, лишь бы профит в плюс шёл.
Ну типа даём ей приросты ohlc по барам, получаем предсказания что делать на следующем баре, по предсказаниям симулируем торговлю, и находим шарп ратио торговли. Этот шарп ратио - единственная оценка которая даётся нейронке на всём наборе исходных данных.
Оптимизатор будет оптимизировать веса нейронки так чтоб шарп ратио рос.
Вот если найти градиенты весов по отношению к щарп ратио - можно и градиентый спуск делать, будет гораздо лучше чем вслепую веса менять.
Честно говоря не пробовал, почему то сразу это показалось какой то алхимией, не очень хорошей идей, для однослойного персептрона с небольшим количеством инпутов может быть и что то будет находиться жутко медленно, многослойный точно не получится, ИМХО толку мало. Кроме того прибыльность ТС на прямую зависит от прогнозирования суммарного ретурна на N баров в перед, ничем нельзя исправить плохое прогнозирование, целиком стратегию оптимизировать куда больше риска обмануть себя.