Алготрейдерам. Во времена, когда телефон может распознавать без всякой тренировки вопросы и команды голосом, когда хостинг фотографий умеет отличать на фото и видео лица людей в разных ракурсах, в разное время их жизни, в эти времена только глухой не слышал про нейросети.
Только ленивый не пробовал их прикрутить к роботу. Но вот работают ли они эффективно, вот в чём вопрос.
Тот же нобелевский лауреат Д. Канеман например утверждал, что в трейдинге нельзя «набраться опыта» настолько, чтобы с точностью утверждать куда пойдёт цена. А зачем ещё могут быть нужны нейросети?
Применяете ли вы их?
Мой личный опыт показывает что зерно в них есть. Но оно какое-то достаточно маленькое. Т.е. робот с нейросетью, это во многом похоже на переподогнанный курвфиттинг. Хотя есть и отличия в лучшую сторону от чистого курвфиттинга.
Я несколько лет по деловых обстоятельств профессионально занимался всевозможными нейросетями, не для трейдинга, а для других прикладных и академических задач.
Так вот, те сети которые сейчас есть очень слабы и примитивные для приминения в трейдинге. А те которые будут в будущем, будут работать примерно так же как обычный человек, только слить будут быстрее.
Всем кто занимается этим и/или рекламируют нейросеты для приминения в трейтинге считаю или далекими от понимаия сути или шарлатанамы.
Нейросети работают конечно.
Если вы сможете правильно поставить задачу, спроектировать соответсвующую для решения этой задачи архитектуру сети, подготовить данные для обучения и произвести обучение(если у вашей нейросети предполагается необходимость в оном), то полученная сеть поставленную задачу(выдавать прогноз, или что вы там от нее захотите) решать будет, почему нет?
Согласен, что не стоит преувеличивать способности нейросетей применительно к рынку.
Мой опыт показывает, что результаты с применением нейросетей к нашему рынку получаются или примерно такие же, как без них, или несколько хуже. В результате предпочтение отдаю понятному алгоритму, а не чёрному ящику.
Михаил, я просто любитель, поэтому применяю «обычный» многослойный перцептрон, с некоторыми примочками для ускорения обучения. В результате угадайка на оос выше 50% но не прям чтобы ах ах.
ПBМ, такой подход не работает — лучше использовать более простые методы — градиентный бустинг, например. Нейронные сети — это в первую очередь про архитектуры сетей. Хорошую архитектуру выдумать непросто. Большинство практических задач не решается с помощью архитектур на основе исключительно обычных полносвязных слоев.
Какой-то обобщающий вопрос, это так же, как спросить «Хорошо ли едет машина?». Машины бывают разные. Понятие хорошо у всех разное. Цели поездки у всех разные. Точно такая же ситуация с нейросетями.
Смысл волшебства не в модном слове «нейросеть», а в том, какие входные данные нейросети скормлены, что именно нейросеть предсказывает и с какой именно точностью она это делает.
Только ленивый не пробовал их прикрутить к роботу. Но вот работают ли они эффективно, вот в чём вопрос.
Нейросеть это всего лишь машинный алгоритм. Эффективно он работает или нет зависит от постановки задачи и от качества самой нейросети.
Тут еще надо понимать, что нейросеть не торгует, а всего лишь дает сигналы. Как этими сигналами распорядиться, это совсем другая сложная задача. Так-то можно депо слить даже при точности предсказаний 90%.
Тот же нобелевский лауреат Д. Канеман например утверждал, что в трейдинге нельзя «набраться опыта» настолько, чтобы с точностью утверждать куда пойдёт цена. А зачем ещё могут быть нужны нейросети?
Не так. Канеман утверждал, решения, принимаемые трейдером часто иррациональны и не укладываются к широко принятую экономическую модель поведения. Трейдер склонен переоценивать вероятность события из-за собственного эмоционального фона — и именно поэтому, рынок порой чудовищно неэффективен
По сути оптимизация любого алгоритма есть обучение нейро сети, только оно идёт простым перебором параметров, поэтому думаю, что хорошие нейросети должны работать так же как работают хорошие алгоритмы основанные на статистике и закономерностях.
Андрей Волков, хорошая мысль. Но нейросети и статистика это всё-таки кажется немного разное. Нейросети используют когда нет четких правил, а статистика оптимизируется когда правило есть, просто надо подобрать параметр.
ПBМ, на сомом деле различие не принципиальное. Большинство статистических методов сводятся к максимизации функции правдоподобия. В обычных постановках эта функция от нескольких параметров, так как решается задача для достаточно простых объектов.
Формулировка задачи на классификацию изображения с помощью нейронных сетей тоже задача на максимизацию функции правдоподобия (минимизацию кроссэнтропии) просто функция правдоподобия от нескольких десятков миллионов параметров.
Если объекты из классических статистических задач описываются векторами всего с несколькими измерениями, то в машинном обучении объекты гораздо сложнее - обычное изображение порядка 1000х1000 пикселей описывается вектором 3 млн. мерном пространстве.
Но в основе подход одинаковый.
Михаил, то есть если я правильно понимаю вашу мысль, надо подавать нейросети очень очень много данных чтобы она имела смысл, а если ей подавать сравнительно немного данных как статистической модели, то нейросеть будет просто ненужна, т.к. тоже самое можно перебрать статистически.
пожалуй это тоже хорошая мысль. правда она у меня свернула сильно в другую сторону от того с чего вы начали.
ПBМ, мыслей несколько в связи с сетями:
1. Сети нужны в первую очередь для end-to-end learning — это когда вы не придумываете какие-то свои объясняющие признаки, а пихаете сырые данные в сеть (просто картинку, просто котировки и т.д.), и она сама за вас «придумывает» признаки. Если вы сами занимаетесь feature engineering, то обычно гораздо эффективнее использовать другие методы, например, градиентный бустинг
2. Для такого рода обучения обычно нужно достаточно много обучающих примеров, поэтому если у вас их мало, то городить нейронную сеть смысла нет — используйте бустинг
3. Если у вас есть достаточно даных, то нужна правильная архитектура. Если вы не знаете архитектур под свою задачу и собирается забацать несколько полносвязных слоев в надежде, что все получится, то это тоже имеет мало смысла — бустинг обычно гораздо лучше с этим справляется. Изучайте архитектуры или ограничьтесь более простыми методами машинного обучения.
Михаил, спасибо за советы. а что, реально вот так вот загнать просто поток котировок в сеть и что-то поиметь на выходе? мне эта задача казалась несколько наивной. а у вас логично вытекает что только так и надо.
но это явно не для обучения с учителем, а что-то вроде ограниченной машины больцмана
мысль в голову пришла что такие большие задачи как работа по потоку — это для больших сетей действительно. а для маленьких тупеньких задач когда просто автор недогоняет в конкретную статистику, может быть и простые (но очень жирные и с современным обучением) перцептроны сойдут, те которые по 50 000 семплов прогоняют.
всё равно это больше чем человек, с его сознательной внимательностью на 7 параметров максимум.
ПBМ, в том-то и дело, что это непросто. Примерно так же непросто, как с нуля придумать какой-нибудь InceptionResNet для анализа изображения — c 56 млн. обучающихся параметров на 572 слоях.
Тут другое дело, что выдумывать совсем с нуля не надо. Если вы знаете много архитектурных решений, понимаете зачем они были придуманы, вы наверняка найдете, что-то близкое к вашей предметной области, немного заточите напильником под свои задачи, и получите разумный результат, но это будет сеть, где полносвязные слои будут встречаться не часто, где-то ближе к выходу.
ПBМ, 56 млн. — это не данные, а количество параметров в сети. Учили ее на датасете примерно 1 млн. примеров, насколько я знаю, на многих компах с GPU неделями. Обученная в свободном доступе лежит — обычные люди такое не учат, а используют уже обученное.
Я думаю, те люди, которые пытаются это делать в трейдинге, достаточно примитивно думают в самом трейдинге. То есть не научившись толком торговать руками, начинают перекладывать свои знания в сетку. В общем как сами умеют, так и сеть обучили. А тут надо ширше и масштабней =))
Но это у меня достаточно примитивное мышление об этом, опыта нет, только много читаю.
Андрей К, всё верно.
нейросети это как раз на поиск не самых чётких закономерностей.
ты поди попробуй написать алгоритм который всяких там кошечек на рисунке от собачек отличает. чисто алгоритмически. если то, иначе если. а нейросети могут. и двухлетние дети тоже — с полпинка.
Я считаю ML заниматься просто необходимо.
Сейчас«features engineering» вытесняется на «Architectural engineering»
И в этом есть очень большой потенциал. Все стало легче и доступнее чем 10 лет назад.
Я, когда раньше занимался NN, больше внимания уделял именно Архитектуре. Искал оптимальные архитектуры сетей генетическим алгоритмом. Но, поскольку, раньше технологии были значительно слабее, я это дело забросил.
Но все же тогда я одну сетку настроил и запускал в боевом режиме.
Результат меня не обрадовал. Получил минус за месяц.
Но подбор необходимой архитектуры — это еще не все.
Главное — модель. Построить модель. Потому что Как Оптимизировать сейчас каждый знает и умеет. Вон на Каггле они кучкуются.
В модели главное ЧТО Оптимизировать — а вот здесь «надо хорошенько подумать»
Тредер,
Вы даже не представляете, сколько рекламного мусора удаляют боты ежедневно.
Не собираюсь общаться с первым встречным.
Минимальная оплата — это эффективный антиспам фильтр
Дмитрий Ю., Специальная фондовая операция, об истинных целях которой нам только гадать. Не удивлюсь вообще ничему, ни тому что пойдут дивгеп закрывать, ни тому, что все сольют за следующую неделю
Сейчас неплохо было бы ММВБ на 3640 стрельнуть, чтоб ШОРТИСТЫ капитулировали....
ВОТ ОТ туда можно и опять вниз… как думаете в Январе пойдем туда ??? а то РОССИЯ ЗОВЁТ НА 3640!!!
Я несколько лет по деловых обстоятельств профессионально занимался всевозможными нейросетями, не для трейдинга, а для других прикладных и академических задач.
Так вот, те сети которые сейчас есть очень слабы и примитивные для приминения в трейдинге. А те которые будут в будущем, будут работать примерно так же как обычный человек, только слить будут быстрее.
Всем кто занимается этим и/или рекламируют нейросеты для приминения в трейтинге считаю или далекими от понимаия сути или шарлатанамы.
Если вы сможете правильно поставить задачу, спроектировать соответсвующую для решения этой задачи архитектуру сети, подготовить данные для обучения и произвести обучение(если у вашей нейросети предполагается необходимость в оном), то полученная сеть поставленную задачу(выдавать прогноз, или что вы там от нее захотите) решать будет, почему нет?
мне кажется если применить достаточно много если, то можно сделать всё и без нейросети.
Мой опыт показывает, что результаты с применением нейросетей к нашему рынку получаются или примерно такие же, как без них, или несколько хуже. В результате предпочтение отдаю понятному алгоритму, а не чёрному ящику.
Те сети что сейчас распознают картинки-номера и вот это вот всё, обучены на несравнимо более огромных массивах данных чем есть на рынках
Как пример одна известная архитектура для анализа длинных временных рядов — тут нет ни одного обычного полносвязного слоя.
Какой-то обобщающий вопрос, это так же, как спросить «Хорошо ли едет машина?». Машины бывают разные. Понятие хорошо у всех разное. Цели поездки у всех разные. Точно такая же ситуация с нейросетями.
Смысл волшебства не в модном слове «нейросеть», а в том, какие входные данные нейросети скормлены, что именно нейросеть предсказывает и с какой именно точностью она это делает.
Нейросеть это всего лишь машинный алгоритм. Эффективно он работает или нет зависит от постановки задачи и от качества самой нейросети.
Тут еще надо понимать, что нейросеть не торгует, а всего лишь дает сигналы. Как этими сигналами распорядиться, это совсем другая сложная задача. Так-то можно депо слить даже при точности предсказаний 90%.
Не так. Канеман утверждал, решения, принимаемые трейдером часто иррациональны и не укладываются к широко принятую экономическую модель поведения. Трейдер склонен переоценивать вероятность события из-за собственного эмоционального фона — и именно поэтому, рынок порой чудовищно неэффективен
Формулировка задачи на классификацию изображения с помощью нейронных сетей тоже задача на максимизацию функции правдоподобия (минимизацию кроссэнтропии) просто функция правдоподобия от нескольких десятков миллионов параметров.
Если объекты из классических статистических задач описываются векторами всего с несколькими измерениями, то в машинном обучении объекты гораздо сложнее - обычное изображение порядка 1000х1000 пикселей описывается вектором 3 млн. мерном пространстве.
Но в основе подход одинаковый.
пожалуй это тоже хорошая мысль. правда она у меня свернула сильно в другую сторону от того с чего вы начали.
1. Сети нужны в первую очередь для end-to-end learning — это когда вы не придумываете какие-то свои объясняющие признаки, а пихаете сырые данные в сеть (просто картинку, просто котировки и т.д.), и она сама за вас «придумывает» признаки. Если вы сами занимаетесь feature engineering, то обычно гораздо эффективнее использовать другие методы, например, градиентный бустинг
2. Для такого рода обучения обычно нужно достаточно много обучающих примеров, поэтому если у вас их мало, то городить нейронную сеть смысла нет — используйте бустинг
3. Если у вас есть достаточно даных, то нужна правильная архитектура. Если вы не знаете архитектур под свою задачу и собирается забацать несколько полносвязных слоев в надежде, что все получится, то это тоже имеет мало смысла — бустинг обычно гораздо лучше с этим справляется. Изучайте архитектуры или ограничьтесь более простыми методами машинного обучения.
но это явно не для обучения с учителем, а что-то вроде ограниченной машины больцмана
мысль в голову пришла что такие большие задачи как работа по потоку — это для больших сетей действительно. а для маленьких тупеньких задач когда просто автор недогоняет в конкретную статистику, может быть и простые (но очень жирные и с современным обучением) перцептроны сойдут, те которые по 50 000 семплов прогоняют.
всё равно это больше чем человек, с его сознательной внимательностью на 7 параметров максимум.
Тут другое дело, что выдумывать совсем с нуля не надо. Если вы знаете много архитектурных решений, понимаете зачем они были придуманы, вы наверняка найдете, что-то близкое к вашей предметной области, немного заточите напильником под свои задачи, и получите разумный результат, но это будет сеть, где полносвязные слои будут встречаться не часто, где-то ближе к выходу.
и я даже не представляю, сколько это дней и на какой железке надо учить
Но это у меня достаточно примитивное мышление об этом, опыта нет, только много читаю.
нейросети это как раз на поиск не самых чётких закономерностей.
ты поди попробуй написать алгоритм который всяких там кошечек на рисунке от собачек отличает. чисто алгоритмически. если то, иначе если. а нейросети могут. и двухлетние дети тоже — с полпинка.
Сейчас«features engineering» вытесняется на «Architectural engineering»
И в этом есть очень большой потенциал. Все стало легче и доступнее чем 10 лет назад.
Я, когда раньше занимался NN, больше внимания уделял именно Архитектуре. Искал оптимальные архитектуры сетей генетическим алгоритмом. Но, поскольку, раньше технологии были значительно слабее, я это дело забросил.
Но все же тогда я одну сетку настроил и запускал в боевом режиме.
Результат меня не обрадовал. Получил минус за месяц.
Но подбор необходимой архитектуры — это еще не все.
Главное — модель. Построить модель. Потому что Как Оптимизировать сейчас каждый знает и умеет. Вон на Каггле они кучкуются.
В модели главное ЧТО Оптимизировать — а вот здесь «надо хорошенько подумать»