Блог им. Zmey56

Общий финансовый анализ на Python (Часть 2)

    • 22 марта 2020, 13:48
    • |
    • Aleks
  • Еще
Ну что продолжим?

Скользящее окно(Moving Windows)

В заголовке я привел дословный перевод. Если кто меня поправит, и другой термин применяется — то спасибо.

Смысл скользящего окна– с каждым новым значением функция пересчитывается за заданный период времени. Этих функций большое количество. Для примера: rolling.mean(), rolling.std(), которые чаще всего и используют при анализе движения акций. rolling.mean() — это обычная скользящая средняя, которая сглаживает краткосрочные колебания и позволяет визуализировать общую тенденцию.

# Выделяю скорректированную цену закрытия 
adj_close_px = sber['Adj Close']

# Вычисляю скользящую среднию
moving_avg = adj_close_px.rolling(window=40).mean()

# Вывожу результат
print(moving_avg[-10:])
Общий финансовый анализ на Python (Часть 2)
Дальше построим график, чтоб лучше понять то, что получается в результате работы данной функции:
# Вычисление короткой скользящей средней
sber['40'] = adj_close_px.rolling(window=40).mean()

# Вычисление длинной скользящей средней
sber['252'] = adj_close_px.rolling(window=252).mean()

# Построение полученных значений
sber[['Adj Close', '40', '252']].plot(figsize=(20,20))

plt.show()
Общий финансовый анализ на Python (Часть 2)

Как видно rolling.mean() справляется с поставленной задачей. Функция сглаживает краткосрочные колебания и позволяет увидеть долгосрочный тренд на основании которого можно принять решение. Цена выше рассматриваемой скользящей средней — берем акцию, ниже — продаем акцию — если просто. Или кто то может построить свою стратегию на основании пересечения средних. Тут уже каждый должен самостоятельно принять решение.

Волатильность

Волатильность акций — это изменение дисперсии доходности акций в течение определенного периода времени. Обычно сравнивают волатильность одной акции с другой, чтобы получить представление о том, какая может иметь меньший риск, или с рыночным индексом, чтобы понять волатильность акций относительно рынка. Как правило, чем выше волатильность, тем рискованнее инвестиции в эту акцию. Необходимо отметить, что она не является постоянной и изменяется с течением времени. Это можно увидеть опять же при помощи функции rolling.std(), входящей в пакет pandas. Проведу расчет изменения волатильности за квартал:

# Определяю рассматриваемый период
min_periods = 60 

# Вычисляю волатильность
vol = daily_pct_change.rolling(min_periods).std() * np.sqrt(min_periods) 

# Строю график
vol.plot(figsize=(10, 10))

plt.show()
Общий финансовый анализ на Python (Часть 2)
Прошу обратить внимание, что в отличие от прошлой недели у меня появилось еще два значения — индекс московской биржи (IMOEX.ME) и РБК (RBCM.ME). Их значения мне потребуются в следующей публикации про метод наименьших квадратов.




4.8К | ★25
10 комментариев
Волатильность акций — это изменение дисперсии доходности акций в течение определенного периода времени. 
Отсюда следует, что волатильность не может изменяться скачкообразно.
Откуда тогда на графиках скачкообразные изменения волатильности?
avatar
3Qu, если я правильно понял вопрос, то просто график сжат, так как я год и три месяца уместил в одной картинке. растянуть и картинка будет выглядеть более приемлемо. Но не считая последние месяц в силу определенных событий.
avatar
Zmey56, не так уж и сжат. Мин период =60, на графике деление = 2 мес.
Длительность переходного процесса на 1(t) = 2 мес. По уровню 0.7 = 42 дня.
Не говорю, что ошибка, но я не понимаю откуда берутся скачки.
avatar
3Qu, так как вопрос интересный, пересчитал все — ошибки нет. можно еще через excel прогнать, как на сайте бкс предлагают, но я не думаю, что что то измениться. Ради интереса я проверил PIKK — скачок произошел 10.10.2019.
График из Yahoo. Можно еще конечно наложить скользящую среднюю, чтоб сгладить такие вещи, но мне это не подходит.

avatar
Zmey56, скачек по волатильности
avatar
Zmey56, не, на волатильность МА не надо накладывать. Она сама по себе уже д.б. сглажена.
avatar
3Qu, согласен. но есть же индикаторы где средняя сглаживается еще одной средней и т.д. Это просто как вариант я предложил и сам как говорил не использую…
avatar
Графики может рисовать только Юпитер или еще кто?
avatar
Exorcist, я, так, в Spyder все делаю. Имхо, все гораздо удобней. Но на вкус и цвет…
avatar
 Почему, по идее в любой среде. Мне удобнее Jupyter, так как на нем учился + использую Colab, если лень устанавливать на машину Anaconda.
avatar

Читайте на SMART-LAB:
Фото
Tickmill подводит итоги рекордного 2025 года
Tickmill закрыл 2025 год как один из самых успешных в своей истории, достигнув рекордных показателей по торговой активности, росту...
Акции Совкомфлота выросли на фоне новостей о поставках нефти в Индию
Ценные бумаги Совкомфлота на торгах 6 марта дорожают на 6,15%, до 84 руб., выйдя в лидеры роста на Московской бирже.Основным позитивным драйвером...
Фото
«ТвояПривилегия» — лучший жилой комплекс УФО по версии «ТОП ЖК – 2026»
«ТвояПривилегия» — лучший жилой комплекс УФО по версии «ТОП ЖК – 2026» Проекты ПАО «АПРИ» получили сразу две награды ежегодного...
Фото
Нефтяной срез: выпуск №8. Перекрытие Ормузского пролива + рост цен на нефть против слабых отчетов за 4-й квартал 2025 и 1-й квартал 2026? Ищем лучших в все еще слабом секторе
Продолжаю выпускать рубрику — Нефтяной срез.  Цель: отслеживать важные бенчмарки в нефтяной отрасли, чтобы понимать куда дует ветер.  Прошлый пост:...

теги блога Aleks

....все тэги



UPDONW
Новый дизайн