Сегодня в нашем обзоре курс алготрейдинга. В течении нескольких занятий рассматривается построение торговых алгоритмов с точки зрения, в первую очередь, теории вероятности.
Для качественного освоения материала курса по алготрейдингу необходимо знание теории вероятности и математической статистики в объеме вузовского курса.
Краткое описание что вы узнаете ознакомившись с материалом:
Почему теория вероятности — потому что это единственная человеческая наука о случайности. Случайно – это означает, что будущие события не предопределены прошлым, а прошлое может лишь влиять на шансы(вероятности) их появления (применительно к рынку, случайность означает, что мы не знаем точно будущее приращение цен).
Для определения шансов теория вероятности вводит понятие вероятности, как числовую меру оценки этих шансов.
Вводятся понятия(основные):
Случайная величина
Плотность нормального распределения
Математическое ожидание (среднее) функции от случайной величины
Квантиль (a-квантиль)
n% перцентиль
n%VAR n%CVAR
Многомерные случайные величины
Многомерное нормальное распределение
Независимые случайные величины
Ковариация
Корреляция
Стохастическое доминирование
Условное распределение
Условные среднее и дисперсия
Регрессия (функция от прошлого)
Последовательности случайных величин(Стационарности)
Случайное блуждание
Автокорреляционная функция
Спектральная функция
Показатель Херста
Выборка Достаточные статистики
Параметрическая статистика
Введя необходимые понятия, перейдем непосредственно к торговым алгоритмам:
Торговый алгоритм(торговая система) , в общем смысле, — это алгоритм преобразующий прошлую входящую информацию в текущее состояние счета.
Торговый алгоритм, с точки зрения теории вероятности – это статистический прогноз будущего приращения цен(ы). В статистическом арбитраже ценой будет спред.
Входные данные торгового алгоритма, должны удовлетворять следующим условиям: — регулярность — достоверность — формализуемость
С учетом введенных понятий мы можем определить, что задача статистического прогноза(см. определение торгового алгоритма) – это задача оценки условного распределения и(или) его параметров.
Условное распределение – это наше лучшее знание о будущем. Это ответ на вопрос, что мы должны искать. Мы должны искать условное распределения будущего приращения цены, чтобы построить эффективный алгоритм для торговли на рынке по известной в прошлом информации (регулярной, достоверной, формализуемой).
Максимальная доходность и просадка не являются релевантным показателем при отборе алгоритма
В качестве доходности в торговых системах предлагается брать среднюю доходность приращения за N тактов, а в качестве риск CVAR, т.е. средняя левого хвоста распределения (такой, что бы он был отрицательным)
В курсе используется самофинансируемый портфель, т.е. в который не требует довнесения средств в процессе торговли.
Манименеджмент не может быть отвязан от условного распределения:
— при максимизации прибыли манименеджмент не нужен вообще
— при максимизации прибыли при некоторых ограничениях на риск манименеджмент зависит от характеристик условного распределения будущего приращения цены
Оптимальный торговый алгоритм должен быть основан на несмещенной оценке знака будущего приращения цены и встроенном манименеджменте(т.е. для каждого алгоритма свой манименеджмент), основанном на оценке дисперсии будущего процентного приращения цены.
Проверять качество статистического прогноза будущего приращения цены, которым является наш торговый алгоритм.
Торговые алгоритмы «только лонг» и «только шорт» анализируются раздельно.
1-й этап — отсев
2-й этап – модификация (с использованием автокорреляционной функции)
Этот псведоалгоритм(«точка опоры») построен на дневных данных, причем торгуется только в лонг.
Главное не что лежит в основе Вашей системы, а как Вы ее протестировали.
⦁Мы смотрим на те данные, которые имеем.
⦁Знаем, что мы хотим получить (статистический прогноз будущего приращения цены).
⦁Размышляем, смотри, анализируем.
⦁Строим некую гипотезу относительно свойств рынка, связи между прошлым и будущим приращением.
⦁Проверяем эту гипотезу на непротиворечивость с имеющимися данными.
⦁Строим на базе этой непротиворечивости модель, которая нам отражает это свойство. Эта модель будет математической, на базе теории вероятности.
⦁На основе этой модели создаем некие правила торговли, оптимальные в рамках этой модели. Тестируем эту торговую систему на истории.
⦁Сравниваем ее относительно рынка(лучше, хуже), а не абсолютную доходность.
⦁Смотрим на реальный результат динамики счета(эквити).
⦁Если эквити устраивает – то торгуем, если не устраивает кладем в архив, и может быть, когда-нибудь вернемся к ней модифицировав.
Построение портфеля систем
⦁Группировка по среднему времени позиции торгового алгоритма
⦁Корреляционный анализ полученных оптимальных портфелей
⦁Проводим оптимизационную задачу (численные методы)
⦁Округление портфелей
В итоге получаем оптимальный портфель систем с разными идеями для одного среднего времени позиции
Пример трендового торгового алгоритма с точки зрения алготрейдинга
По пробою мы берем цену. После некоторого промежутка времени определяем коридор, в котором ходит дисперсия и пробою верхней границы входим в лонг, по пробою нижней границы – в шорт. После рывка, снова после некоторого промежутка времени определяем новый коридор и смотрим куда пробьет. Если пробивает вверх а мы уже стоим в лонге – ничего не делаем. Как только пробивает вниз – переворачиваем позицию.
Фильтрация трендовых торговых алгоритмов
Пример контртрендового торгового алгоритма
На дневных и часовых данных преимущество имеет тренд, на минутных данных имеет преимущество контртренд по времени, но не по размеру. В этой ситуации, когда мы имеем длинные по времени контртренды, а потом очень сильные резкие трендовые движения, короткие по времени, практически не предсказуемые, приходим к тому, что контртренды торговать нежелательно, т.к. Вы будете зарабатывать хоть и долго понемногу, а в один прекрасны момент все это сольете.
Поэтому единственный способ торговать контртренд на линейном активе – это построение «решателя»(фильтра): торгуем контртренд или не торгуем. На синтетическом активе, тип статического арбитража или торговли спредом, которые априори строятся как контртрендовые, торговля контртренда может быть весьма эффективна.
Т.е. если фильтр показывает, что была «пила», то торгую контртренд.
Если фильтр показывает, что «пила» не было — не торгую контртренд.
Теоретическая (неторговавшаяся) система