Пафос Респектыч
Пафос Респектыч личный блог
28 апреля 2015, 16:22

Тест системы на неслучайность

Собственно, опишу критерий, по которому я сделал вывод о пригодности систем на основе EMA для торговли фьючерсами на индекс РТС и пару доллар-рубль. Сами рассуждения никоим образом не привязаны к этим конкретным инструментам, вся концепция не выходит за пределы статистики, то есть ее можно применять для оценки моделей любых случайных процессов и котировок чего угодно.

Для простоты рассмотрим цену на инструмент как случайный процесс с дискретным временем. Например, можно взять среднюю цену того же фьючерса за минуту и считать её ценой фьючерса в эту минуту. От минуты к минуте цена случайным образом изменяется, то в большую, то в меньшую сторону.

Время: 10:20:30, 10:20:31, 10:20:32, 10:20:33, 10:20:34, 10:20:35...
Цена: 1000, 1001, 1002, 1000, 998, 998, 997...
Приращение: 0, 1, 1, -2, -2, 0, -1...

В контексте торговли нам как раз интересна последовательность приращений цены. Можно взять не арифметическую разность соседних значений, а логарифм их отношений, суть от этого не меняется. Ведь в чём заключается процесс торговли: по сути мы берем график, выделяем на нём отрезки времени путём совершения сделок, далее эти выделенные куски вырезаем, те что в шорт переворачиваем и склеиваем их все вместе обратно. Цель процесса — чтобы полученный таким образом новый график рос быстрее, а падал медленнее, чем исходный.

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

Так вот, мы, как разработчики торговой системы, принципиально хотим, чтобы средние значения у этих двух выборок различались. Иначе просто теряется смысл торговли по этой системе, с тем же успехом можно открывать и закрывать сделки случайным образом.

По счастью, для целей проверки гипотезы о различии средних значений двух выборок давным-давно придуманы статистические тесты. Нам интересен тест Стьюдента, вернее его модификация для двух выборок разного размера с необязанными совпадать дисперсиями, известная также как тест Уэлча. Ссылка на англоязычную Википедию: goo.gl/CTa5Jc.

Внимание, формула:
Тест системы на неслучайность 
Здесь X1 и X2 с чёрточками — это средние значения, s1^2 и s2^2 — выборочные дисперсии, а N1 и N2 — количество элементов для первой и второй выборок, соответственно. Считаете эти параметры для каждой выборки, получаете конкретное значение t. Уже когда размеры обоих выборок составляют порядка нескольких десятков элементов, распределение значений t очень близко к нормальному с матожиданием 0 и дисперсией 1. Соответственно, чем больше абсолютное значение t для конкретной пары выборок, тем интереснее для нас та система, с помощью которой они были получены. Фактически, это количество «сигм», стандартных отклонений от матожидания нормального распределения для данной системы, показывающее вероятность того, что она ведёт себя на рынке случайным образом.

С увеличением периода тестирования и, соответственно, размеров выборок, у интересной системы критерий t постепенно растёт до интересных значений. Из практики и простого научного здравого смысла, начинаются эти значения где-то в районе шести (сигм). Системы с t меньше шести — скорее всего ни о чём. Те, о которых я писал в предыдущем посте, на EMAшках на минутках, дают порядка 8-9 сигм, и это только за период с середины марта для фьюча SiH5.

Вот так вот как-то так, умеющий читать да прочитает!
Всем профита (по мере сил).
56 Комментариев
  • Тихая Гавань
    28 апреля 2015, 16:23
    а как вам не ЕМА а WMA?
  • AlexFox
    28 апреля 2015, 16:43
    JMA точнее если уж так нравятся эти машки
  • Аккаунт Удален
    28 апреля 2015, 16:56
    Дайте ему в профиль медальку «Профессор»
  • Costa
    28 апреля 2015, 17:32
    прочитал всё, но понял только концовку )
  • Владислав (Pilot)
    28 апреля 2015, 17:38
    Зачем Вы так поступили с моим мозгом? )
  • Absourd
    28 апреля 2015, 17:53
    крупняк внутри дня играет против таких стратегий. У больших денег большие робота с мощной вычислительной базой, которые быстро вычисляют такие прибыльные идеи и рушит их. Как среди маркетанов, стоящих спредом в стакане выигрывает тот кто первый поставил заявку, так и среди роботов выиграет тот, кто первее нашел неэффективность.
    • MS
      28 апреля 2015, 18:58
      Absourd, если они разрушают неэффективности вместо того чтобы их использовать, то они ничего не зарабатывают.
      Думаю, что дело обстоит чуть иначе. Они сначала неэффективности создают, затем играют на них, пока «число сигм" не упадёт ниже некоторого значения.
      Мы же со стороны это наблюдаем, и если успеваем, то присоединяемся, проведя соответствующие вычисления, как автор.
      • Absourd
        29 апреля 2015, 20:44
        MS, они играют против неэффективности т.к. могут набрать там достаточную позу, а зная где будет слив стопов после набора поз можно понять где он будет крыться.
    • V.V.
      28 апреля 2015, 19:19
      Absourd, рушит идеи — это пытается заработать на них, тем самым снижая прибыльность системы?
      • Absourd
        29 апреля 2015, 20:46
        V.V., играя против какой либо системы ты набираешь нужный объем и сливаешь их по стопам, давая тем самым импульс на дальнейшее движение.
  • Russian_Insider
    28 апреля 2015, 18:07
    Для построения прибыльной торговой системы не достаточно знать, что среднее значение изменяется со временем (оно действительно изменяется, и от этого построение системы становится только более трудным). Нужно уметь предсказывать, как именно изменяется это среднее. Как минимум, нужно уметь предсказывать будет ли средняя доходность завтра положительной или отрицательной.
  • BiTrader
    28 апреля 2015, 18:32
    Zweroboi, может быть есть фрагмент расчетов в excel для такой выборки — думаю так было бы гораздо понятней
  • anatolyutkin
    28 апреля 2015, 18:46
    1. На рынке все нестационарно и не нормально. А Стьюдент и вообще вся классическая статистика применима только к ЦПТ процессам.

    2. Зачем сравнивать то, что внутри сделки с тем, что снаружи? Вроде, логично сравнивать среднюю сделку с нулем. Мы ж деньги хотим зарабатывать а не b&h обгонять.
      • anatolyutkin
        28 апреля 2015, 19:20
        Zweroboi, 1. Результаты сделок не являются независимыми и малыми. Это по опыту. Точнее, про независимость не знаю, а вот про малость--точно. Собственно, 14й год с его взрывом волатильности на доллар-рубле тому пример. Поэтому распределение результатов сделок не нормально.

        2. Это философский вопрос :) Я хочу денег--стабильно, и, как следствие стабильности, много. Плавная растущая эквити--вот цель, и испиленный с рисками в 100% b&h тут точно не конкурент и не бенчмарк.
          • anatolyutkin
            28 апреля 2015, 21:10
            Zweroboi, Вот смотрите. У меня есть трендилка на si. Средняя сделка у нее до осени 2014 была что-то типа 100 рублей. Типичная сделка в районе 500 рублей. Дэйли фрейм. А потом она прокатилась от 45000 до 78000 одной сделкой. И эта одна сделка сразу неслабо изменила нафиг все средние. И что тут делать? Ясно же, что ваша и любая другая статистика из гауссова мира тут неуместна--ибо если одной сделкой меняются все средние--это печально. Точно также поменялись парой участков и «внешние» средние. В этих условиях средние просто неуместны.
  • Владислав
    28 апреля 2015, 18:53
    а как мне быть с образованием 8классов / 1974г/,
  • anatolyutkin
    28 апреля 2015, 18:58
    И еще. Si--трендовый. На это есть причины. И поэтому трендовые системы, в частности, трендовухи на скользящих средних работают хорошо. Это и без t распределений известная вещь.
    • V.V.
      28 апреля 2015, 19:23
      anatolyutkin, они хорошо работают, пока тренд есть. А когда тренд исчезает — их отключают в ручном режиме или есть автоматический критерий, по которому отключают?
      Иными словами, как понять, что надо отключать?
      • anatolyutkin
        28 апреля 2015, 19:36
        V.V., Трендовость и тренд--разные вещи. Ясно видимый тренд не является обязательным следствием трендовости, более того--тренды есть и на нетрендовых процессах. Поэтому трендовухами можно торговать и инструменты без четко видимых трендов--главное, чтобы трендовость была.
  • QJGlXS3Ars
    29 апреля 2015, 09:06
    Все проблемы нетрендовости решаются с помощью крнл
  • uuu
    29 апреля 2015, 11:12
    а где период то ЕМА написан?? или я не там читал?)
  • bstone
    29 апреля 2015, 12:05
    Всего два вопроса: 1) какое значение теста будет у системы с достаточным числом степеней свободы, чтобы пропустить все отрицательные приращения и оставить все положительные? 2) насколько это запредельное число сигм будет гарантировать такие же характеристики системы в будущем?
      • bstone
        29 апреля 2015, 15:25
        Zweroboi, вот именно, подгонка системы с большим числом параметров — это тоже в своем роде результат «с вероятностью один на миллиард» :)
          • bstone
            29 апреля 2015, 16:25
            Zweroboi, в вашем примере результат случайного вытаскивания туза пик из колоды и результат его поиска полным перебором колоды одинаков, но вы почему-то считаете, что если вам этот туз выпал случайно, то он какой-то особенный :)
              • bstone
                29 апреля 2015, 17:04
                Zweroboi, протестую :) Тест Стьюдента можно интерпретировать в разрезе достоверности различия средних значений выборок, но уж никак нельзя по нему судить о качественной природе этих различий! Вы максимизируете функцию среднего и не важно, перебрали ли вы в данном случае все пространство параметров, или случайно нашли несколько наборов, дающих хороший результат. И тот и другой вариант — это «подгонка» под конкретный ряд.
                  • bstone
                    29 апреля 2015, 22:39
                    Zweroboi, «подгонка» для меня в данном случае является синонимом оптимизации. Просто чаще используется среди алготрейдеров. Тут можно пространно порасуждать об оптимизации и переоптимизации, но применительно к торговле это все одно и тоже. Вы находите какие-нибудь различия?
  • VladMih
    09 июля 2017, 12:37
    С увеличением периода тестирования и, соответственно, размеров выборок, у интересной системы критерий t постепенно растёт до интересных значений. Из практики и простого научного здравого смысла, начинаются эти значения где-то в районе шести (сигм). Системы с t меньше шести — скорее всего ни о чём. 
    ***
    Вот так вот как-то так, умеющий читать да прочитает!
    Не умеющему читать (не математику) можно на пальцах?
    Комменты не перечитывал, если надо — осилю. )
  • SergeyJu
    30 августа 2017, 18:22
    при расчете сигм Вы какие берете средние?
      • SergeyJu
        31 августа 2017, 10:48
        Zweroboi, понял, среднее Вы считаете раздельно по двум подвыборкам и вычитаете при расчете дисперсии.
        А если система имеет 3 состояния — лонг, шорт, аут, Вы считаете 3 статистики?
        Я понял так, что Вы по тикам считаете секундные бары и на их основе строите системы. И при расчете этих статистик бары тоже секундные или более медленный таймфрейм. И вообще, о какой примерно частоте сделок идет речь при работе на секундных барах?
        Я работаю на минутках.


          • SergeyJu
            31 августа 2017, 14:17
            Zweroboi, а средние за секунду лучше, чем закрытия секунд?
            Несколько сот тысяч секунд, это два-десять торговых дней. Неужели расчет по секундам дает дополнительный плюс к расчету по минутам. Или для Вас важна скорость реакции?
            Я тоже торгую трендследящие системы. И у меня вполне обычно, что группа однородных систем с чуть-чуть разными параметрами входи в рынок (выходит) 10-20 минут. 
              • SergeyJu
                31 августа 2017, 17:44
                Zweroboi, тогда еще логичнее брать не тики, а аски-биды :)
                Кстати, более устойчивая конструкция, особенно для ликвидных, но не слишком ликвидных активов. 
                В общем-то я хочу перейти со временем в более быстрый таймфрейм, но не по тем соображениям, что у Вас.
                  • SergeyJu
                    01 сентября 2017, 10:17
                    Zweroboi, я когда-то строил индекс широкого рынка корпоративных облигаций. По бид-аскам он получался устойчивым и более-менее адекватным. По тикам — нет.
                      • SergeyJu
                        01 сентября 2017, 13:30
                        Zweroboi, на облигах было много случаев, когда за день ни одной сделки. При этом аск-бид могли стоять вполне адекватные.  Поэтому индекс на сотне и более тикеров оказывался устойчивым. Все облигации, кроме ОФЗ у нас или неликвид или полуликвид. Точно также я строил индекс РТС2. В принципе, нормальная тема для медленных торговых систем.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн