Учим нейросеть угадывать закрытие часа фьючерса РТС
- 20 февраля 2013, 09:10
- |
- Svips
После прошлого видео у нескольких человек появился интерес к нейросетям в трейдинге. Поэтому выкладываем еще одно видео, которое возможно пробудит еще больший интерес к этой области.
В этом видео, мы показываем простейшую сеть, которая достаточно быстро обучилась угадывать закрытие часового бара фьючерса на индекс РТС, результаты которой уже можно использовать в реальной торговле.
Надо менять микрофон…
350 это еще мало, и сеть маленькая… это просто для примера, что бы обучение быстро прошло.
Да, это некий алгоритм оптимизации, он «стандартизирован» и хорошо описан. Их есть несколько. Простыми перебором без вариантов.
Есть такое эмпирическое наблюдение.
Чтобы нейронная сеть смогла выделить закономерности в данных,
количество образцов для обучения должно быть раз в сто больше чем количество нейронов.
В вашем случае сеть просто запомнила все образцы.
Это легко проверить подав на вход сети данные которые не использовались в обучении.
В вашей сети 320*4 = 1280 синапсов.
Рады что это вас с мотивировало, от части для этого и создавали топик, ведь интересная тема, а народ не придает ей должного значения. Нейросети скоростными поездами управляют, а тут какой то рынок быхххх… )))
Не слишком ли вы легко расстрачиваете собственные ресурсы на эксперимент длинною в год, не имея предварительных вероятностных оценок того, что нейросеть способна работать на новых примерах (обобщать)? Ну типа того, что с надежностью 0.95 доходность системы лежит в границах (-5%,+15%) при следующих допущениях… Допущения можно обсуждать, критиковать, но это уже хоть какая-то опора.
Расскрою «страшный» секрет, из-за того, что на рынках существуют кросс-зависимости между инструментами и времеенные зависимости (все-таки рынок это временной ряд) мы имеем реально примерно 12 независимых испытаний. Именно 12 (группируем результаты по месяцам), а не столько, сколько совершено сделок. Внутри месяца зависимости нельзя игнорировать.
Немного поясню: 9 секторов (через биржевые фонды) и биржевой фонд на выходе (как аналог фьючерса S&P500)…
Как итог — ошибки порядка 0.5-1.5% для дневных данных
Или, как вариант, высчитывать коэффициент итерациями по минутным данным. Пример:
В текущем варианте часовых данных получили ответ из «черного ящика» 1 или 0. Далее — через минуту берем новую порцию данных и снова получаем 1/0 (например, для второго сети, которая обучена на минутах). Через минуту — еще. И в реал-тайм пересчитываем вероятность и выдаем пользователю результат. А он — или ждет дальнейших итераций, или принимает решение… как-то примерно так, что ли…