Оптимизация Выявления Тренда и Составление Весов по Временной Шкале


Допустим у нас есть определенная метрика, например, прибыль на акцию, которая колеблется как указано на графике выше.
Наша задача выявить:
  • 1) 10 летний тренд (наклон линии slope)
  • 2) 5 летний тренд (наклон линии)
  • 3) 3 летний тренд (наклон линии)
  • 4) Изменение за последний год (наклон линии)

Из всего вышеперечисленного надо сделать конечный вывод привлекательности акции.
Вопрос:
  1. Как лучше всего распределить веса по годам? За какой период изменения важнее (больше веса)?
  2. По какой формуле надежнее всего определять тренд за каждый промежуток времени?
  3. Есть ли смысл использовать логнормализацию цен при сильных трендах или значительных колебаниях значения метрики?

Для упрощения расчетов даю данные за десять лет на графике:
8 8 6 7 5 6 7 8 6 6

Фишки, инвестиционные идеи, сигналы и рекомендации!

Хотите получать бесплатные видеокурсы, материалы и участвовать в закрытых вебинарах?

Тогда подписывайтесь на рассылку и получайте доступ!

Комментарии

Чем ближе к сегодняшнему дню тем важнее.
Может использовать угол наклона какой нибудь скользящей средней?
А как же дисперсия (разброс) прибылей. У компании могут быть внутренние циклы. В этом году прибыль меньше — значит в следующем больше. Недавний пример с Амазон 2013-2014-2015

Я считаю что надо использовать в подсчетах как минимум:
Логарифмическая аппроксимация полезна для описания величины, которая вначале быстро растет или убывает, а затем постепенно стабилизируется. Логарифмическая аппроксимация использует как отрицательные, так и положительные величины.

Какие идеи будут по?:
Полиномиальная аппроксимация используется для описания величин, попеременно возрастающих и убывающих. Она полезна, например, для анализа большого набора данных о нестабильной величине. Степень полинома определяется количеством экстремумов (максимумов и минимумов) кривой. Полином второй степени может описать только один максимум или минимум. Полином третьей степени имеет один или два экстремума. Полином четвертой степени может иметь не более трех экстремумов.
Если метрика колеблется как бешеная и если использовать полиномиальный подход,

где где b и с 1 …с 6 – константы.
Тогда что считать константами?
И будет ли данный подход иметь преимущество перед простой скользящей средней?
Андрей ты уже гуру в этом вопросе )) А я мыслю простыми вещами и смотрел бы в первом приближении по скользящей средней и углу ее наклона, а также насколько наше сегодняшнее значение выше или ниже относительно средней.
Ага, щас. Я любитель такой же как и ты. Смотреть не получиться, все будет в формулу попадать и на выходе должен быть один или несколько выводов. Наша задача убрать шум и случайные отклонения
Во-первых, уточни, ты глазами видишь искомые тренды и алгоритм должен выдавать тот же результат
или не видишь и тебе нужен алгоритм чтобы понять что происходит?
Вопрос неоднозначный на самом деле) Иногда алгоритм предпочтительнее когда даже глазами не понятно какой тренд. Поэтому предлагаю задачу разбить на два этапа:
1) Тренд видно глазами и алгоритм должен его подтвердить
2) Тренд не понятен и алгоритм предпочтительней
Это 2 разных совершенно алгоритма.
Первый пишется «под тебя» — тогда рассказывай, что видишь; а второй параметрически выводит сигнал. И может не совпадать с твоим мнением
Выбери уже :)
Давай с чистой математики начнем:
Какой из весов важнее: 10,5,3,1 год?
Интуитивно и опытным путем я бы взял что-то между 5 и 3 годами. Один год может быть просто выносом.
Затем сформируем параметрический алгоритм определения наклона (slope) тренда. Это будет выводиться в виде Красного/Зеленого Флага в сканерах
можно использовать бинарные веса:
начало — конец = итог(за период) = 1 или -1
максимальный вес у 10-летнего периода, естественно, если только ты не ловишь перевертышей. ПРимерно так:
веса 10-5-4-2 соответственно годам, складываем.
+ сюда же прикрутить минимальный порог изменения, который вообще не учитываем (обязательно).
Можешь на графике выше в виде примера сделать? Так понятней будет. И порог тоже на этом примере.
порог 0,5 / -0.5
6-8=-2 -2>-0.5 -> -1*10=-10
6-5=1… 1*5=5
6-7=-1… -1*4=-4
6-0=0 0< 0.5 -> 0
-10+5-4=-9 =негатив
веса 10-5-4-2 соответственно годам, складываем
Почему не 10-5-3-1? Почему последние два года сдвигаются а 5 нет?
чтобы пятилетний возвратный тренд переломил 10-летний в весе.
Итак мы получаем следующий временной ряд за 10 лет:
8 8 6 7 5 6 7 8 6 6
6-8=-2 -2>-0.5 -> -1*10=-10
Вычитаем из 10 летнего (8) пятилетнее (5)
8-5 = 3, больше 0,5 соответственно позитив или +1
Я правильно тебя понял?
нет, у меня строка 2:
6-5=1 (больше 0,5 соответственно позитив или +1) и умножаем на вес 1*5=5
это расчет отдельно пятилетнего периода, и далее 3- 1- летних
потом складываешь все веса а не вычитаешь.
и кстати в твоем примере нет данных для 10 лет, поэтому использовал за 9 лет.
2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
8 8 6 7 5 6 7 8 6 6

1) Иван, можешь для временного ряда за десять лет
построить код PHP и скинуть в личку.
2) Также нужен сценарий для компаний с 5 летней историей
3) для трехлетних компаний, которые вышли на IPO не так давно
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.