<HELP> for explanation

Блог им. zweroboi

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

Собственно, опишу критерий, по которому я сделал вывод о пригодности систем на основе 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.

Вот так вот как-то так, умеющий читать да прочитает!
Всем профита (по мере сил).
 

а как вам не ЕМА а WMA?
Тихая Гавань, что это, Windows Media Audio?
Zweroboi, Weighted Moving Average
JMA точнее если уж так нравятся эти машки
avatar

AlexFox

AlexFox, а какая там формула?
Дайте ему в профиль медальку «Профессор»
прочитал всё, но понял только концовку )
avatar

Costa

Зачем Вы так поступили с моим мозгом? )
Владислав (Pilot), ноу пэин ноу гэин.
крупняк внутри дня играет против таких стратегий. У больших денег большие робота с мощной вычислительной базой, которые быстро вычисляют такие прибыльные идеи и рушит их. Как среди маркетанов, стоящих спредом в стакане выигрывает тот кто первый поставил заявку, так и среди роботов выиграет тот, кто первее нашел неэффективность.
avatar

Absourd

Absourd, если они разрушают неэффективности вместо того чтобы их использовать, то они ничего не зарабатывают.
Думаю, что дело обстоит чуть иначе. Они сначала неэффективности создают, затем играют на них, пока «число сигм" не упадёт ниже некоторого значения.
Мы же со стороны это наблюдаем, и если успеваем, то присоединяемся, проведя соответствующие вычисления, как автор.
avatar

MS

MS, они играют против неэффективности т.к. могут набрать там достаточную позу, а зная где будет слив стопов после набора поз можно понять где он будет крыться.
Absourd, рушит идеи — это пытается заработать на них, тем самым снижая прибыльность системы?
avatar

V.V.

V.V., играя против какой либо системы ты набираешь нужный объем и сливаешь их по стопам, давая тем самым импульс на дальнейшее движение.
Для построения прибыльной торговой системы не достаточно знать, что среднее значение изменяется со временем (оно действительно изменяется, и от этого построение системы становится только более трудным). Нужно уметь предсказывать, как именно изменяется это среднее. Как минимум, нужно уметь предсказывать будет ли средняя доходность завтра положительной или отрицательной.
finstrateg, тут цель понять случайно ты оказался в плюсе или нет. Вернее, какова вероятность того, что ты оказался именно в таком плюсе именно на таком графике совершенно случайно. А если оказался не в плюсе, то опять же, случайно так вышло или можно перевернуть систему и торговать по ней.
Zweroboi, может быть есть фрагмент расчетов в excel для такой выборки — думаю так было бы гораздо понятней
avatar

BiTrader

BiTrader, сам я в Экселе такое не считаю, но для Вас нагуглил: www.usablestats.com/calcs/2samplet&sample=1
1. На рынке все нестационарно и не нормально. А Стьюдент и вообще вся классическая статистика применима только к ЦПТ процессам.

2. Зачем сравнивать то, что внутри сделки с тем, что снаружи? Вроде, логично сравнивать среднюю сделку с нулем. Мы ж деньги хотим зарабатывать а не b&h обгонять.
avatar

anatolyutkin

anatolyutkin,

1. При тестировании на истории мы имеем дело с реализацией процесса, а среднее по случайной выборке стремится к нормальному независимо от формы распределения в самой популяции, в силу той же ЦПТ. В этом всё и дело, тут не вводится никаких искусственных предположений о нормальном распределении приращений цен, ибо это очевидно не так.

2. Чтобы отличить выигрышную систему от торгующей случайно на длинном тренде. Не знаю как Вы, а я хочу обгонять B&H, причём со страшной силой )) Иначе это не зарабатывание денег, а «шадринг», понравился мне этот термин.
Zweroboi, 1. Результаты сделок не являются независимыми и малыми. Это по опыту. Точнее, про независимость не знаю, а вот про малость--точно. Собственно, 14й год с его взрывом волатильности на доллар-рубле тому пример. Поэтому распределение результатов сделок не нормально.

2. Это философский вопрос :) Я хочу денег--стабильно, и, как следствие стабильности, много. Плавная растущая эквити--вот цель, и испиленный с рисками в 100% b&h тут точно не конкурент и не бенчмарк.
anatolyutkin,

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

2. Я тоже хочу много денег )) Главное тут понимание оптимального направления в каждый момент времени, а как на этой основе пилить график и с какими объемами и рисками — это уже отдельная тема и свои ноу-хау.
Zweroboi, Вот смотрите. У меня есть трендилка на si. Средняя сделка у нее до осени 2014 была что-то типа 100 рублей. Типичная сделка в районе 500 рублей. Дэйли фрейм. А потом она прокатилась от 45000 до 78000 одной сделкой. И эта одна сделка сразу неслабо изменила нафиг все средние. И что тут делать? Ясно же, что ваша и любая другая статистика из гауссова мира тут неуместна--ибо если одной сделкой меняются все средние--это печально. Точно также поменялись парой участков и «внешние» средние. В этих условиях средние просто неуместны.
anatolyutkin, может быть уместны, может быть неуместны, главное чтобы работало, верно? Как у меня работает один из элементов приёмки систем, я описал. Для систем на дэйли фреймах при описанном подходе нужно много данных, с захватом двухтысячных точно. И тогда средние от одной сделки, дыже такой жирной, уедут не сильно. А даже если и уедут, то пускай, но только в правильную сторону )
а как мне быть с образованием 8классов / 1974г/,
И еще. Si--трендовый. На это есть причины. И поэтому трендовые системы, в частности, трендовухи на скользящих средних работают хорошо. Это и без t распределений известная вещь.
avatar

anatolyutkin

anatolyutkin, это да, а на каком ещё инструменте предложили бы проверить?
anatolyutkin, они хорошо работают, пока тренд есть. А когда тренд исчезает — их отключают в ручном режиме или есть автоматический критерий, по которому отключают?
Иными словами, как понять, что надо отключать?
avatar

V.V.

V.V., Трендовость и тренд--разные вещи. Ясно видимый тренд не является обязательным следствием трендовости, более того--тренды есть и на нетрендовых процессах. Поэтому трендовухами можно торговать и инструменты без четко видимых трендов--главное, чтобы трендовость была.
Все проблемы нетрендовости решаются с помощью крнл
avatar

Arsen G

а где период то ЕМА написан?? или я не там читал?)
Всего два вопроса: 1) какое значение теста будет у системы с достаточным числом степеней свободы, чтобы пропустить все отрицательные приращения и оставить все положительные? 2) насколько это запредельное число сигм будет гарантировать такие же характеристики системы в будущем?
avatar

bstone

bstone,
1) Речь о системе, которая переподогнана под конкретный набор исходных данных? Разумеется, для такой системы значение теста будет просто космическим. С другой стороны, вероятность случайно выбрать именно данную конкретную систему из всего множества подобных с таким же числом степеней свободы будет исчезающе малой.
Поэтому:
2) Для переподогнанной системы не будет гарантировать нинасколько. А если мы создаем набор из нескольких тысяч систем и находим среди них такие, которые чисто случайно появляются с вероятностью одна на миллиард, причём не одну а пару десятков, то в них уверенности уже будет побольше.
Zweroboi, вот именно, подгонка системы с большим числом параметров — это тоже в своем роде результат «с вероятностью один на миллиард» :)
bstone, вот представьте, что множество всех возможных систем — это колода карт. Из неё можно вытащить пикового туза наугад с какой-то вероятностью, можно посмотреть все карты и честно его найти, а можно даже не искать и просто нарисовать самому. Когда колода размером с земной шар, последнее сделать проще всего. Вот это и называется подгонка.
Zweroboi, в вашем примере результат случайного вытаскивания туза пик из колоды и результат его поиска полным перебором колоды одинаков, но вы почему-то считаете, что если вам этот туз выпал случайно, то он какой-то особенный :)
bstone, вы ничего не поняли. Тузы самые обычные. Но если они случайным образом появляются чаще, чем должны, то можно сделать соответствующие выводы о самой колоде.
Zweroboi, протестую :) Тест Стьюдента можно интерпретировать в разрезе достоверности различия средних значений выборок, но уж никак нельзя по нему судить о качественной природе этих различий! Вы максимизируете функцию среднего и не важно, перебрали ли вы в данном случае все пространство параметров, или случайно нашли несколько наборов, дающих хороший результат. И тот и другой вариант — это «подгонка» под конкретный ряд.
bstone, а в чём, по-Вашему, заключается отличие между подгонкой и оптимизацией? Или Вы два этих понятия не различаете?
Zweroboi, «подгонка» для меня в данном случае является синонимом оптимизации. Просто чаще используется среди алготрейдеров. Тут можно пространно порасуждать об оптимизации и переоптимизации, но применительно к торговле это все одно и тоже. Вы находите какие-нибудь различия?
bstone, разумеется, как минимум одно принципиальное.

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.

Залогиниться

Зарегистрироваться
....все тэги
Регистрация
UP