Зачем нужен «Freshness / Веса свежести» и как это работает при оценке
Когда индикатор опирается на исторические данные, часть наблюдений уже устарела — они отражают ситуацию,
которая могла измениться. «Веса свежести» уменьшают вклад старых точек в итоговую оценку индикатора и, наоборот,
подсвечивают свежую информацию.
Как это работает «на пальцах»
- Для каждой строки данных считается её возраст относительно даты расчёта (
asOf) — в выбранных единицах (days / months / years).
- По возрасту строка попадает в одну из полос (
0–X, X–Y, …) и получает вес (например 1.00, 0.70, 0.30).
- Чем старше данные — тем меньше вес (обычно).
- Итоговую оценку индикатора формирует модель с учётом этих весов: свежие данные влияют сильнее, старые — слабее.
- Последняя полоса может быть «до бесконечности»: её вес трактуется как
w_older — минимальный или нулевой вклад очень давних данных.
- Если включить interpolate, веса плавно меняются внутри полос, без резких ступеней на границах.
Когда это особенно полезно
- Фундаментальные ряды (отчётность): старые кварталы/годы важны меньше свежих.
- Сигналы с «выдыханием»: событие или всплеск влияет недолго — вес естественно «тает».
- Серии с задержками обновления: чтобы не переоценивать длинный «хвост» (старые точки не должны забивать свежую картину).
Что выбрать в «Unit»
- days — высокочастотные/оперативные ряды (котировки, новости, события).
- months — квартальные/месячные метрики (доходы, EPS, макро).
- years — очень длинные структурные серии.
Хорошие паттерны настройки
- Ступени:
0–3м → 1.00; 3–12м → 0.75; 12–24м → 0.50; >24м → 0.10 — просто и надёжно.
- Длинный хвост: несколько первых полос с убывающими весами + небольшой
w_older (например 0.10).
- Плавное затухание: включить interpolate, чтобы веса уменьшались линейно внутри полос.
Важно
- Веса не должны возрастать с возрастом: монотонно убывают или равны.
- Будущие даты дают возраст 0.
- При одной строке с
to:null — вес константный на весь период.