Kot_Begemot
Kot_Begemot личный блог
24 мая 2021, 00:23

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


Проведем небольшой тест — возьмем один случайный фьючерс, приращения которого представлены временным рядом случайных чисел, и набор случайных стратегий, представленный множеством 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- тестов.
49 Комментариев
  • GOLD
    24 мая 2021, 00:46
    Ты втираешь мне какую-то дичь | ask.fm/KoT361

    главное в физике — не пускать в нее математиков… а если пролезли, гнать ссаными тряпками))
  • Valery1983
    24 мая 2021, 01:31
    Нифига не понял, но очень интересно.
  • Jkrsss
    24 мая 2021, 05:35
    Хороший анализ, но я бы все таки использовал классический способ — статистической гипотезы (предположение).

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

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

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

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


      • Jkrsss
        24 мая 2021, 10:40
        Kot_Begemot, Меня вот что смущает — «Хорошо известно, что случайная стратегия примененная к случайному инструменту даст случайное эквити, которое будет иметь гауссову плотность распределения», это в теории, на практике надо бы проверить данные по методу хи2, есть ли вообще нормальное распределение или мухлюют черти.

        Ошибка первого рода отвергли нулевую гипотезу в то время когда она верна.
  • Replikant_mih
    24 мая 2021, 08:03
    А есть ощутимое преимущество в таком математическом доказательстве вещей, которые итак понятны эмпирически любому разумному алго-трейдеру, или даже вообще на уровне здравого смысла без особого опыта понятны?)
      • Replikant_mih
        24 мая 2021, 08:47
        Kot_Begemot, Здравый смысл для красного словца привел — не уверен даже, что знаю, что это). А эмпирический опыт — ну, то что тут выводится формулами, т.е. сами выводы — ты просто все это наблюдаешь, я делаю сотни итераций одного процесса и вижу, что примерно с таким-то перевесом я наблюдаю именно такое поведение. Естественно когда я из наблюдаемого делаю выводы я себя страхую от неверных выводов как-то, чтоб во всякие ловушки мозга не попасть.

        Физику отменять не надо. Но по прежнему не понятно, нафига доказывать очевидное, если в мире… трейдинга столько всего не очевидного).
          • Replikant_mih
            24 мая 2021, 09:22
            Kot_Begemot, Расчеты да, по-любому). Но:

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

            — Считать, анализировать, продумывать, просчитывать это далеко не всегда строить формулы и вот это вот всё.
  • А от куда вы взяли доверительную вероятность 90%? Я что-то пропустил?
  • Экспериментальные данные можно считать надежными (достоверными), их называют доверительной вероятностью или надежностью.
    Формулы расчета надежности ........
    А вы просто взяли 90%.
    Ни чего не смущает?
      • Kot_Begemot, почему не покажите результаты при 10% надежности? или хотя бы при 50%?
  • wistopus
    24 мая 2021, 08:59
    ничего не понял-с....(не дорос еще или наоборот)
    но понравилося, что Шарп стал 8,4 вместо 1,4…
  • Sergey Pavlov
    24 мая 2021, 09:03
    Вы как бы опять намекаете, что надо расходиться. Не нравится мне это:))
  • wistopus
    24 мая 2021, 09:24
    Не умеют мои искусственные интеллекты ещё так думать, чтобы придумать что-то стоящее
    Вы слишком образованны для рынка.......
    корень квадратный — энто вверх моего математического аппарата на рынке..

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

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

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

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

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

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

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

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

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

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

              • SergeyJu
                25 мая 2021, 12:03
                Kot_Begemot, думаю, что устойчивость надо проверять иначе. Даже не устойчивость, а факт наличия эффекта во все периоды наблюдения. Допустим, если 10 лет подряд каждый год он более-менее есть, можно считать, что на это можно как-то полагаться. А если 2 года из 10 круто-круто, а остальные по нулям, то уже полагаться нельзя и надо рыть глубже.
                  • SergeyJu
                    25 мая 2021, 23:27
                    Kot_Begemot, ничего подобного я не предполагал, потому что уверен в том, что рынок не IID и тупая гауссова модель не интересна. Процесс нестационарный и с некоторой памятью. 
              • quant_trader
                25 мая 2021, 12:29
                Kot_Begemot, если на oos стратегия разваливается то продукт видимо тухлый. Степень тухлости oos конечно не показывает но разве оно нам надо?

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

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

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

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

        • SergeyJu
          24 мая 2021, 21:16
          svgr, у каждого Ньютона свое яблоко. Был такой Альтшуллер, придумал способ серийного производства яблок для инженеров. ТРИЗ называется.
      • svgr
        30 мая 2021, 10:22
        Sergey Pavlov, стандартная мысль по расчётам от обратного.
        Берёте свою систему и участки на ней хорошие и минусующие. Пытаетесь найти на каждом участке ключевой признак, на него влияющий. Чтобы его значения значимо отличались.
        Потом пытаетесь найти универсальную границу по значениям этого признака, чтобы успевать перестраивать систему с одного типа участка на другой. Если удастся, то хорошие участки снизят свои результаты меньше, чем улучшат свои результаты минусующие.
        • Sergey Pavlov
          30 мая 2021, 13:49
          svgr, хорошая мысль. Даже не вспомню, с какого года я этим занимаюсь. Иногда откладываю, иногда снова иду по этой схеме. Если коротко — у меня ничего не вышло из этого путного.
  • Susanin
    24 мая 2021, 11:37
    а вывод по проще можете как то сформулировать? для тех кто понимает смысл, но с формулами не дружит.
      • SergeyJu
        25 мая 2021, 12:04
        Kot_Begemot, совсем не страшно, есть риск-менеджмент, чтобы слепить из многих маленьких шарпов один побольше.
      • Susanin
        26 мая 2021, 00:15
        Kot_Begemot, т.е. сложные модели гарантировано приведут к подгонке под кривую. а простые могут не работать вообще.или перестать работать в любой момент.
        а от длинны данных. 1 год или 10. вероятность подгонки будет зависеть?
  • Dangerous Assumption
    24 мая 2021, 12:17
    Тот случай, когда опять ничего не понял, но поставил лайк, чтобы не выглядеть глупо.

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

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