Пример стратегии на основе Стандартного отклонения
Last updated
Last updated
Приведенный пример алгоритма предназначен исключительно в образовательных целях, для изучения программы TSLab.
Всем удачи!
Материалы. StDev_channel_5min.tscript (Скачайте файл. Откройте в программе TSLab "Лаб" -> "Управление скриптами" → Нажмите кнопку "Загрузить из файла").
Среднеквадратическое отклонение
Цены точно не принадлежат нормальному распределению. Однако наc интересуют не математические обоснования, а возможный доход от действий на рынке.
Как прогнозировать отклонение? Прогнозировать не легче, чем прогнозировать рынок. Если отклонение слишком резко выросло и стало 80% в относительных значениях, то конечно есть вероятность, что отклонение будет снижаться. На отклонении есть свои тренды. Как и рынок, отклонение может оцениваться с помощью обычного технического анализа, применять обычные индикаторы SMA, EMA, JMA, константы. У отклонения есть сопротивления, поддержки и т.д. и т.п. Строим среднюю SMA от цен закрытия баров и далее от этой SMA в обе стороны от графика считаем три стандартных отклонения.
Возвращаясь к иллюстрации нормального распределения. Когда случайная величина находится за пределами трех отклонений, есть большая вероятность, что следующая случайная величина окажется внутри трех отклонений, и вероятно будет стремиться к нулю на графике распределения. Другими словами, когда цена находится за пределами трех отклонений, есть большая вероятность, что цена начнет движение к своей средней SMA. И с другой стороны, если цена находится в пределах трех отклонений, с большой вероятностью она там и останется.
Таким образом я и построил торговую систему. При касании трех StDev исполняется лимитная заявка, а на средней SMA поставил профит.
Примечательно, что система показывает положительные результаты на разных таймфреймах. Привожу пример посчитанных результатов, программой TSLab, возможной торговли на графиках 10 минут и 5 минут, одним лотом фьючерса, с учетом комиссионных брокера.
Поэтому количество выборки для расчета стандартного отклонения следует выбирать под себя, под торговлю, которая будет комфортна непосредственно трейдеру. Чем меньше период для расчета отклонения, тем быстрее робот будет принимать решения о действиях на рынке. Если провести оптимизацию по параметру количества отклонений и параметру средней SMA, результаты системы будут значительно лучше, но при этом, сама суть идеи пропадает, так как оптимизатор ничего не знает о моих умозаключениях и просто подгоняет систему под историческую выборку цен. Приведу пример на 5 минутном графике:
При таких параметрах заявки все чаще оказываются на экстремумах баров и их исполнения в реальной торговле скорее всего не будет. Отклонение может быть очень большим в моменты кризиса на рынке. Поэтому при построении такой торговой системы, вероятно, следует смотреть и на наклон выбранной средней и не забывать про стоп-лоссы.
Несложно заметить, что наименьшее их количество, всего 0.2% находится за пределами трех отклонений. Вероятно, что это неплохие места для входа в позицию. Тогда как ноль, место, где можно закрыть позицию, так как это место, где случайные величины находятся чаще всего. Грубо говоря, вероятность того, что следующая случайная величина окажется за пределами трех отклонений, всего 0.2%. Я вывел на график стандартное отклонение доходности инструмента фьючерса mini на индекс snp500, рассчитанное на основе исторических данных цены.