Нужно ли логарифмировать данные перед бэктестом?
Иногда в публикациях попадаются рекомендации предварительно логарифмировать цены тикеров перед их отправкой в бэктестер.
Для чего это делается там не объясняют.
Я слышал когда-то краем уха, что логарифмирование применяют для подгонки выборок под нормальное распределение, но можно ли это прикрутить для бэктеста я не знаю.
Может знатоки математики подскажут что к чему?
Считать торговые сигналы можно.
Получается, что допустимо делать входы в сделку по ln(close)>ln(MA...)?
Допустимо, но в простых сигналах это зачастую смысла не имеет из-за монотонности логарифма, а также бОльших вычислительных затрат.
Eugene Logunov, а почему PnL-то нельзя? Я что-то не понимаю?
имхо это нормализация… т.е распределение становится более нормальным
еще это действует как фильтр
т.е если ты делаешь рейнджевые индикаторы типа параболика, боллинджера, регрессий, конверта то может быть улучшение
еще разные бумаги можно упихать в один график…
Но ведь получится так, что сигнал будет на преобразованном чарте, а вход будет на непреобразованном...
А как можно разные бумаги в один график упихать? особенно если порядок цен разный
ну например a[i]=(close[i-1]-open)/open
а=а + a[i]
т.е все свели к относительным приращениям… и можно уже упихивать в один график
Нет, логарифмировать не надо. Работа идет с исходной ценой.
Это если производится исследование приращений цен (а точнее, их отношений), то иногда это делают. Т.е. берут логарифм от отношения Close[n]/Close[n-1]. Но это делается для академических исследований, а не для бэктестов.
Для какого-нибудь совсем тупого зафита нейросетями по рандомным фичам, например, логарифмы цен могут быть предпочтительны тем, что их разности дают ретурны актива на соответствующем горизонте.
иного влияния не выявлено
если на упаковке молока вы увидите текст «произведено с помощью операций логарифмирования» — будьте уверены, вас разводят на бабки))
Если где-то прям горит воткнуть логарифм, то в самой стратегии.
Если она уменьшилась на 50%, то это не то же самое, что увеличилась на 50% по эффекту. Уменьшилась в два раза, а выросла всего в полтора.
Для логарифмов отклонения на + и — 50% перестанут быть 'равнозначными'.
По основанию 2 в первом случае цена снизилась на 1 ступень, а во втором случае — поднялась на 0,585 ступени.
Для логарифма цены равнозначными изменениями будут снижение цены на треть и увеличение цены на половину.
Т. е. такие, что вместе возвращают цену к первоначальной.
Eugene Logunov, так там весь «упс» берется из-за округления. При капитале в миллиард и выше никаких упсов не будет.
Да, одна обратная операция (может даже одна на весь массив, если нужен только конечный PnL). Но зато мы сокращаем время расчета позиции, тем, что не пересчитываем ее как q[i]=c[i-1]/p[i].
Правда, скорость подсчета разницы, отношения и логарифма я не знаю, может быть логарифм считается сильно дольше, чем более простые действия...
Тут четкий пример ТС, показывающий, что дает логарифмирование.