KarL$oH
KarL$oH личный блог
27 июня 2018, 14:12

Сишный АнтиБаффет, с днем рождения! АКФ тебе в качестве подарка.

Всем привет!

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

Интересно наблюдать как он растет, набирается сил, падает, а затем снова растет...

3 года это уже не хухры-мухры!

Вот здесь мы с ребятами обсуждали тему АКФ и поняли, что пока на практике ее «не пощупаем», то и не поймем для чего она нужна и нужна ли вообще?

Итак, что же дано?

Дано:
        1. Теоретические азы мы черпаем здесь
        2. Ну и в качестве испытуемого берем Сишного АнтиБаффета

Поехали!

Эквити за 3 года:

Сишный АнтиБаффет, с днем рождения! АКФ тебе в качестве подарка.

В качестве случайного процесса у нас будут выступать дневные приращения Эквити в % (без реинвестирования):

Сишный АнтиБаффет, с днем рождения! АКФ тебе в качестве подарка.

Далее мы считаем автокорреляционную функцию временного ряда, для этого мы выстраиваем вот такую вот матрицу дневных приращений:


Сишный АнтиБаффет, с днем рождения! АКФ тебе в качестве подарка.

Коэффициенты автокорреляции первого, второго уровня и т.д. считаются очень просто в экселе, достаточно выделить два ряда и воспользоваться встроенный функцией "=коррел(...)".

Вот так это выглядит для вычисления коэффициента корреляции 5-го порядка:

Сишный АнтиБаффет, с днем рождения! АКФ тебе в качестве подарка.

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

Вот наша коррелограмма вплоть до 30-го лага:

Сишный АнтиБаффет, с днем рождения! АКФ тебе в качестве подарка.


Теперь снова возвращаемся к теории и вспоминаем следующее:

При помощи анализа автокорреляционной функции и коррелограммы можно выявить структуру ряда.

Анализ структуры ряда можно проводить следующим образом:

  • если наиболее высоким оказался коэффициент автокорреляции первого порядка, исследуемый ряд содержит только тенденцию;
  • если наиболее высоким оказался коэффициент автокорреляции порядка "τ", ряд содержит циклические колебания с периодичностью в "τ" моментов времени;
  • если ни один из коэффициентов автокорреляции не является значимым, можно сделать одно из предположений относительно структуры ряда:
  1. ряд не содержит тенденции и циклических колебаний, а включает только случайную компоненту,
  2. ряд содержит сильную нелинейную тенденцию.


Выводы:

Мы видим, что наиболее значимыми коэффициентами автокорреляции являются коэффициент 13-го (0,158) и 18-го порядка (-0,157), т.е. делаем вывод, что наш ряд содержит циклические колебания с периодичностью в 13-ть и 18-ть периодов времени.

Эту же цикличность также можно наблюдать графически, особенно если посмотреть на просадки (это интереснее всего):

Сишный АнтиБаффет, с днем рождения! АКФ тебе в качестве подарка.


Главный вывод: АКФ полезна для определения периодичности циклических колебаний. Фондовый рынок — это временная структура, все здесь повторяется и любая стратегия будет обладать некой цикличностью временной структуры!

74 Комментария
    • Antonov
      27 июня 2018, 16:59
      KiboR, а почему комменты А. Г. и криптомана удалены?
      • tranquility
        27 июня 2018, 19:54
        Antonov, я тоже не вижу
        • Antonov
          27 июня 2018, 23:39
          tranquility, я перепутал. Это просто кнопка вызова оппонентов была.
      • А. Г.
        27 июня 2018, 20:20
        Antonov,  я ещё ничего в этот топик не писал. 
    • А. Г.
      27 июня 2018, 20:24
      KiboR,  АКФ лучше считать специальными методами (есть в Excel и специализированных программах типа SPSS), у простого подсчёта корреляции большая ошибка. А ещё лучше сразу считать ЧАКФ. Но на значения меньше 0,1 при правильном расчёте я бы вообще внимания не обращал.
        • А. Г.
          27 июня 2018, 20:31
          KiboR,  нет меньше 0,1 по модулю. 0,3  по модулю — это уже «хорошая» линейная связь, если она получена для приращений.
            • А. Г.
              27 июня 2018, 22:20
              KiboR,  у независимого брасания монетки АКФ — нулевая, как и у приращений случайного блуждания, а вот у самого случайного блуждания корреляция соседних значений больше 0,9, но толку от этого нуль. 
              • Oleg Only Algo
                27 июня 2018, 22:34
                А. Г., а если добавить к бросанию:  Если монетка упала на решку, считаем все равно Орёл. Чему АКФ равно? 
                  • Oleg Only Algo
                    27 июня 2018, 23:54
                    KiboR, а сверху постоянно увеличившееся 1*1+2*2+3*3...?
                • А. Г.
                  28 июня 2018, 08:29
                  Oleg Only Algo, 0 на 0 равно 1. Между величинами одна из которых, является линейной функцией другой,  корреляция по модулю равна 1.
                  • Oleg Only Algo
                    28 июня 2018, 15:20
                    KiboR, ну значит в числителе =1, а в знаменателе 0. Если линия вверх под 45 градусов, то стремится к бесконечности?
                      • Oleg Only Algo
                        28 июня 2018, 17:01
                        KiboR, ну по смыслу то понятно, что одна линия с точно такой же корреляция 1. То есть в числителе=0?
  • Стас Бржозовский
    27 июня 2018, 16:14
    Хорошо! Только по выводу. +-0.15, кмк, очень мало. «Цикличность» та слабая, почти незаметная. Скормить бы интересно твоей табличке что то искусственное, с реальной цикличностью и посмотреть как оно выглядит. И, до кучи, что то монотонно растущее по экспоненте и тоже посмотреть
      • Стас Бржозовский
        27 июня 2018, 18:34
        KiboR, странный фигвам. с периодической функцией. надо призадуматься в эту сторону
          • Стас Бржозовский
            27 июня 2018, 19:03
            KiboR, что то не так. В случае периодической функции не там должен максимум жить. А поиграться я тоже попробую попозже)
    • Oleg Only Algo
      27 июня 2018, 17:40
      KiboR, в 1 лаге сколько сделок?
        • Oleg Only Algo
          27 июня 2018, 18:22
          KiboR, трудоемко однако строить) то есть если 5 Тыщ значений эквити и сдвигать на одну, то долго выйдет) а 30 лаг-это что значит? почему 30, а не 174, если сдвигать на одно значение?
            • Oleg Only Algo
              27 июня 2018, 18:44
              KiboR, но что, какие выводы главное она полезные даст то? Как с помощью ее оценить надежность системы то? Ведь и на глазок можно Оценить эквити. По значению АТФ мы же не сможем понять, что там у нас внутри системы, есть ли переоптимищация?
  • Oleg Only Algo
    27 июня 2018, 18:37
     Сверху в формуле коэф линейной зависимости, в знаменателе -разброс от средней. Получается смысл этого АТФ то какой основной?
      • Oleg Only Algo
        27 июня 2018, 19:00
        KiboR, то есть стратегия не рабочая?))140 процентов то прилипло
          • Oleg Only Algo
            27 июня 2018, 19:22
            KiboR, тенденцию все же на глазок лучше?
              • Oleg Only Algo
                27 июня 2018, 19:31
                KiboR, если на практике не Работал, сразу походу не въедешь) Пусть это корреляция. По моему про эту АТФ лучше забыть)
  • SergeyJu
    27 июня 2018, 19:25
    АКФ — неподходящий инструмент для анализа цикличности. Есть прямой метод — анализ Фурье или вейвлеты. Есть методы типа максимума энтропии или алгоритма Берга, которые дают сверхразрешение при высоком отношении сигнал/помеха.
    Скриган строит гребенку полосовых фильтров. Пока я пользы в таких методах не нашел. Потому что (а) процесс нестационарный (б) сигнал/помеха низкие.
      • SergeyJu
        27 июня 2018, 19:46
        KiboR, Вы не слышите. Ряд НЕСТАЦИОНАРНЫЙ. А это значит, что временное окно для оценок, неважно, АКФ или спектра по Фурье, бесмысленно делать слишком большим. 
        И хотя я уверен, что в рынке есть и недельная и месячная цикличность, то, что Вы её не обнаруживаете говорит о негодности инструмента.
      • Oleg Only Algo
        27 июня 2018, 19:46
        KiboR, хочешь, могу позже чуть сбросить по РТС эквити стратегии по ртсф за все время истории с 2005 года, там сделок достаточно много. Что там АКФ покажет интересно? Если занялся и формулы уже настроены?) а то мне не до этого сейчас немного
          • Oleg Only Algo
            27 июня 2018, 20:01
            KiboR, подневных нет, к сожалению. Только по закрытым сделкам, а это не совсем правильно получается выйдет
              • Oleg Only Algo
                27 июня 2018, 20:35
                KiboR, так чтобы усреднить, сложно сказать, бывает по несколько в день, а бывает и по несколько дней, когда в тренд попадает. 
                  • Oleg Only Algo
                    27 июня 2018, 21:05
                    KiboR, ну это АКФ как я понял на практике  не применить, мне по крайней мере. Я не математик, к сожалению, хотя в институте по мат статистике 5 была, поэтому только по смыслу если понимаю четко, то использую. А тут ну как то для регулирования размера позы если,  да и то у меня свои представления. Максимум пользую реинвест ( расчёт от суммы на счете доли на алгоритм) на практике
          • Стас Бржозовский
            27 июня 2018, 23:57
            KiboR, я как то начало упустил. Этот антибаффет это что то открытое, или наоборот? В чем суть его?
              • Стас Бржозовский
                28 июня 2018, 09:17
                KiboR, ага. А точки с абсциссами 41, 85 и 120 это какие даты примерно?
  • Sergey Pavlov
    28 июня 2018, 07:43
    Здесь уместно следующее рассуждение.

    1. Когда мы строим АКФ или Фурье-спектр (что одно и то же по сути) для модельных примеров типа прямоугольных импульсов, пил, синусоид, экспонент, мы обнаруживаем не то, чтобы артефакты, но то, что заранее предопределено. Что тут важно? В каждом из модельных примеров мы пониманием, что мы его строим как циклически продолжающийся бесконечно хоть влево хоть вправо и начиная с некого окна он неизбежно выглядит как стационарный и всё гуд.

    2. Когда мы берем эквити от нестационарного процесса, которая сама с высокой вероятностью нестационарна, мы не знаем, какой она будет в будущем. Что важно в этом случае?
    2.1. Мы анализируем растущие эквити (в кумулятивном виде).
    2.2. Мы анализируем их как такие, которые буду расти дальше вправо и хорошо бы, чтобы они росли и в прошлом влево.
    2.3. Мы предполагаем, что характер роста будет примерно таким же. В противном случае наши попытки анализировать цикличности бессмысленны априори.

    3. А теперь представим, что у нас получается с учетом выполнения этих предположений 2.1.-2.3. Если и дальше эквити будет расти с периодическими просадками, т.е. у эквити процесса всё-таки есть удовлетворительное положительное матожидание, то уместно без анализа цикличности эквити (неважно, какими методами) после положительных серий сделок сокращать экспозицию, а после отрицательных — наращивать.

    4. Т.е. желание контртрендить растущую эквити вполне обосновано чисто общим рассуждением и принятием гипотез, которые мы и так принимаем, если вкладываемся в данную стратегию. БЕЗ РАСЧЕТОВ АКФ.

    5. Дальше дело техники. Любую ли эквити можно и стоит ли контртрендить и как это делать. Где-то овчинка стоит выделки, где-то — нет.

    6. Но самое важное. Для принятия решения об улучшении эквити нужно опираться на кое-что иное, нежели на анализ типа АКФ.
      • Sergey Pavlov
        28 июня 2018, 08:00
        KiboR, значит что-то где-то не так в наших рассуждениях или действиях. Надо понять, почему. Мне помогают в этом модельные эквити, растущие по разным случайным приращениям. Я обнаружил эмпирически примерно следующее. Если сделки редкие и в ср. положительная сделка ощутимо больше средней отрицательной, а с их частотой всё наоборот и отрицательная ограничена как в трендовых реверсных системах, то уместно то, о чем я сказал. В иных случаях наоборот. В любом случае обнаруживать цикличность по малому количеству сделок и искать конкретный лаг
  • П М
    28 июня 2018, 11:37
    кмк главные проблемы (задачи) это
    1. отличить закурфиченные системы от жизнеспособных, при одинаковом коде и разных, но предопределённых параметрах 
    2. найти факторы, которые позволяют давать перспективным сделкам больше денег

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

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


      • П М
        28 июня 2018, 17:24
        KiboR, ну вот может мы всё-таки как-то знаем хотя бы вероятностно
          • П М
            28 июня 2018, 19:10
            KiboR, это факт, я больше про цену говорю, ну какие-то же есть факторы, которые говорят — что тут вероятнее получить прибыль, а тут — как повезёт

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

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