Блог им. Kot_Begemot

Критическая масса и критическое значение


Проведем небольшой тест — возьмем один случайный фьючерс, приращения которого представлены временным рядом случайных чисел, и набор случайных стратегий, представленный множеством N временных рядов случайных чисел (он же матрица признаков, фичей, пространство предикторов и т.д.) и попытаемся найти из этого большого набора тот признак, который будет лучше всего говорить нам когда покупать фьючерс, а когда продавать. Что это будет, мультипликатор P/E, фаза луны или MACD — не важно, главное чтобы на выходе получилась «идея» или, как ещё говорят, «грааль».


Хорошо известно, что случайная стратегия примененная к случайному инструменту даст случайное эквити, которое будет иметь гауссову плотность распределения коэффициента шарпа  с математическим ожиданием  0 и среднеквадратичным отклонением 


Критическая масса и критическое значение  

где L — число известных значений случайного фьючерса. 


Это означает, что достаточно большое множество случайных стратегий (или случайных признаков), примененных к случайному фьючерсу абсолютно случайным образом окажутся способными достаточно хорошо описать любое поведение случайного фьючерса (отклика) в бек-, форвард-, голкипер-, кросс-, спринт-  и всех прочих тестах… но только на истории.


Для того чтобы минимизировать риск отбора признака (стратегии) не имеющего никакой ценности в мат. статистике используется функция ошибок, связывающая вероятность реальной полезности признака и его прогностическую силу на исторических данных. 


Критическая масса и критическое значение



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


Таким образом, мы можем указать критерий отбора значимых признаков, при котором действительно значимыми окажутся более чемКритическая масса и критическое значение  из них :

Критическая масса и критическое значение

где erfinv — обратная функция ошибок.


Но всё это хорошо, когда мы имеем одну стратегию и один признак. А если у нас их 100, или 1000, как это любят бигдата-сайентисты и различные количественные специалисты? 

Рискнем предположить, что ни один из N независимых случайных признаков, не покажет шарп выше заданного критерия с вероятностью  Критическая масса и критическое значение. Собственно, это всего лишь правило сложения вероятностей. Тогда критерий отбора признаков (стратегий) из признакового пространства размерностью N (набора стратегий из N стратегий) с доверительной вероятностью Критическая масса и критическое значение будет задаваться так : 

Критическая масса и критическое значение


Изобразим полученную зависимость для доверительной вероятности 90% и переменного числа признаков от 1 до 300:

Критическая масса и критическое значение
Рис. 1. Зависимость критического уровня от числа признаков, для доверительной вероятности 90%.


Особенно это опасно на данных небольшой размерности, когда незначительный рост размерности признакового пространства ведет к взрывному росту критических уровней статистической значимости.


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

Критическая масса и критическое значение

где С- корреляционная матрица случайных эквити, l-единичная вектор-строка.
Легко видеть, что при корреляции признаков 1, то есть когда, по-сути, мы имеем только один признак, — эффективная размерность стремится к 1, а при корреляции признаков равной нулю — к N.


Но мы, как настоящие дата-сайентисты, на этом не остановимся, а пойдем дальше, собрав из простых признаков-стратегий целый портфель. Легко показать, что портфель из стратегий взятых с весами Критическая масса и критическое значение будет обладать шарпом :


Критическая масса и критическое значение

где бетта — вектор строка весов признаков (стратегий), С — корреляционная матрица случайных эквити.


C другой стороны, перебирая все возможные портфели, мы будем варьировать не только знаменатель, но и числитель,  заставляя портфель перекладываться в менее прибыльные стратегии диверсифицирующие риски. Запишем приблизительное соотношение для оптимального портфеля, полученное из соображений пропорционального качеству взвешивания:

Критическая масса и критическое значение



Следовательно, c учетом эффекта портфелизации, наш критический порог возрастает до:

Критическая масса и критическое значение




Продемонстрируем справедливость оценок на примере авторегрессионных моделей броуновского движения :

MatLab side :

n=20; 
x=randn(1000,1); 
M=zeros(1000,n); 
for i=1:n; 
    M(:,i)=[zeros(i,1);x(1:end-i)]; 
end; 
a=(M'*M)\(M'*x); 
r=(M*a).*x; 
 
Mы будем искать медианное значение шарпа для AR(n) модели, такое которое с вероятностью 50% пройдет наш статистический тест:

Критическая масса и критическое значение

Что для N=20 и бетта=1/N  даст пороговое значение :

Критическая масса и критическое значение


Проведем тест из 1000 испытаний aвторегрессионных моделей порядка N=20, построенных на различных реализациях белого шума:

Критическая масса и критическое значение
Рис2. Эквити и коэффициент шарпа случайной авторегрессионной модели порядка 20, построенной на белом шуме.


Критическая масса и критическое значение
Рис 3. Распределение коэффициентов шарпов случайных авторегрессионных моделей порядка 20 и их медианное значение.


Видно, что полученная приблизительная оценка 0.1417 достаточно близка к эмпирическому значению 0.1373. 



Таким образом, получается, что реальные статистические пороги для портфельных методов и всех без исключения методов MachineLearning находятся многократно выше «классических» Z- и T- тестов.
★3
49 комментариев
Ты втираешь мне какую-то дичь | ask.fm/KoT361

главное в физике — не пускать в нее математиков… а если пролезли, гнать ссаными тряпками))
avatar
Нифига не понял, но очень интересно.
avatar
AV_VA, каждая формула и есть — вывод. И я добавлю 2+4= 100%
avatar
Хороший анализ, но я бы все таки использовал классический способ — статистической гипотезы (предположение).

   Статистические гипотезы подразделяются на нулевые и альтернативные, направленные и ненаправленные. 

   Проверка гипотез осуществляется с помощью критериев стати­стической оценки различий. Критерии делятся на параметрические и непараметрические.

  Если Вы решаете задачу -  Выявление различий в уровне исследуемого признака., то надо применять соответствующий метод.

   В случае очень больших отличий распределений признака от нормального вида, следует применять непараметрические критерии, т.е. рыночный ряд разбить по какому то свойству(к примеру — весь день растет, или падает, или стоит на месте) и про ранжировать заново а уже потом статистический вывод.


avatar
Jkrsss, именно так анализ и проведен. Здесь смысл в том, чтобы показать зависимость статистики (СКО её отклонения от нуля) от того, какие манипуляции мы производим с данными.  Это классический вариант, но II уровня приближения.

P.S. Добавил демонстрацию AR-20 модели. Чтобы показать справедливость оценок.
avatar
Kot_Begemot, Меня вот что смущает — «Хорошо известно, что случайная стратегия примененная к случайному инструменту даст случайное эквити, которое будет иметь гауссову плотность распределения», это в теории, на практике надо бы проверить данные по методу хи2, есть ли вообще нормальное распределение или мухлюют черти.

Ошибка первого рода отвергли нулевую гипотезу в то время когда она верна.
avatar
А есть ощутимое преимущество в таком математическом доказательстве вещей, которые итак понятны эмпирически любому разумному алго-трейдеру, или даже вообще на уровне здравого смысла без особого опыта понятны?)
avatar
Replikant_mih, на уровне здравого смысла много чего понятно, например как летают самолеты, ракеты или рубят световые мечи. Эмпирически оно тоже понятно как-то — можно руку высунуть в окно на скорости 100км/ч или ментос бросить в кока-колу. Всё, физику, химию в школах можно отменять — нечего там штаны протирать почем зря.

В действительности же ни мне, ни вам ничего не понятно ни из эмпирического опыта (так как сознание это не просто отражение материальной действительности как опыт, это есть некоторое систематизированное отражение), ни, тем более, из здравого смысла. Здравый смысл вообще самая вредная штука, так как состоит сплошь и рядом из заблуждений (исторический факт  такой) о том, что Земля плоская, Короли голубых кровей и т.п.
avatar
Kot_Begemot, Здравый смысл для красного словца привел — не уверен даже, что знаю, что это). А эмпирический опыт — ну, то что тут выводится формулами, т.е. сами выводы — ты просто все это наблюдаешь, я делаю сотни итераций одного процесса и вижу, что примерно с таким-то перевесом я наблюдаю именно такое поведение. Естественно когда я из наблюдаемого делаю выводы я себя страхую от неверных выводов как-то, чтоб во всякие ловушки мозга не попасть.

Физику отменять не надо. Но по прежнему не понятно, нафига доказывать очевидное, если в мире… трейдинга столько всего не очевидного).
avatar
Replikant_mih, вы как буд-то не алготрейдер вовсе  Как-то там страхуете, как-то там торгуете... 

А я всё просчитываю заранее и то, что просчитываю алгоритмизирую, чтобы точно знать как я торгую, как я страхую, что можно делать, а чего нельзя, что важно, а что — нет, где можно рискнуть и как именно построить (а это обычно требует точных расчетов) грааль. По-моему в этом и заключается любой профессионализм, разве нет?
avatar
Kot_Begemot, Расчеты да, по-любому). Но:

— Есть такая штука как приоритизация — я не буду заморачиваться вещами, которые того не стоят в то время как есть те, от которых выхлоп будет намного интересней. Вещи с низким приоритетом всегда можно по лайту обработать: 2.5 % усилий — 25% выхлопа или типа того).

— Считать, анализировать, продумывать, просчитывать это далеко не всегда строить формулы и вот это вот всё.
avatar
Replikant_mih, на коленке можно много чего сделать, согласен. Но тут все зависит от сложности и масштабов проектов в которых вы участвуете или собираетесь участвовать. Рано или поздно вам потребуется и точность, и автоматизация, и универсальность и интегрируемость. Это примерно как ракету в космос запустить и смастерить игрушку для ребенка. Для частного инвестора, может, и почти одинаково, а для крупного фонда — земля и небо.
avatar
Kot_Begemot, Эд да).
avatar
А от куда вы взяли доверительную вероятность 90%? Я что-то пропустил?
Василий Федорович, её любой можно выставить, обычно берут 95%. Но мне привычней 90%. 
avatar
Экспериментальные данные можно считать надежными (достоверными), их называют доверительной вероятностью или надежностью.
Формулы расчета надежности ........
А вы просто взяли 90%.
Ни чего не смущает?
Василий Федорович, вы что-то путаете. Обычная статистическая гипотеза, которая проверяется на выбранном уровне значимости. Об оценке данных, их надежности и достоверности здесь речи не идет.
avatar
Kot_Begemot, почему не покажите результаты при 10% надежности? или хотя бы при 50%?
Василий Федорович, какие результаты, AR модели? Она вам любую чушь на истории броуновского движения подберет и это заранее известно. Прелесть в том, что результатов как раз и нет, если оценивать их по предложенной методике.
avatar
ничего не понял-с....(не дорос еще или наоборот)
но понравилося, что Шарп стал 8,4 вместо 1,4…
avatar
wistopus, с Шарпом там ничего не произошло )) Не умеют мои искусственные интеллекты ещё так думать, чтобы придумать что-то стоящее. Граалей нет, хоть картошку сажай 
avatar
Вы как бы опять намекаете, что надо расходиться. Не нравится мне это:))
avatar
Не умеют мои искусственные интеллекты ещё так думать, чтобы придумать что-то стоящее
Вы слишком образованны для рынка.......
корень квадратный — энто вверх моего математического аппарата на рынке..

а так все  по простому по рабоче-крестьянски...-
цена выше средней скользящей цены на периоде -покупаем, цена ниже средней скользящей цены на периоде — продаем…
avatar
Имхо это далеко от рынка.

Алготорговля имеет смысл если
«приращения которого представлены временным рядом случайных чисел»!=True

Поэтому точка зрения Replicant_mih вполне адекватна.
avatar
quant_trader, предположим, у меня есть вектор приращений цен. Предположим, у меня есть индикатор, который вырабатывает нули и единицы (или плюс и минус единицы) на каждый следующий элемент вектора, используя только предыдущие. 
Как определить, что этот индикатор существенно лучше, чем случайный поток нулей и единиц (плюс-минус единиц)? 
А если индикаторов N и я выбираю лучший? 
Можно строить доверительные интервалы по модели, аппроксимирующей реальную выборку, скажем гауссу, который имеет среднее и дисперсию, равные выборочной оценке. 
Можно использовать монте-карло. Делать N серий, в серии выбирать лучшую. И таких серий 1000 или 1000000. 
Рядом другой вопрос, а что проверять. Доху или доху/риск? 
Как-то так.
avatar
SergeyJu,

«Как определить, что этот индикатор существенно лучше, чем случайный поток нулей и единиц (плюс-минус единиц)?»

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

Давайте посмотрим с другой стороны — какова вероятность того что случайный поток даст приемлемую еквити даже на in sample? А на out of sample? Она видимо низкая. Значит индикатор выдавший приемлемую еквити уже с высокой вероятностью существенно лучше чем случайный поток?

avatar
quant_trader, на боевого коня Вашей мысли хочется надеть сбрую формул. 
А если я использую 2 индюка одновременно. А если три. А если индюки не двузначные, а многозначные. Где сидит мера между переподгонкой и прорывом? 
Насчет паттернов. Тут трудности с терминологией. Например в свечном анализе какой-нибудь набор свечей «три зеленых засранца» — паттерн. А цена выше скользяшки — паттерн? А пробой канала паттерн? 
avatar
SergeyJu, я боюсь что это не конь а скорее ишак эмпирики.

Есть же oos. Чем больше индюков тем хуже устойчивость. Блекбокс с кучей индюков дает неустойчивый курвфит. Будем пробовать по эквити (на in sample как у автора) пытаться определить уровень неустойчивости?

«Насчет паттернов. Тут трудности с терминологией. Например в свечном анализе какой-нибудь набор свечей «три зеленых засранца» — паттерн. А цена выше скользяшки — паттерн? А пробой канала паттерн? „

Я в широком смысле имел в виду любые неэффективности. Например движение рубль/доллара на дневной сессии дает ожидание на следующий день, это аномалия. Строим на этом стратегию. Подгонка? Конечно. Т е любая стратегия это подгонка под какие либо неэффективности на истории.

avatar
quant_trader, 

Есть же oos. Чем больше индюков тем хуже устойчивость. Блекбокс с кучей индюков дает неустойчивый курвфит. Будем пробовать по эквити (на in sample как у автора) пытаться определить уровень неустойчивости?

А как вы по OOS определяете уровень устойчивости? Смею предположить, что никак, нет?
avatar
Kot_Begemot, думаю, что устойчивость надо проверять иначе. Даже не устойчивость, а факт наличия эффекта во все периоды наблюдения. Допустим, если 10 лет подряд каждый год он более-менее есть, можно считать, что на это можно как-то полагаться. А если 2 года из 10 круто-круто, а остальные по нулям, то уже полагаться нельзя и надо рыть глубже.
avatar
SergeyJu, странная логика, если мы предполагаем зашумленность IID процессом, то есть работаем в классической парадигме y=x+N(0,s)
avatar
Kot_Begemot, ничего подобного я не предполагал, потому что уверен в том, что рынок не IID и тупая гауссова модель не интересна. Процесс нестационарный и с некоторой памятью. 
avatar
Kot_Begemot, если на oos стратегия разваливается то продукт видимо тухлый. Степень тухлости oos конечно не показывает но разве оно нам надо?

Можно сделать и метрику, скажем Шарп/Сортино на oos Vs in sample или там угол наклона эквити (с нормировкой на волатильность).
avatar
quant_trader, это ни о чем не говорит, если не разваливается… Ладно, чуть позже
avatar
quant_trader, чистого OOS не бывает практически. Все равно почти все подглядывают так или иначе. 
Если эффект наблюдается 10 лет кряду, причем простой-препростой, значит, на его счет не надо париться. Он может со временем исчезнуть, что надо отдельно мониторить. И самое простое — мониторить именно сам эффект, а не сложную ТС, в которой, кроме одного эффекта поневоле наверчено будет еще хоть что-то. 
avatar
SergeyJu, ну да, для простых стратегий без оптимизации даже oos не нужен. Там и по картинке еквити понятно, по близости к диагонали. Ступенька на полпрофита — курвфит.

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

Но если система накурвфичена из икс факторов а метрики по эквити без погружения в факторы это не очень практически выглядит.

Все имхо.
avatar
Не надо брать все подряд стратегии и декартово произведение их признаков.
Идти нужно от предполагаемых эффектов влияния чего-либо на будущую цену. И брать только стратегии относительно этого 'чего-либо'. Если предварительные прикидки на разных инструментах и отрезках дают положительную корреляцию.
И для этого 'чего-либо' строить всё вышеописанное.
avatar
svgr, а как предполагать эффекты? Либо долго-долго наблюдать за рынком, но тут две проблемы: надо много-много времени и есть риск увидеть некую иллюзию. Либо разумным расчетом от обратного. Хорошо бы и то и то аккуратно совмещать…
avatar
Sergey Pavlov, один пример из собственного. Идея была в 'продолжении движения'. Пошёл по пути долго-долго наблюдать, используя свою метрику для движений. Доказать строго невозможно, но за несколько лет получилось оценить этот эффект. Он есть, например, 0,505 на 0,495 в пользу продолжения. На ликвидных и волатильных инструментах.
Возникла статистика так измеренных движений. Перешёл к реверсной системе на её основе. Она околонулевая с учётом комиссии.
Сильно позже «открылось» как пропускать большинство переворотов. Негаданно пришёл к трендовой системе таким образом.

avatar
svgr, у каждого Ньютона свое яблоко. Был такой Альтшуллер, придумал способ серийного производства яблок для инженеров. ТРИЗ называется.
avatar
Sergey Pavlov, стандартная мысль по расчётам от обратного.
Берёте свою систему и участки на ней хорошие и минусующие. Пытаетесь найти на каждом участке ключевой признак, на него влияющий. Чтобы его значения значимо отличались.
Потом пытаетесь найти универсальную границу по значениям этого признака, чтобы успевать перестраивать систему с одного типа участка на другой. Если удастся, то хорошие участки снизят свои результаты меньше, чем улучшат свои результаты минусующие.
avatar
svgr, хорошая мысль. Даже не вспомню, с какого года я этим занимаюсь. Иногда откладываю, иногда снова иду по этой схеме. Если коротко — у меня ничего не вышло из этого путного.
avatar
а вывод по проще можете как то сформулировать? для тех кто понимает смысл, но с формулами не дружит.
avatar
Susanin, вывод в том, что строить простые модели очень страшно. Строить сложные — прямой путь к самоубийству.
avatar
Kot_Begemot, совсем не страшно, есть риск-менеджмент, чтобы слепить из многих маленьких шарпов один побольше.
avatar
Kot_Begemot, т.е. сложные модели гарантировано приведут к подгонке под кривую. а простые могут не работать вообще.или перестать работать в любой момент.
а от длинны данных. 1 год или 10. вероятность подгонки будет зависеть?
avatar
Susanin, конечно, как корень из длинны )  
avatar
Тот случай, когда опять ничего не понял, но поставил лайк, чтобы не выглядеть глупо.

теги блога Kot_Begemot

....все тэги



UPDONW
Новый дизайн