SergeyJu
SergeyJu личный блог
28 июня 2020, 09:44

ПЕРЕПОДГОНКА ч.2

ПЕРЕПОДГОНКА ч.2

В предыдущей заметке https://smart-lab.ru/blog/628025.php

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

Весь расчет был сделан для считающегося условно-безопасным случая 3 – х индикаторов (2^3=8 кластеров). Резонный вопрос, а если кластеров больше или меньше, что будет. Для начала провел моделирование для случая 2, 4, 8, 16, 32 кластеров и привел эмпирическую формулу, связывающую результат с числом степеней свободы (число коих на 1 меньше числа кластеров).

Число кластеров

Степеней свободы

Средний Шарп

Приведенный Шарп

2

1

0,214

0,214

4

3

0,375

0,216

8

7

0,573

0,217

16

15

0,836

0,216

32

31

1,191

0,214

 

Связь очень простая, средний финансовый результат (или Шарп, в данном случае это одно и тоже с точностью до множителя) от числа кластеров  подгонки пропорционален корню из числа степеней свободы. С точностью до 3 знака. Каждое измерение состояло из 100 000 случайных попыток построить эквити. Так что расхождения в 3 знаке трактовать как наличие более сложной зависимости нет оснований. Гистограмма распределения финрезов эквитей выглядит во всех случаях почти как гауссовский колокол. В общем, ничего удивительного, ЦПТ она такая, созданная из корня.

Приведу  таблицу, аналогичную предыдущей, но в терминах среднегодовой доходности.

Число кластеров

Степеней свободы

Среднегодовая доходность

СКО среднегодовой доходности

2

1

8,8%

6,6%

4

3

15,1%

6,5%

8

7

23,1%

6,5%

16

15

33,6%

6,4%

32

31

48,0%

6,3%

 

Всего 32 кластера – и чудовищно высокая 1,48 ^ 13 > в 500 раз  за 13 лет доходность!  

А если мы имеем освященный временем индикатор, и замешаем его в подгонку? Возьмем в качестве такого индикатора экспоненциальное скользящее среднее, а в качестве порогового условия для него – сравнение с ценой закрытия дня. Больше или меньше. По формуле

S(i)=S(i-1)+(C(i)-S(i-1))*(1/P)

используем случайный вещественный параметр P в диапазоне 2-32. В стандартной терминологии это, примерно, от 4 до 64 дней. Среднегодовая  доходность 16,4%, её СКО 2,2%. То есть этот индикатор по потенциалу примерно соответствует двум случайным индикаторам.

Сразу тянутся руки добавить еще один простой индикатор – и вот оно, счастье. К сожалению, дальше все не так просто. Например, RSI вообще не имеет смысла.
Возможно продолжение...

51 Комментарий
  • wistopus
    25 ноября 2023, 21:27
    по памяти годовую доходность  по индексу S&P  в 48%  имел Гэри Смит… правда, что такое кластеры  понятия не имел, а спрыгивали при малейшем шухере с взаимных фондов… 
    все энто при наличие Мощнейшего бычьего тренда  с середины 80 до начала нулевых…

    и вновь  входил, когда индикатор настроения очень умных и не очень… приходил в движение в их сторону…..
  • wistopus
    28 июня 2020, 12:11
    о чем Вы пишите я, естественно, не понимаю… возможно, что энто и к лучшему…
  • wistopus
    28 июня 2020, 12:53
    нет  никакого отторжения… просто по большему счету математика бесполезна...

    Ваша идея -  зеленая свеча  пересекает среднюю  — покупаем, красная пересекает среднюю — продаем… возможно энто и есть сермяжная правда трейдинга…
  • Replikant_mih
    28 июня 2020, 12:53

    «Хотелось бы так сказать в общих чертах понять что ему нужно» ©

     

    Почти ничего не понял).

    1. Речь о том, что проверяется гипотеза о том, что чем больше степеней свободы, тем больше вероятность подгонки? — Или про другое?)

    2. Это исследование ради исследования, как я понял, чисто теория, причем теория, не нарушающая представления автора о мире, т.е. ну так чисто поразвлечься. 

  • 3Qu
    28 июня 2020, 13:53
    Тоже ничего не понял. Даже прочитал ч.1.
    Но плюсы поставил. Оценка адекватности системы реальности вопрос интересный.
    Вообще, имхо, если оптимальность системы оценивать не по Макс прибыли, или лучше вообще не по прибыли, то вопросы подгонки уже остро не стоят.
      • 3Qu
        28 июня 2020, 14:36
        SergeyJu, попробую топик с намеками написать ближе к вечеру, если со временем получится.
        • bascomo
          13 марта 2021, 11:24
          3Qu, Получилось?
          • 3Qu
            13 марта 2021, 12:32
            bascomo, конечно, тогда же.
            • bascomo
              13 марта 2021, 13:34
              3Qu, 20 июня?
              • 3Qu
                13 марта 2021, 14:11
                bascomo, не помню, м.б. немного позднее.
  • bocha
    28 июня 2020, 14:17
    Прекрасное исследование!
    Та простота, которая достигается только огромным усилием ума.
  • Jkrsss
    28 июня 2020, 20:13
    Что то до меня не доходит:). Вы методом Монте карло коэффициент пытаетесь добыть который улучшит торговлю? И чем оптимизация от переподгонки отличается, это как оптимизировали по волатильности, а потом уже полученное число оптимизировали по отрасли.

    Как не переоптимизировать движение пьяного который каждый два квартала поворачивает либо налево либо направо. Все равно кругами ходить будет.
      • Jkrsss
        28 июня 2020, 22:31
        SergeyJu, Тогда может это ошибка второго рода. Применять системы которые в принципе торговать нельзя.
          • Jkrsss
            29 июня 2020, 18:26
            SergeyJu, к статистическим методам, в частности к подобному с монте карло методу последовательного анализа(это тоже числовой(статистический метод)). Так в учебниках пишется. А вообще если бы графически показали результат нагляднее было бы. 
  • Sergey Pavlov
    29 июня 2020, 08:11
    Спасибо!
    Получается довольно пессимистично?
    Оценка сверху показывает, что большие доходности будут почти наверное жуткой переподгонкой.
    Оценка снизу, где подгонка разумна, говорят, что на интересные доходности рассчитывать не приходится.

    За что зацепиться оптимисту?
    Полагать, что есть некие рыночные индикаторы и нерыночные.
    Из нерыночных (тупое преобразование временного ряда) ничего не соорудить.
    Получается, чтобы дойти до рыночных (которые не любое преобразование данных), нужен опыт торговли и съесть тот самый пуд говна. Что по итогу вряд ли стоит делать тому, кто еще в это не вляпался.
    • Михаил
      29 июня 2020, 09:06
      Sergey Pavlov, мне кажется один из выводов, что не стоит ожидать чудес от направленной торговли на одном инструменте. Очень хочется большей доходности — нужно глядеть в сторону большего числа инструментов или того или иного вида арбитража (который не рассмотрен в этой симуляции).
        • Михаил
          29 июня 2020, 11:14
          SergeyJu, я не имею практического опыта в арбитраже, но по ощущениям, это требует серьезных усилий в плане скорости инфраструктуры, и у таких стратегий мало емкости. Насколько понимаю, есть успешные арбитражёры, но с наскока там точно не получится. 
      • bascomo
        13 марта 2021, 11:11
        SergeyJu, а деньги куда деваются? Где эти триллионеры?
          • bascomo
            13 марта 2021, 12:03
            SergeyJu, брокеры и биржи?
  • Sergey_B
    29 июня 2020, 13:56
    То есть этот индикатор по потенциалу примерно соответствует двум случайным индикаторам.

    SergeyJu, я правильно понимаю, Вы построили индикатор степени случайности индикаторов и теперь с помощью него можно отделять зерна от плевел?
  • ezomm
    26 октября 2020, 19:22
    Я изучал сотни индикаторов в Метастоке 7.2.Тестировал и оптимизировал, сочинял свои.Один на РАОЕЭС  оказался удивительно доходным, но работал только на РАО.Он был сформирован из нескольских средних, причем некоторые отличались на 1 шаг периода.С  2008г я торгую без прог и индикаторов.Ставлю одну сдвинутую среднюю типа красного аллигатора. 
    Торгую на раз-два — сделка.Типа считаю углы до 2х или до 5ти ( 2я или 5я свеча фрактала Вильямса. У меня есть сборник гениальных индюков на языке Метастока (вижел бейсик ). Средние на синусах -это чтото особенное. Могу подарить.

    PI:=3.1415926;
    SD:=180/6;
    S1:=Sin(1*180/6)*C;
    S2:=Sin(2*180/6)*Ref(C,-1);
    S3:=Sin(3*180/6)*Ref(C,-2);
    S4:=Sin(4*180/6)*Ref(C,-3);
    S5:=Sin(5*180/6)*Ref(C,-4);
    Num:=S1+S2+S3+S4+S5;
    Den:=Sin(SD)+Sin(2*SD)+Sin(3*SD)+Sin(4*SD)+Sin(5*SD);

    Num/Den

  • Ilan Malkin
    28 октября 2020, 18:34
    Sergдобрый вечер. Я недавно написал пост на сайте и мне посоветовали с вами поговорить. Я инвестирую в рыночно-нейтральные торговые стратегии и в моменте ищу новые стратегии для инвестиции.
  • Ilan Malkin
    28 октября 2020, 18:35
    Вы принимаете капитал под управления?
  • bascomo
    13 марта 2021, 11:06
    Это про поиск настроек индикатора? Есть один интересный подход…

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

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