Врач-бондиатОр
Врач-бондиатОр личный блог
23 августа 2022, 21:54

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

Иногда в публикациях попадаются рекомендации предварительно логарифмировать цены тикеров перед их отправкой в бэктестер.
Для чего это делается там не объясняют.
Я слышал когда-то краем уха, что логарифмирование применяют для подгонки выборок под нормальное распределение, но можно ли это прикрутить для бэктеста я не знаю.
Может знатоки математики подскажут что к чему?
31 Комментарий
  • E L
    23 августа 2022, 21:59
    Считать pnl по логарифмированным ценам или log-returns нельзя.
    Считать торговые сигналы можно.
      • E L
        23 августа 2022, 22:16
        Врач-бондиатОр, 1. Некоторые вещи удобнее считать, например, геометрическое среднее — exp(MA(log(price), ...)). 2. log-returns имеют немного более симметричное распределение, чем %-returns. 3. Если у инструмента сильно меняется цена (в разы) — может быть удобнее привязывать параметры системы к изменениям логарифмов цен (или относительным изменениям), а не к абсолютным.
        Получается, что допустимо делать входы в сделку по ln(close)>ln(MA...)?
        Допустимо, но в простых сигналах это зачастую смысла не имеет из-за монотонности логарифма, а также бОльших вычислительных затрат.
    • Kot_Begemot
      24 августа 2022, 15:18

      Eugene Logunov, а почему PnL-то нельзя? Я что-то не понимаю?

  • ves2010
    23 августа 2022, 22:03
    логарифмируют приращения цен...
    имхо это нормализация… т.е распределение становится более нормальным

    еще это действует как фильтр

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

    еще  разные бумаги можно упихать в один график…
      • ves2010
        23 августа 2022, 22:17
        Врач-бондиатОр, чтоб упихать логарифмируют приращения... 

        ну например a[i]=(close[i-1]-open)/open

        а=а + a[i]

        т.е все свели к относительным приращениям… и можно уже упихивать в один график
      • Serj90
        24 августа 2022, 08:43
        Врач-бондиатОр, нормированием, приведение к единой единице исчисления
  • Тимофей Мартынов
    23 августа 2022, 22:15
    Помнится А.Г. говорил, что работает именно с логарифмами приращения цен
  • criminal
    23 августа 2022, 22:32

    Нет, логарифмировать не надо. Работа идет с исходной ценой.

    Это если производится исследование приращений цен (а точнее, их отношений), то иногда это делают. Т.е. берут логарифм от отношения Close[n]/Close[n-1]. Но это делается для академических исследований, а не для бэктестов.

  • MadQuant
    23 августа 2022, 22:34
    Непонятно, что такое «предварительно логарифмировать перед отправкой в бэктестер»? Если в вашей модели нужны сырые цены — используйте цены, если нужны логарифмы цен — используйте логарифмы.
    Для какого-нибудь совсем тупого зафита нейросетями по рандомным фичам, например, логарифмы цен могут быть предпочтительны тем, что их разности дают ретурны актива на соответствующем горизонте.
      • MadQuant
        23 августа 2022, 23:04
        Врач-бондиатОр, ну, логарифмирование по определению изменит их распределение с условно-логнормального на условно-нормальное, но если вы считаете, что это поможет вашим моделям — скорее всего, вы используете какие-то неадекватные текущим данным модели (которым нужны ретурны вместо цен или наоборот).
      • Serj90
        24 августа 2022, 08:44
        Врач-бондиатОр, по мне, с ним проще строить арбитраж
  • Maxim Sheyko
    23 августа 2022, 22:37
    Чем проще, тем лучше.)
  • GOLD
    23 августа 2022, 22:53
    доказано, что логарифмирование увеличивает рост гуру на 4 см. и очень положительно сказывается на стоимости курсов

    иного влияния не выявлено

    если на упаковке молока вы увидите текст «произведено с помощью операций логарифмирования» — будьте уверены, вас разводят на бабки))
  • GoodBargains
    23 августа 2022, 23:23
    Татарин только знает
  • Максим
    23 августа 2022, 23:34
    В бэктест надо подавать то же, что и придёт в стратегию в реале, иначе это бэктест чего-то другого.

    Если где-то прям горит воткнуть логарифм, то в самой стратегии.
  • Daniil Lazarev
    23 августа 2022, 23:40
    Нашли грааль?
  • Лом
    24 августа 2022, 00:14
    Самый простой способ подавить немного шума
  • Алексей Никитин
    24 августа 2022, 07:55
    Так я и не понял, логарифмировать, или нет????
  • svgr
    24 августа 2022, 11:59
    Логарифмировать можно, если хотите уравнять в статистике отклонения от текущей цены в процентах.
    Если она уменьшилась на 50%, то это не то же самое, что увеличилась на 50% по эффекту. Уменьшилась в два раза, а выросла всего в полтора.
    Для логарифмов отклонения на + и — 50% перестанут быть 'равнозначными'.
    По основанию 2 в первом случае цена снизилась на 1 ступень, а во втором случае — поднялась на 0,585 ступени.
    Для логарифма цены равнозначными изменениями будут снижение цены на треть и увеличение цены на половину.
    Т. е. такие, что вместе возвращают цену к первоначальной.
  • Логарифм Интегралыч
    24 августа 2022, 12:03
    логарифм вероятности интереснее
  • svgr
    24 августа 2022, 12:09
    Известно, что на множестве ТС лонги имеют статистическое преимущество перед шортами. Они дают более позитивные результаты. Возможно, что логарифмирование несколько сократит это преимущество. Останутся прочие причины для лучшести лонгов.
  • fxsaber
    27 августа 2022, 11:26
    Здесь привел аргументы за логаримфирование.

    Тут четкий пример ТС, показывающий, что дает логарифмирование.

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

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