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

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

Страница 1 из 4
Автор#1

Rtraderd1ffe22190c5c277.png

 


Больше года назад я решил, что было бы неплохо стать квантом. При этом для этого нужно иметь немало довольно разностороннего опыта. Поэтому какое-то время я проработал программистом, а теперь вот работаю Data sciencetist ом. Основные инструменты там - Python и R.
Довольно давно уже я делал курс ExcelTrader. Это классная программа, особенно когда нужно быстренько построить модель торговой системы и потыкать в нее карандашиком. Или разово произвести какие-то вычисления. Но все же, без углубления в vba, эксель статичный, хоть и полезный инструмент.
Как я уже говорил, я сейчас плотно сижу на R и этот язык очень прикольный. В нем простой синтаксис и куча различных пакетов под любые задачи. Например, можно легко написать торговую систему, протестировать и оптимизировать ее в считанные секунды, вывести всю статистику в виде графиков и табличек и все это буквально в 30-40 строк кода. Нейронную сеть можно вообще в 5 строк уместить. И все это вполне несложно можно связать с родным мт4.
Я планирую поделиться полученными знаниями и записать курс по языку R, аналогичный курсу про excel. Вот небольшая очень схематичная краткая программка, чего можно будет ждать от курса.
1. Уровень: новичок
Основы языка, работа с переменными и данными, с таблицами данных.
Основные манипуляции с данными, полезные функции
Работа с графиками, вывод различной информации в графическом виде
Статистическая информация по данным и ее расчет, различные виды статистического анализа
Создание собственных функций и библиотек
Загрузка и сохранение данных. Загрузка из файлов, из сети.
2. Уровень: бывалый
Построение простой торговой системы и ее тестирование, вывод результатов в виде графиков и таблиц
Применение индикаторов
Оптимизация торговой системы
Связка с платформами MetaTrader 4 и MetaTrader 5 и использование скриптов R в коде советников и индикаторов MetaTrader
3. Уровень: продвинутый
Работа с семантикой, с текстом
Парсинг новостей и прочих данных из сети, их анализ и использование для торговли
Написание торговой системы, анализирующей настроения в сети для «торговли против толпы»
Написание стратегий для работы с корзинами валют. Корреляции валютных пар.
Анализ влияния новостей
4. Уровень: бог
Нейронные сети
Применение нейронных сетей для торговли
Различные алгоритмы оптимизации параметров советника
Стресс тесты советников
Монте-карло, walk-forward и прочие тесты
Кроме того, в процессе мы изучим несколько различных пакетов для R (это аналог библиотеки для mql). Мы познакомимся с:
ggplot2 – пакет для построения графиков
coda - вывод результатов симуляций Монте Карло
quantmod для скачивания котировок и построения графиков
rusquant для получения данных с сайта Finam
quantstrat для тестирования торговых стратегий
и некоторые другие.
На выходе у нас получится несколько рабочих скриптов для расширенного анализа работы советников, пара советников, а также знания о том, как:
- написать, протестировать и оптимизировать простую торговую стратегию без многочасовых и многодневных ожиданий завершения оптимизации;
- написать продвинутую торговую стратегию, которая анализирует различные данные в интернете;
- написать продвинутую торговую стратегию, которая использует для вычислений нейронные сети;
- применить к данным торговых результатов стратегий различные методы статистического анализа (в том числе банальное определение торгует ли в данный момент система так, как торговала на периоде теста)
- применить возможности использования R в ваших советниках и индикаторах на mql (в том числе нейронные сети и прочие «продвинутые» вычисления)

 

 


Добавлено: 28-08-2018 06:02:43

 



Часть 1
Урок 1.1. Знакомство с R
Домашнее задание
Урок 1.2. Арифметические и логические операции
Домашнее задание

Изменено 31 июля, 2025 пользователем alllexxx

Автор#3
Урок 1.4 Создание векторов
Домашнее задание

Добавлено: 02-09-2018 06:24:15

Урок 1.5 Операции с векторами
Домашнее задание

Добавлено: 02-09-2018 14:51:18

Урок 1.6 Индексация векторов
Домашнее задание

Изменено 2 сентября, 2018 пользователем Silentspec

Автор#5
Урок 1.8 Создание списков
Урок 1.9 Представление даты и времени
Урок 1.10 Вычисления с датой и временем
Урок 1.11 Временные ряды
Урок 1.12 Функции типа apply

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

Автор#6
Урок 1.13 Таблицы
Урок 1.14 Работа с таблицами
Урок 1.15 Импорт данных из файлов в R
Урок 1.16 Базовые графики и функция plot
Урок 1.17 Настройка графиков
Урок 1.18 Гистограммы

Изменено 23 сентября, 2018 пользователем Silentspec

#7

конечно же очень интересны примеры с температурой популяции бобров :)


...Попробую прибавить интереса к теме. Язык программирования R для анализа данных в общем и прогнозирования временных рядов в нашем Чего не понял и не услышал. Кроме сравнения простоты кода, хотелось бы понимать быстродействие по сравнению с компилируемыми языками, например. Не услышал упоминания о "конкурентах" R- того же матлаб или julia...
А после поиска в бескрайних просторах сети так и не пришло понимание возможно ли оболочку языка подружить с терминалом или это будет отдельный инструмент - Гораздокручечемэксель... Собственно- этот вопрос и хотел задать.
А во вложении маленькое пособие по прогнозированию временных рядов (на английском).

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

Forecasting_theory_and_practice.pdf42 скач.

#9

Дмитрий, спасибо за всё, что ты делаешь.
Давно хотел изучить R, но дальше того, чтобы скачать установочный файл, дело так и не дошло. :d Сейчас начал изучать по твоим урокам.
В некоторых уроках (6 и 11, например) оговариваешься, говоря в начале уроков "ExcelTrader" вместо "RTrader". :d


Добавлено: 24-09-2018 18:46:05

В Урок 1.11 пытаюсь повторить действия по сканированию инфы с сайта. Получаю ошибку:
> birth Error in file(file, "r") : cannot open the connection
In addition: Warning message:
In file(file, "r") :
InternetOpenUrl failed: 'Ошибка поддержки безопасных каналов'

Изменено 24 сентября, 2018 пользователем Vladero

Автор#10
Цитата

В некоторых уроках (6 и 11, например) оговариваешься, говоря в начале уроков "ExcelTrader" вместо "RTrader".


Блин) придется поправлять)
Цитата

Error in file(file, "r") : cannot open the connection
In addition: Warning message:
In file(file, "r") :
InternetOpenUrl failed: 'Ошибка поддержки безопасных каналов'


Вполне возможно, что ошибка из-за того, что брэндмауэр мешает. Либо, возможно, поможет запуск IDE в режиме администратора.

Добавлено: 27-09-2018 06:22:48

Урок 1.21 Условия и циклы
Автор#12
Урок 1.25 Пакет quantstrat
Урок 1.26 Пакет PerformanceAnalytics
Урок 1.27 Пересечение скользящих средних

Первая часть, посвященная основам языка, на этом закончена.


Добавлено: 30-10-2018 06:17:14

:-b


конечно же очень интересны примеры с температурой популяции бобров :)


...Попробую прибавить интереса к теме. Язык программирования R для анализа данных в общем и прогнозирования временных рядов в нашем Чего не понял и не услышал. Кроме сравнения простоты кода, хотелось бы понимать быстродействие по сравнению с компилируемыми языками, например. Не услышал упоминания о "конкурентах" R- того же матлаб или julia...
А после поиска в бескрайних просторах сети так и не пришло понимание возможно ли оболочку языка подружить с терминалом или это будет отдельный инструмент - Гораздокручечемэксель... Собственно- этот вопрос и хотел задать.
А во вложении маленькое пособие по прогнозированию временных рядов (на английском).

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


Джулия - тоже довольно замороченный язык. Матлаб по идее платный, хоть и можно пиратку скачать. Но все трейдерские примочки бесплатно не найти и стоят они огого.
По быстродействию. Многое в R упирается в использование специализированных функций для конкретных операций. Например, перебор всего массива займет времени примерно столько же, сколько и на си шарпе, даже побольше процентов на 20-30. Но при использовании оптимизированной функции из какого-нибудь пакета временные затраты сокращаются раз этак в 10-20. Кроме того, можно для ресурсоемких функций управлять потоками. Например, подключить к вычислениям все ядра процессора, которые в параллельном режиме будут лопатить большой объем данных.
По R + mql... Я сделаю отдельный урок, где решу задачу "дружбы и взаимопонимания" этих двух замечательных инструментов, правда, нужно будет написать dll-ку и подключить ее к скрипту mql (все это мы вместе сделаем).
По нейронкам - это ооочень объемная тема, я пранирую дать базовые знания с простыми примерами. Иначе все это растянется до немыслимых размеров. Может быть, если будет время, я запишу что-нибудь подробное, но как дополнительные уроки к курсу уже после записи основной части (но это не точно).

Добавлено: 30-10-2018 06:20:34

Часть 2, посвященная непосредственно созданию стратегий от и до. Тут мы обсудим все нюансы построения ТС на языке R, познакомимся поближе с кучей специализированных пакетов, научимся собирать ТС как из кирпичиков лего и выводить кучу красочной статистики по торговле. Без изучения первой части курса лезть сюда бесполезно, потому что я не буду заострять внимание на основах языка.
Урок 2.1 Создаем простую стратегию

Изменено 6 ноября, 2018 пользователем Silentspec

#13

Silentspec, спасибо за уроки!

Урок 1.26 Пакет PerformanceAnalytics
Урок 1.27 Пересечение скользящих средних


Прошу, посмотрите: линки ведут на один и тот же урок.
Автор#14


Silentspec, спасибо за уроки!

Урок 1.26 Пакет PerformanceAnalytics
Урок 1.27 Пересечение скользящих средних


Прошу, посмотрите: линки ведут на один и тот же урок.

Спасибо, поправил
Урок 2.2 Качество данных
Урок 2.3 Информация о торговле
Урок 2.4 Оптимизация

Добавлено: 07-11-2018 06:20:54

Урок 2.5 Прикрутим Stop-Loss
Урок 2.6 Оптимизация стоп-лосса

Изменено 7 ноября, 2018 пользователем Silentspec

#15

То есть с помощью всех компонентов языка теоретически можно оставить терминалу лишь функции связи с ДЦ, а все остальное (вплоть до вменяемой оптимизации - по мотивам статьи в блоге b-)) можно делать в R??
Всегда с уважением!

Автор#16


То есть с помощью всех компонентов языка теоретически можно оставить терминалу лишь функции связи с ДЦ, а все остальное (вплоть до вменяемой оптимизации - по мотивам статьи в блоге b-)) можно делать в R??
Всегда с уважением!


В принципе, можно, да.
#18

Курс заброшен? Давненько не было обновлений

Автор#19


Курс заброшен? Давненько не было обновлений


Нет, просто взят небольшой таймаут. В новом году выйдут новые части курса.
#20

Спасибо  за замечательный курс. Остались ли скрипты по урокам, особенно по второй части?

#21

 

Привет, коллеги !

 

С не давних пор я для себя занимаюсь разработкой нейросетевых решений в сфере торговли. С недавних и самостоятельно.  

Т.е. по уровню я не особо продвинутый, скорее чайник. Но могу сказать, «нейроподход» к решению задач в разных сферах – это действительно перспективный метод.

Да вы сами всё видите, как нейросети меняют наш мир.

 

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

направлении. Хотелось бы найти тут единомышленников.

 

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

кто интересовался на базовом уровне математикой и программированием.

 

На текущий момент у меня пару проектов , которые требует «допиливания» . Они простог уровня.  Можно начать с какого то из них.

 

Уже конкретный вопрос к модераторам.

Какой раздел (темы ) нужен :  Программное обеспечение для НС. Я работаю на одном приложении, но может коллеги найдут еще что-то продуктивное. Там надо обсуждать их работу – бывают ошибки, косяки и т.п. вещи .  Куда поместить такой раздел.

Куда-то кинуть пару статей по теории или просто по идеям .

 

Что скажете?

 

Изменено 17 января, 2021 пользователем Pavel888

#22

На чем пишете сети? MQL или сторонние языки?

#23
13 часов назад, usver73 сказал:

На чем пишете сети? MQL или сторонние языки?

Сеть делается в софте NeuroSolutions 6 или 5. 

Он дает возможность сохранить dll с сетью. 

Далее dll в MT4.  

MT5 не поддерживает их dll. Может я не разобрался, было бы здорово закинуть в MT5.

Также NeuroSolutions создает исходный код сети в С++ .

Но это для меня совсем дебри. 

 

 

 

 

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

#24

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

Отличный пример - Top Master на маркете.

Прекрасно тестится, но нихрена не работает.

Тем не менее, я бы пообщался на заданную тему. 

Делитесь, что у вас есть, я с удовольствием помогу, может получиться интересно.

#25

Итак, поехали. 
Начну тут накидывать  информацию, а дальше видно будет. 

 

Вводные  статьи по сетям доступным языком. 
А то бывают напишут, не разберёшь :
Часть 1
https://habr.com/ru/post/312450/
Часть 2
https://habr.com/ru/post/313216/
Еще простыми словами
https://habr.com/ru/post/369349/


NeuroSolutions
Статья по подключению. 

https://www.mql5.com/ru/articles/236

 

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

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

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

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