Создание торгового робота “Smile Intelligence”
Команда «Smile ;) » Илья Ямщиков Иван Афанасьев
Хаспулатова Юлия Ибрагимов Рустам
* Материалы подготовлены специально для Changellenge Cup Technical 2013 Championship и являются собственностью команды “ Smile ;) “
1
Команда “Smile ;)” Афанасьев Иван 1 курс магистратуры МФТИ afanasiev@casyclub.ru
2 место Changellenge Cup Technical 2012 3 место Changellenge Cup Moscow 2012
8 (916) 270 51 60
Призеры кейс-чемпионатов
Полуфиналист многих кейс-чемпионатов Changellenge
Хаспулатова Юлия 1 курс магистратуры МФТИ 2 место Changellenge Cup Technical 2012
24julia@gmail.com
Полуфиналистка MedxChallenge 2013
8 (963) 924 24 08
Студенты МФТИ
Полуфиналистка Microsoft Case Competition 2012
Ямщиков Илья 1 курс магистратуры МФТИ ilya.yamschikov@gmail.com
Финалист Changellenge Cup Russia 2012 Полуфиналист MedxChallenge 2013
8 (917) 569 23 51
Полуфиналист Microsoft Case Competition 2012
Ибрагимов Рустам 1 курс магистратуры МФТИ rustik0612@gmail.com
Дружная команда
8 (926) 313 12 54
Полуфиналист Changellenge Cup Technical 2012 Полуфиналист MedxChallenge 2013 Microsoft Case Competition 2012 HQ 15
2
Структура презентации
Executive summary
Анализ возможностей
“Smile intelligence”
Результаты
3
Структура презентации
Executive summary
Анализ возможностей
“Smile intelligence”
Результаты
4
Executive summary
Постановка задачи и цели
Разработать алгоритм для проведения торговых сделок на двух биржах
Создать работающий прототип робота, для проведения торгов на двух биржах
5
Executive summary Мы предоставляем вам вариант робота “Smile Intelligence”, в основу которого легло использование искусственного интеллекта Постановка задачи и цели
Разработать алгоритм для проведения торговых сделок на двух биржах
Создать работающий прототип робота, для проведения торгов на двух биржах
Структура робота “Smile intelligence”
Данные о валютах с бирж
Обученные нейронные сети
Результаты торгов 6
Структура презентации
Executive summary Анализ возможностей
Выбор индикаторов • Выбор искусственного интеллекта
“Smile intelligence”
Результаты 7
Выбор индикаторов Индикаторы выбирались в соответствии с индексом популярности их использования у трейдеров и простоты реализации
Конверт скользящих средних
Индикатор ROC
Индикатор Zig-Zag
Наиболее популярный индикатор для определения границ текущего движения цен
Эффективное отслеживание темпов роста/ падения цен
Эффективное отсеивание краткосрочных ценовых шумов
8
Структура презентации
Executive summary Анализ возможностей
• Выбор индикаторов • Выбор искусственного интеллекта
“Smile intelligence”
Результаты 9
Выбор искусственного интеллекта Нейронные сети являются одним из самых эффективных методов искусственного интеллекта для прогнозирования временных рядов Коэффициент эффективности
Рассмотренные методы
0,14
1. 0,12
Байесовская сеть
2-3.Наивный байесовсий классификатор
0,1
4.
Логистическая регрессия
5.
Нейронная сеть
6.
Метод опорных векторов
7.
Решающие деревья
8.
Метод k ближайших соседей
9.
Бэггинг
0,08
0,06
0,04
0,02
0 1
2
3
4
5
6
7
8
9
График эффективности различных методов искусственного интеллекта 10
Выбор искусственного интеллекта Нейронные сети являются одним из самых эффективных методов искусственного интеллекта для прогнозирования временных рядов Коэффициент эффективности
Рассмотренные методы
0,14
1. 0,12
Байесовская сеть
2-3.Наивный байесовсий классификатор
0,1
4.
Логистическая регрессия
5.
Нейронная сеть
6.
Метод опорных векторов
7.
Решающие деревья
8.
Метод k ближайших соседей
9.
Бэггинг
0,08
0,06
0,04
0,02
0 1
2
3
4
5
6
7
8
9
График эффективности различных методов искусственного интеллекта 11
Структура презентации
Executive summary
Анализ возможностей
“Smile intelligence”
• Нейронные сети
Введение в нейронные сети Процесс обучения нейросети
• Структура робота
Результаты 12
Введение в нейронные сети Нейронная сеть – имитация структуры и свойств нервной системы живых организмов Входные данные
Преобразование сигнала первым слоем
…
xj …
𝜎1
Σ
x1
ω1h
ωjh
xn Σ
𝑝1𝑚
𝜎ℎ
𝜎1
Σ
…
Σ
ωnh
Преобразование сигнала вторым слоем
𝑝ℎ𝑚
𝑝𝑘𝑚
…
𝜎𝑘
Σ
z1 …
…
𝜎𝑚
Σ
Выходные данные
zm …
…
𝜎𝑔
xn - набор признаков
- нейрон
𝜎𝑘
zg - ответы нейросети
- синапс
(ωjh ; 𝑝ℎ𝑚 ) - веса сети
zg
- функция активации 13
Процесс обучения нейронной сети Поэтапное обучение нейронной сети производится методом обратного распространения ошибки
Обучающая выборка
Выбор признаков 14
Процесс обучения нейронной сети Поэтапное обучение нейронной сети производится методом обратного распространения ошибки
Обучающая выборка
Выбор признаков
Выбор конкретного примера
Обучение 15
Процесс обучения нейронной сети Поэтапное обучение нейронной сети производится методом обратного распространения ошибки
Применение нейросети к данному примеру
Обучающая выборка
Выбор признаков
Выбор конкретного примера
Обучение 16
Процесс обучения нейронной сети Поэтапное обучение нейронной сети производится методом обратного распространения ошибки
Применение нейросети к данному примеру
Обучающая выборка
Выбор признаков
Выбор конкретного примера
Обсчет ошибки путем сравнения с эталоном
Обучение 17
Процесс обучения нейронной сети Поэтапное обучение нейронной сети производится методом обратного распространения ошибки
Применение нейросети к данному примеру
Обучающая выборка
Выбор конкретного примера
Обсчет ошибки путем сравнения с эталоном
1 Настройка весов синапсов
Выбор признаков
1
Если ошибка больше нормы
Обучение 18
Процесс обучения нейронной сети Поэтапное обучение нейронной сети производится методом обратного распространения ошибки
Применение нейросети к данному примеру
Обучающая выборка
Выбор конкретного примера
Обсчет ошибки путем сравнения с эталоном
1 Настройка весов синапсов
Выбор признаков
Обучение
2
Настройка нейросети на обучающей выборке окончена 1
Если ошибка больше нормы
2
Если ошибка меньше нормы 19
Скользящий контроль Метод скользящего контроля позволяет избежать переобучения, эффективно настроить алгоритм и контролировать его качество Обучающая подвыборка
Контрольная подвыборка История на бирже
Оценка скользящего контроля несмещенная! 20
Структура презентации
Executive summary
Анализ возможностей
“Smile intelligence”
• Нейронные сети • Структура робота
Без рисковый модуль Рисковый модуль
Результаты 21
Структура робота “Smile intelligence” Робот состоит из двух блоков: без рисковый и рисковый. Также два модуля робота используют нейросети
“Smile intelligence”
Модуль стратегии пространственного арбитража Без рисковые стратегии
1
Нейронная сеть
1 Модуль реализации скользящего среднего 2
Рисковые стратегии
Модуль прогнозирования цены 3
Нейронная сеть 22
Структура робота “Smile intelligence” Без рисковый блок включает в себя модуль пространственного арбитража, реализуемого с помощью нейронной сети
“Smile intelligence”
Модуль стратегии пространственного арбитража Без рисковые стратегии
1
Нейронная сеть
1 Модуль реализации скользящего среднего 2
Рисковые стратегии
Модуль прогнозирования цены 3
Нейронная сеть 23
Без рисковые стратегии Нейронная сеть для без рисковых стратегий принимает решение об использовании пространственного арбитража Предыдущая история Скользящее средее по разностям
Объемы заявок
Текущая история
Текущая мзаявка
Обученная нейросеть
Совершение сделки
Баланс м на бирже
Входящие признаки для нейронной сети 24
Структура робота “Smile intelligence” Блок рисковых стратегий состоит из двух модулей: модуль прогнозирования цены и модуль реализации скользящего среднего
“Smile intelligence”
Модуль стратегии пространственного арбитража Без рисковые стратегии
1
Нейронная сеть
Модуль реализации скользящего среднего 2
Рисковые стратегии
Модуль прогнозирования цены 3
Нейронная сеть 25
Рисковые стратегии Модуль скользящего среднего принимает решение о купле/продажи за счет взаимного положения текущей цены и создаваемого коридора
1
2
Использование средней скользящей
Покупать
Текущая цена ниже коридора
Текущая цена выше коридора 1
Продавать
2 26
Рисковые стратегии Модуль нейронной сети прогнозирует значение цены на следующий шаг и принимает решение о покупке/продаже
1 2
3 Stop loss
Прогнозирование цены
Покупка/продажа валюты в зависимости от прогноза
Прогнозирование цены 1
2
Установка границ для дальнейших действий 3 27
Рисковые стратегии На вход подаются индикаторы: ROC, скользящее среднее
Индикатор Zig-zag •
Для более точного определения необходимо убрать на тренде шум. Индикатор Zig-zag выполняет эту задачу
Индикатор Rate of change (ROC) •
Индикатор Rate of change показывает тенденцию изменения цены и будет являться хорошим признаком для прогноза цены 28
Рисковые стратегии Алгоритм нейронной сети Входящие признаки для нейронной сети
ROC на истории, полученной модулем Zig-zag
Время подачи заявок
Котировки заявок
Обученная нейросеть
Предсказание цены
Совершение сделки
Баланс м на бирже
29
Алгоритм работы “Smile intelligence” “Smile intelligence” торгует с помощью взвешенного взаимодействия с модулями робота Модуль арбитража Обученная нейросеть
Выделение признаков
Совершение сделки
Модуль скользящего среднего
Данные с биржи
Построение коридора средних
Анализ выхода за границы коридоров
Совершение сделки
Результаты торгов
Модуль предсказания цены Выделение признаков
Обученная нейросеть
Предсказание цены
Совершение сделки 30
Алгоритм работы “Smile intelligence” Использование всех трех модулей вместе дает синергический эффект, по сравнению с отдельным использованием каждого модуля
2,914 2,689
408
Арбитраж
Арбитраж + Конверт скользящих средних
"Smile intelligence"
Структура прибыли отдельных модулей робота “Smile intelligence” 31
Структура презентации
Executive summary
Анализ возможностей
“Smile intelligence”
Результаты
32
Результаты Мы представили вам вариант робота “Smile Intelligence”, в основу которого легло использование искусственного интеллекта
Структура робота “Smile intelligence”
Данные о валютах с бирж
Обученные нейронные сети
Результаты торгов
Полученный результат *** YYY
33