Cup Technical
Арамаис Малхасян • Владислав Немиро • Леонид Сергеев • Сергей Сочнев
Биржевой робот «Румба»
Безрисковая арбитражный робот слишком пассивен
Ключевой показатель: Koef = Price1/Price2 Валюта XXX – доллары. Валюта YYY – рубли. Задача – максимизировать прибыль в рублях. Price1 – цена доллара на первой бирже Price2 – цена доллара на второй бирже
• • • • •
Базовая стратегия: Торговля вне «коридора» Границы коридора – границы безубыточности сделки, определяются комиссией Сверху – покупка доллара на первой бирже Ниже коридора – продажа доллара на первой бирже Нет рисков
Недостатки самого простого, безрискового арбитража: • Быстрый переход всей валюты с одной биржи на другую и дальнейший простой робота • Валюта иногда сливается за копейки вблизи «коридора». Потом разница цен на разных биржах становится колоссальной, но валюты уже нет
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
Безрисковый арбитраж схож с переливанием воды из бокала в бокал
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
За каждую операцию получаем прибыль
Биржа 1
Биржа 2
Вода в чашах не бесконечна, необходимо чередовать операции покупки и продажи доллара на разных биржах
Проблема особенно актуальна в данной нам выборке
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
Базовый алгоритм 1,015 1,01 1,005 1 0,995 0,99 0,985 0,98 0,975 1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121 129 137 145 153
0,97
В случае данной нам экспериментальной выборки: График очень часто «зависает» по одну сторону от оси koef = 1. Как вести себя вот на таком куске? Имеет смысл сдвинуть нижнюю границу вниз, чтобы сразу все не продавать. Задерживаемся внизу долго, поэтому все равно все продадим. Верхнюю тоже сдвигаем немного ниже: т.к. сверху бываем редко, лучше закупимся в маленький минус, зато потом много и втридорого продадим внизу.
ВВЕДЕНИЕ \\
ИДЕЯ
Базовый алгоритм
ИТОГ
Первое улучшение
1,015
1,015
1,01
1,01
1,005
1,005
1
1
0,995
0,995
0,99
0,99
0,985
0,985
0,98
0,98
0,975
0,975
0,97
0,97 1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121 129 137 145 153
РЕАЛИЗАЦИЯ
1 9 17 25 33 41 49 57 65 73 81 89 97 105 113 121 129 137 145 153
Проблема особенно актуальна в данной нам выборке
В случае данной нам экспериментальной выборки: График очень часто «зависает» по одну сторону от оси koef = 1. Как вести себя вот на таком куске? Имеет смысл сдвинуть нижнюю границу вниз, чтобы сразу все не продавать. Задерживаемся внизу долго, поэтому все равно все продадим. Верхнюю тоже сдвигаем немного ниже: т.к. сверху бываем редко, лучше закупимся в маленький минус, зато потом много и втридорого продадим внизу.
Объем сделок сверху и снизу должен быть примерно равным
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
Раньше мы получали сиюминутную прибыль от каждой сделки. Теперь прибыль зависит разницы курсов пар сделок купли-продажи.
$1
Koef = 1
$1
d $1 $1
d – разница коэффициентов сверху и снизу Прибыль = $2*(d-комиссия)*(курс доллара)
Объем сделок сверху и снизу должен быть примерно равным
ВВЕДЕНИЕ \\
ИДЕЯ
ИТОГ
РЕАЛИЗАЦИЯ
Раньше мы получали сиюминутную прибыль от каждой сделки. Теперь прибыль зависит разницы курсов пар сделок купли-продажи.
$1
Koef = 1
$1
$1
$1
Koef = 1
$1 $1 $1
d
d $1
$1 $1
d – разница коэффициентов сверху и снизу Прибыль = $2*(d-комиссия)*(курс доллара)
d – разница коэффициентов сверху и снизу Прибыль = $1*(d-комиссия)*(курс доллара) $4*(1+комиссия-коэффициент сверху)*(курс доллара)
Во второй ситуации отрицательный член будет, как правило, достаточно большим, что сильно уменьшит прибыль. Так что наша задача – расставлять планки таким образом, чтобы объем сделок сверху и снизу был примерно равным.
Интеллектуальный блок, динамически перемещающий границы.
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
V D
E1
E2
Интеллектуальный блок, динамически перемещающий границы.
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
V D
E1
E2 Примеры: Рынок стабилен. Выставляем планки.
Рынок нестабилен. Переходим в безрисковый режим (т.е. планки на 1+комиссия и 1комиссия)
Пример работы робота
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
Масштаб: 200 тиков
Для отладки алгоритма мы реализовали схему визуализации её работы – красными точками обозначены совершенные сделки – выше полосы обозначены операции покупки, ниже полосы обозначены операции продажи. Как понять, что такое положение коридора дает нам прибыль? Из этого графика видно, объем сделок сверху и снизу примерно равен, что и говорит о том, что наша стратегия на данном интервале работает в плюс.
Пошаговый пример
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
1,11
1,06
1,01
0,96
0,91
Рынок нестабилен, робот придерживается безрисковой стратегии
Рынок стабилизировался, но тренда еще нет; курс гуляет вверх-вниз
Рынок стабилен, робот убеждает ся в этом
Стабильность подтвердилась, робот вступает в игру
Пошаговый пример
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
1,11
1,06
1,01
0,96
0,91
Рынок нестабилен, робот придерживается безрисковой стратегии
Рынок стабилизировался, но тренда еще нет; курс гуляет вверх-вниз
Рынок стабилен, робот убеждает ся в этом
Стабильность подтвердилась, робот вступает в игру
Пошаговый пример
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
1,11
1,06
1,01
0,96
0,91
Рынок нестабилен, робот придерживается безрисковой стратегии
Рынок стабилизировался, но тренда еще нет; курс гуляет вверх-вниз
Рынок стабилен, робот убеждается в этом
Стабильность подтвердилась, робот вступает в игру
Пошаговый пример
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
1,11
1,06
1,01
0,96
0,91
Рынок нестабилен, робот придерживается безрисковой стратегии
Рынок стабилизировался, но тренда еще нет; курс гуляет вверх-вниз
Рынок стабилен, робот убеждается в этом
Стабильность подтвердилась, робот вступает в игру
Поведение в стрессовых ситуациях на примере робота, управляющего автомобилем
Рутинная работа 99% времени – 10% успеха • • • • •
Маневрирование Соблюдение ПДД Прокладывание маршрута Парковка Анализ неисправностей
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
Поведение в стрессовых ситуациях на примере робота, управляющего автомобилем
Рутинная работа 99% времени – 10% успеха • • • • •
Маневрирование Соблюдение ПДД Прокладывание маршрута Парковка Анализ неисправностей
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
Экстренные ситуации 1% времени – 90% успеха • Человек выскакивает на дорогу перед машиной в неположенном месте • Встречный автомобиль выскакивает на нашу полосу • Неожиданный занос
Неумение вести себя в исключительных, стрессовых ситуациях приводит к краху любого робота!
Защита от стрессовых ситуаций на рынке. В нашем случае – непредвиденные, резкие скачки
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
500 тиков
Предложение за последние 5 тиков Всплеск
Ограничиваем суммарный объем сделок, поскольку повышается вероятность резкого скачка коэффициента
Защита от стрессовых ситуаций на рынке. В нашем случае – непредвиденные, резкие скачки
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
500 тиков
E1
E2
Средние значения коэффициента на двух участках Приблизительно равны
Выставляем планки
Сильно отличаются (на 2%)
Переходим в безрисковый режим
Предложение за последние 5 тиков Всплеск
Ограничиваем суммарный объем сделок, поскольку повышается вероятность резкого скачка коэффициента
Безрисковый арбитраж схож с переливанием воды из бокала в бокал
На практике, на какой-то бирже может находиться сразу несколько чаш. Например, на первой бирже $200, на второй – 400 рублей, а курс доллара – 4 рубля. $100 простаивают.
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
На практике, чаще всего на какой-то из бирж больше одного бокала
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
График изменения курса доллара за 30 тысяч тиков
На практике, на какой-то бирже может находиться сразу несколько чаш. Например, на первой бирже $200, на второй – 400 рублей, а курс доллара – 4 рубля. $100 простаивают.
5 тыс
10 тыс
8 тыс
На очень длинных кусках торгов сохраняется стабильная тенденция роста или падения курса доллара
На практике, чаще всего на какой-то из бирж больше одного бокала
ВВЕДЕНИЕ \\
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
График изменения курса доллара за 30 тысяч тиков
На практике, на какой-то бирже может находиться сразу несколько чаш. Например, на первой бирже $200, на второй – 400 рублей, а курс доллара – 4 рубля. $100 простаивают.
5 тыс
10 тыс
8 тыс
На очень длинных кусках торгов сохраняется стабильная тенденция роста или падения курса доллара
Тенденция роста курса доллара
Тенденция уменьшения курса доллара
Выгодно во всех операциях задействовать на второй бирже больший объем долларов, чем на первой
Выгодно во всех операциях задействовать на первой бирже больший объем долларов, чем на второй
Итог
ВВЕДЕНИЕ \\
Робот “Румба”
• Игра на арбитраже • Динамическое передвижение границ торговли • Игра на тенденции изменения курса доллара
• Защита от неожиданных перепадов курсов • Своевременный выход из игры
ИДЕЯ
РЕАЛИЗАЦИЯ
ИТОГ
КОМАНДА
Арамаис Малхасян МГУ им. Ломоносова 4 курс Стаж работы: 1 месяц Победитель Microsoft Case Competition 3 место MedXChallenge Участник Stanford US Russia forum
Владислав Немиро
Леонид Сергеев
МГУ им. Ломоносова 4 курс Стаж работы: 1 год Серебряный призер International Mathematics Competition for University Students 2012
СПБГУ Стаж работы: 6 месяцев ООО "РумСервис", региональный директор 3 место MedXChallenge
Сергей Сочнев МГУ им. Ломоносова 4 курс Победитель Microsoft Case Competition 2012 3 место MedXChallenge
Приложения
Обход широких холмиков
ПРИЛОЖЕНИЕ 1
1 0,995 0,99 0,985 0,98 0,975 0,97 0,965 0,96
Алгоритм умеренно чувствителен к длинным холмикам
Масштаб: 200 тиков
Защита от краткосрочных провалов
\\
ПРИЛОЖЕНИЕ 2
1,01
0,99
0,97
0,95
0,93
Масштаб: 150 тиков
0,91
Алгоритм нечувствителен к краткосрочным провалам
Игра не тенденциях курсов валют
ПРИЛОЖЕНИЕ 3
\\
Тенденция уменьшения курса доллара
День 1, на счету: курс $ День 2, на счету: курс $ Итог:
День 1, на счету: курс $
День 2, на счету: курс $ Итог:
Биржа 1 $200 5 Продаемя $20 $180, 100 рублей 3 Покупаем $20 $200, 40 рублей
Биржа 2 400 рублей 4 Покупаем $10 $10, 360 рублей 4 Продаем $10 400 рублей
Биржа 1 $200 5 Продаем $10 $190, 50 рублей 3 Покупаем $10 $200, 20 рублей
Биржа 2 400 рублей 4 Покупаем $20 $20, 320 рублей 4 Продаем $10 400 рублей
Верхняя схема выгоднее: при тенденции спада доллара лучше проводить больший объем опреаций на первой бирже
Тенденция роста курса доллара
День 1, на счету: курс $ День 2, на счету: курс $ Итог:
Биржа 1 Биржа 2 $200 400 рублей 5 4 Продаем $20 Покупаем $10 $180, 100 рублей $10, 360 рублей 6 7 Покупаем $20 Продаем $10 $200, -20 рублей 430 рублей
Биржа 1 День 1, на счету: $200 курс $ 5 Продаемя $10 День 2, на счету: $190, 50 рублей курс $ 6 Покупаем $10 Итог: $200, -10 рублей
Биржа 2 400 рублей 4 Покупаем $20 $20, 320 рублей 7 Продаем $20 440 рублей
Нижняя схема выгоднее: при тенденции подъема доллара лучше проводить больший объем опреаций на второй бирже