Deep learning для трейдинга
От: MichailM  
Дата: 21.11.17 13:17
Оценка:
Добрый день всем!
Читал и слышал, что deep learning сейчас рулит во всех областях, животных на фотографиях распознаёт лучше человека, детали на картинках достраивает, где-то даже писали, что для роликов продолжение придумывает. Вроде как, и при трейдинге тоже «достаточно легко» даёт хорошие результаты. Но мои личные попытки дали неважные результаты. В лучшем случае сеть худо-бедно подстраивалась под обучающие данные, но на тестовых данных результаты были плохие.

Я подавал сети нормализованные графики курса акций (тёмно-синее на графиках слева http://prntscr.com/hd8tl6), а на выходе ожидал от неё тот же график (синим пунктиром) с дополнением и ещё дополнительно два числа – на сколько % дешевле имеет смысл попытаться купить чтобы потом подороже продать и наоборот, % дороже продать чтобы потом откупить. На картинке слева 5 графиков из обучающего множества, а справа сверху – реальные и предсказанные результаты для 50 графиков из обуч. мн.

В лучшем случае получалось среднеквадратичное отклонение для этих двух чисел порядка 0.003, т.е. можно сказать, что для чисел от 0 до 0.4 (справа сверху) в среднем ошибка порядка 0.055 (корень из 0.003) – уже многовато. А на тестовых множествах тут же получается среднеквадратичное 0.03, т.е. среднее 0.15.

Сети пробовал разного вида, вот примерно такого размера и примерно на порядок больше-меньше: 5 групп слоёв, residual (next = prev + conv(prev)), с bottleneck’ами, в каждой группе по 3 свёртки, 100 слоёв в первых свёртках, 50 в bottleneck’ах, в каждом следующем слое в 2 раза меньше значений и в 2 раза больше слоёв. Обучающие наборы брал 100-2000 наборов (графиков), количество итераций – 5000-50000 по 50 наборов в каждой. Считал на Python’e c TensorFlow, на процессоре.

Нужны советы, куда дальше двигаться и где есть (или нет) перспективы. А лучше человек, который увлекается подобными вещами, чтобы объединить усилия. Тут это кому-нибудь интересно? Сам вообще программист, 37 лет, стаж – 15, в основном – на С++, на работе занимался другими, более приземлёнными вещами.
искусственный интеллект ai торговля
Re: Deep learning для трейдинга
От: hi_octane Беларусь  
Дата: 21.11.17 18:31
Оценка:
MM>Нужны советы, куда дальше двигаться и где есть (или нет) перспективы.
Там нужна очень особенная сеть, не знаю даже есть ли такие в составе широко распространённых пакетов — дело в том что графики колебаний валют являются "вложенными". Грубо говоря у тебя может развивается один тренд на часовике и в пределах ограничений этого тренда по своим правилам гуляет, иногда даже в противоположную сторону, пятиминутка. Когда ты пытаешься это смоделировать одной единственной сетью она усредняет правила пятиминутки и собственно всё.

MM>А лучше человек, который увлекается подобными вещами, чтобы объединить усилия. Тут это кому-нибудь интересно? Сам вообще программист, 37 лет, стаж – 15, в основном – на С++, на работе занимался другими, более приземлёнными вещами.

Работа с этим была связана, так что вопросом по инерции интересуюсь. Но именно deep learning как-то себя не показал. Очень сильно на ситуацию влияет то что на рынке много участников действующих строго по тех-анализу, и если фундаментальные факторы слабы, то ТА-шники формируют настоящий самосбывающийся прогноз — когда сотня человек с большими котлетами видят пробой какой-нибудь фигуры вверх, они все дружно наваливаются на покупку, и цена летит вверх пулей. При этом если ты посмотришь на то что ТА-шники рисуют — линии поддержки, сопротивления, границы каналов и треугольников с клиньями — опорные элементы могут находиться на произвольных расстояниях в прошлом от текущего момента. А у нейросетей мало того что с памятью вообще проблема, так с памятью далеко в прошлое полный капец.

Объединять усилия в этой области достаточно сложно — обычно все всем конкуренты, и готовы делиться наработками только когда с тем что есть оказываются на грани вылета с рынка
Re: Deep learning для трейдинга
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 21.11.17 18:47
Оценка: +1
Здравствуйте, MichailM, Вы писали:

MM>Сети пробовал разного вида, вот примерно такого размера и примерно на порядок больше-меньше: 5 групп слоёв, residual (next = prev + conv(prev)), с bottleneck’ами, в каждой группе по 3 свёртки, 100 слоёв в первых свёртках, 50 в bottleneck’ах, в каждом следующем слое в 2 раза меньше значений и в 2 раза больше слоёв. Обучающие наборы брал 100-2000 наборов (графиков), количество итераций – 5000-50000 по 50 наборов в каждой.


Не смотрел в сторону LSTM? Они сейчас если и не лучшие, то очень неплохие для временных рядов. Использовали у себя для других целей — работают. Есть и более продвинутые варианты сетей с памятью, но, думаю, что начать лучше именно с LSTM.
Re[2]: Deep learning для трейдинга
От: MichailM  
Дата: 23.11.17 12:45
Оценка:
_>Там нужна очень особенная сеть, не знаю даже есть ли такие в составе широко распространённых пакетов — дело в том что графики колебаний валют являются "вложенными". Грубо говоря у тебя может развивается один тренд на часовике и в пределах ограничений этого тренда по своим правилам гуляет, иногда даже в противоположную сторону, пятиминутка. Когда ты пытаешься это смоделировать одной единственной сетью она усредняет правила пятиминутки и собственно всё.

Ну да, возможно. А может быть и могла бы как-нибудь подстроиться, какие-нибудь низко- и высокочастотные фильтры бы сгенерировались...

_>Объединять усилия в этой области достаточно сложно — обычно все всем конкуренты, и готовы делиться наработками только когда с тем что есть оказываются на грани вылета с рынка

Если порознь вероятность облажаться у каждого 90% или там 99%, то вдвоём, при совмещении скиллов, должно быть существенно меньше, так что объединяться тем, кто не в передовой конторе данного профиля, по-моему, выгодно.

За подсказки спасибо! Если хотите, можем попробовать что-нибудь вместе забацать, что-нибудь поближе к тому, что я описал выше.
Отредактировано 23.11.2017 12:54 MichailM . Предыдущая версия .
Re[2]: Deep learning для трейдинга
От: MichailM  
Дата: 23.11.17 12:52
Оценка:
Здравствуйте, Nuzhny, Вы писали:

N>Не смотрел в сторону LSTM? Они сейчас если и не лучшие, то очень неплохие для временных рядов. Использовали у себя для других целей — работают. Есть и более продвинутые варианты сетей с памятью, но, думаю, что начать лучше именно с LSTM.


Нет, только глубокие свёрточные и раньше — более простые многослойные. У меня не настолько много времени.

Да поди накосячил где-нибудь с параметрами сети или подготовкой данных. Мне кажется, должно было бы лучше работать.
Re[3]: Deep learning для трейдинга
От: hi_octane Беларусь  
Дата: 23.11.17 16:00
Оценка:
MM>Ну да, возможно. А может быть и могла бы как-нибудь подстроиться, какие-нибудь низко- и высокочастотные фильтры бы сгенерировались...
Затрудняюсь представить сеть (и объём данных для её обучения) которая могла бы одним обучением вывести фильтр генерирующий уровни Фибоначчи на произвольном участке, а ведь это одна из самых простых линеек уровней которой пользуется каждый второй трейдер. А вот если взять две НС — одна которая только и умеет что выбирать две ключевые точки для уровней, а вторая берёт на вход 15-минутный график и сетку построенную первой и планирует работу на границе возможного отскока или пробоя — уже более-менее реально.

MM>Если порознь вероятность облажаться у каждого 90% или там 99%, то вдвоём, при совмещении скиллов, должно быть существенно меньше, так что объединяться тем, кто не в передовой конторе данного профиля, по-моему, выгодно.

В форуме shareware уже было доказано, что в команде проценты скиллов умножаются а не складываются. Получается что 0.9*0.9 = 0.81

MM>За подсказки спасибо!

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

MM>Если хотите, можем попробовать что-нибудь вместе забацать, что-нибудь поближе к тому, что я описал выше.

В профиле не указано, географически не в Минске случайно?
Re[4]: Deep learning для трейдинга
От: MichailM  
Дата: 24.11.17 12:30
Оценка:
MM>>Если порознь вероятность облажаться у каждого 90% или там 99%, то вдвоём, при совмещении скиллов, должно быть существенно меньше, так что объединяться тем, кто не в передовой конторе данного профиля, по-моему, выгодно.
_>В форуме shareware уже было доказано, что в команде проценты скиллов умножаются а не складываются. Получается что 0.9*0.9 = 0.81
Очевидно, что зависимость неуспеха — экспоненциальная от произведения количества недостающих скиллов. Так что не знаю, как там они доказали, что будет 0.81.


_>Меня больше крипторынки привлекают — на развивающихся пузырях торговать в плюс много ума не надо — ошибок прощается куда больше чем на стабильных, и уж тем более на схлопывающихся. Сейчас активные и непрофессиональные трейдеры, основная кормовая база другими словами, перетекают с акций и форекс-кухонь в крипто-биржи, и соответственно куда проще будет заработать деньги на условном bitfinex, чем отжать у профессионалов которые живут с торговли акциями и в этом деле собаку съели.

Ну, если хорошо растёт, то да, причём с таким же успехом можно тупо купить криптовалют и ждать.

MM>>Если хотите, можем попробовать что-нибудь вместе забацать, что-нибудь поближе к тому, что я описал выше.

_>В профиле не указано, географически не в Минске случайно?
Совсем нет Географический центр нашей большой родины
Re: Deep learning для трейдинга
От: negres США  
Дата: 18.03.18 04:43
Оценка: 4 (1)
MM>Читал и слышал, что deep learning сейчас рулит во всех областях, животных на фотографиях распознаёт лучше человека, детали на картинках достраивает, где-то даже писали, что для роликов продолжение придумывает. Вроде как, и при трейдинге тоже «достаточно легко» даёт хорошие результаты. Но мои личные попытки дали неважные результаты. В лучшем случае сеть худо-бедно подстраивалась под обучающие данные, но на тестовых данных результаты были плохие.

Я еще не видал никаких примеров успешного применения deep learning в финансах, это при том что я работаю в этой области (я quant trading PM в большом фонде). Думаю мы ничего и не увидим, вот мои мысли почему

— оно не эффективно с точки зрения размерности данных (данных надо очень много)
— нужно несколько проходов по набором данных, что является проблемой для нестационарных данных
— результаты DL очень неустойчивы, требуют ручной настройки и зависит от случайного семени
— теоретическое понимание плохое, поэтому вы никогда не уверены в статистической зачимости результата

Вобще-то DL до сих пор работало лучше всего при применении к проблемам, где люди слишком ленивы или надо что-то делать в масштабе (например, распознавание изображений). Сеть распознавания изображений не соответствует производительности человека, но Гуглу все равно, потому что дешевле использовать ПК для отметки 1 000 000 изображений, чем платить человеку. Но в трейдинге стимулы для анализа данных велики ($$$), поэтому все, кто может сделать что-то, чтобы получить прибыль, они это сделают. Следовательно, AI должен превосходить человеческую производительность, а не просто соответствовать ей или замещать точность пропускной способностью.

ML в финансах интересна в основном с точки зрения анализа больших массивов данных — будь то структуры микро-рынка (для HFT) или анализ фундаментальных данных для людей типа меня. Думаю что всякий кластеринг или random forests будут более применимы.


MM>Нужны советы, куда дальше двигаться и где есть (или нет) перспективы. А лучше человек, который увлекается подобными вещами, чтобы объединить усилия. Тут это кому-нибудь интересно? Сам вообще программист, 37 лет, стаж – 15, в основном – на С++, на работе занимался другими, более приземлёнными вещами.


Это смотря что интересно. Если интересует quant trading, то можно поговорить off-line. Если интересуют нейронные сети, то тут я пас
Re[2]: Deep learning для трейдинга
От: Nuzhny Россия https://github.com/Nuzhny007
Дата: 18.03.18 08:24
Оценка:
Здравствуйте, negres, Вы писали:

N>Вобще-то DL до сих пор работало лучше всего при применении к проблемам, где люди слишком ленивы или надо что-то делать в масштабе (например, распознавание изображений). Сеть распознавания изображений не соответствует производительности человека, но Гуглу все равно, потому что дешевле использовать ПК для отметки 1 000 000 изображений, чем платить человеку. Но в трейдинге стимулы для анализа данных велики ($$$), поэтому все, кто может сделать что-то, чтобы получить прибыль, они это сделают. Следовательно, AI должен превосходить человеческую производительность, а не просто соответствовать ей или замещать точность пропускной способностью.


Вообще-то с изображениями всё может быть и иначе, есть рутинные операции, на которых человек проигрывает со свистом: подсчёт клеток крови или поиск объектов на видео в реальном времени.
В трейдинге разве такого нет?
Re[3]: Deep learning для трейдинга
От: negres США  
Дата: 19.03.18 05:13
Оценка: 22 (3)
N>Вообще-то с изображениями всё может быть и иначе, есть рутинные операции, на которых человек проигрывает со свистом: подсчёт клеток крови или поиск объектов на видео в реальном времени.
N>В трейдинге разве такого нет?

Это все равно вопрос масштаба — когда было необходимо, на анализ видео в реальном времени бросали батальоны и они справлялись. К тому-же в рутинных операциях типа таких, я на 65% уверен что если человек проигрывает в скорости, то он выигрывает в точности и, хм, разумности (например, человек не будет путать картонную вырезку Санта Клауса с реальным человеком, или не будет делать вот такого: https://nerdist.com/trap-a-self-driving-car/).

Все рутинного что можно сделать в трейдинге уже давно автоматизированно (всякие мелочи типа pennying, арбитраж и прочее) без особого применения ML. Основаная проблема с применением ML, как я уже сказал, что роль простого pattern recognition в финансах очень мала (кстати, "технический анализ" о котором говорили выше не работает, т.к. обычно он просто результат апофении, но это отдельная долгая тема). Я знаю пару ребят которые пытаются применить что-то ML-like в HFT, но это в основном в духе "в основном мы нормально делаем деньги, но вот в этой конкретной ситуации мы бы хотели делать что-то другое".

Если бы у меня был доступ к "ресурсу" (т.е. к человеку с широкими знаниями SML и желанием применить их к финансам), я бы искал методы предсказания фундаментальных данных (типа earnings per share, book values, sales figures). Там данные с множеством компонентов и уровней, разные источники и прочие сложности. Человек который это делает вручную, с одной стороны видит всю мозаику, но с другой стороны подвержен всяким идеям о том как эту мозаику интерпретировать. Если там применить какие-то умные методы может и можно чего-то интересного придумать.

ПС. Пардон за корявый язык, я в Америке с раннего возраста и грамоте меня учили родители которые педагоги еще те.
Re: Deep learning для трейдинга
От: The Passenger СССР  
Дата: 07.04.18 16:22
Оценка:
Здравствуйте, MichailM, Вы писали:

MM>Добрый день всем!

MM>Читал и слышал, что deep learning сейчас рулит во всех областях, животных на фотографиях распознаёт лучше человека, детали на картинках достраивает, где-то даже писали, что для роликов продолжение придумывает. Вроде как, и при трейдинге тоже «достаточно легко» даёт хорошие результаты. Но мои личные попытки дали неважные результаты. В лучшем случае сеть худо-бедно подстраивалась под обучающие данные, но на тестовых данных результаты были плохие.

а где исторические данные брали?

По теме вопроса — я не профи в нем, но думаю надо идти не вглубь а в ширь, т.е. для обучения брать больше сторонних данных кроме самих курсов.
Ну а если речь идет о распознавнии последовательностей, то как выше верно подметили — тут должны быть рекурентные сети кмк
Re[2]: Deep learning для трейдинга
От: negres США  
Дата: 08.04.18 05:43
Оценка: +1
Здравствуйте, The Passenger, Вы писали:

TP>а где исторические данные брали?

Ценовые данные как раз не проблема, их полно как за деньги так и бесплатно.

TP>По теме вопроса — я не профи в нем, но думаю надо идти не вглубь а в ширь, т.е. для обучения брать больше сторонних данных кроме самих курсов.

Употребление не-рыночных данных это правильный подход, гораздо легче найти факторы. Естественно, не факт что для этого нужен какой-то deep learning, всякие умные регрессии и деревья там тоже можно применить. Основная проблема в доступности таких данных, даже самые базовые наборы которые уже подготовлены к обработке стоят достаточно дорого.
Re[3]: Deep learning для трейдинга
От: The Passenger СССР  
Дата: 08.04.18 08:44
Оценка:
Здравствуйте, negres, Вы писали:

N>Здравствуйте, The Passenger, Вы писали:


TP>>а где исторические данные брали?

N>Ценовые данные как раз не проблема, их полно как за деньги так и бесплатно.

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

TP>>По теме вопроса — я не профи в нем, но думаю надо идти не вглубь а в ширь, т.е. для обучения брать больше сторонних данных кроме самих курсов.

N>Употребление не-рыночных данных это правильный подход, гораздо легче найти факторы. Естественно, не факт что для этого нужен какой-то deep learning, всякие умные регрессии и деревья там тоже можно применить. Основная проблема в доступности таких данных, даже самые базовые наборы которые уже подготовлены к обработке стоят достаточно дорого.

дееп леарнинг как раз будет хорош там где не прослеживается явная связь между данными и результатом — как возможно связь между погодой и курсом или чтото в этом роде ... посты в твиттере например
самый сложный вопрос как эти данные получать и готовить
Отредактировано 08.04.2018 8:47 пассажир . Предыдущая версия .
Re[4]: Deep learning для трейдинга
От: negres США  
Дата: 08.04.18 15:19
Оценка:
Здравствуйте, The Passenger, Вы писали:

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

На какие типы бумаг?

TP>дееп леарнинг как раз будет хорош там где не прослеживается явная связь между данными и результатом — как возможно связь между погодой и курсом или чтото в этом роде ... посты в твиттере например

Проблема в том что без понимания (а) "почему есть взаимосвязь" и без понимания (б) "насколько статистически значима взаимосвязь" результат скорее всего будет стандартный (т.е. денег потеряешь). Мат ожидание изначально негативное.

Например, У меня есть знакомец который занимается NLP относительно стоков. И с данными с твиттера играл тоже (кстати, на Гит Хабе есть набор данных вроде). Но по разговорам, он делает достаточное простые вещи типа марковских цепей на Н слов, именно что бы были (а) и (б).

TP>самый сложный вопрос как эти данные получать и готовить

Если реально интересно, то можно поговорить.
Re[5]: Deep learning для трейдинга
От: The Passenger СССР  
Дата: 08.04.18 17:00
Оценка:
Здравствуйте, negres, Вы писали:

N>Здравствуйте, The Passenger, Вы писали:


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

N>На какие типы бумаг?

акции ... желательно AEX

TP>>дееп леарнинг как раз будет хорош там где не прослеживается явная связь между данными и результатом — как возможно связь между погодой и курсом или чтото в этом роде ... посты в твиттере например

N>Проблема в том что без понимания (а) "почему есть взаимосвязь" и без понимания (б) "насколько статистически значима взаимосвязь" результат скорее всего будет стандартный (т.е. денег потеряешь). Мат ожидание изначально негативное.

ну да — поймать эту связь значит поймать Бога за бороду

N>Например, У меня есть знакомец который занимается NLP относительно стоков. И с данными с твиттера играл тоже (кстати, на Гит Хабе есть набор данных вроде). Но по разговорам, он делает достаточное простые вещи типа марковских цепей на Н слов, именно что бы были (а) и (б).


Ну и как результат?

TP>>самый сложный вопрос как эти данные получать и готовить

N>Если реально интересно, то можно поговорить.

Ну я не особо верю, что смогу произвести чтото существенное в этой теме, поскольку опыта скорее в минус ( судя по моей торговле акциями )
Да и помимо этого у меня сейчас есть пара дел в приоритете — одно из них — стать более менее профи в computer vision ( опыт уже наскребаю)
Потом может быть и поиграюсь, там и свяжемся ... хотя конечно интересно ... но я пока вообще фантик в ML

Вообще в идеале — неплохо бы создать интеллектуального агента, который сам будет искать информацию и пробовать ее ... но боюсь мне до того чтобы
понять как это сделать — мне еще пилить и пилить.
Re[3]: Deep learning для трейдинга
От: StatujaLeha на правах ИМХО
Дата: 08.04.18 18:30
Оценка:
Здравствуйте, negres, Вы писали:

N>Употребление не-рыночных данных это правильный подход, гораздо легче найти факторы. Естественно, не факт что для этого нужен какой-то deep learning, всякие умные регрессии и деревья там тоже можно применить. Основная проблема в доступности таких данных, даже самые базовые наборы которые уже подготовлены к обработке стоят достаточно дорого.


Знаете, есть ли где-нибудь в открытом доступе данные по опционам на нефть марки Brent?
Для WTI есть(см. картинку). А для Brent не нашел...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.