Я уверен, что вы когда-то слышали о фондовом рынке и о различных фондовых биржах, таких как S & P500, DOW JONES и NSE. Если нет, позвольте мне быстро провести вас через это. Фондовый рынок - это, по сути, рынок, на котором торгуются акции, деривативы и различные другие опционы. Деривативы и другие опционы выходят за рамки этой статьи, и пока мы сосредоточимся только на акциях.

Люди думают, что фондовый рынок - это, вероятно, самый рискованный способ заработка. Что ж, они правы и неправы. Конечно, фондовый рынок сопряжен с риском, но при правильном маневрировании и тщательном планировании вы все равно можете получать здоровую прибыль и в то же время поддерживать управляемый уровень риска. Следующий логичный вопрос будет заключаться в том, как подойти к количественной оценке риска определенной акции. Для этого анализируется множество показателей и соотношений, но пока мы просто собираемся сосредоточиться на бета-версии акции и ее вычислении с использованием Python.

Бета-версия акции измеряет ее волатильность, которая в основном является степенью ее взлетов и падений. Бета рассчитывается относительно индекса, которому принадлежит акция, и определяется по этой формуле.

где бета получается путем деления ковариации доходности акций и рыночной доходности на дисперсию рыночной доходности.

Бета любого индекса составляет 1,0, и в зависимости от бета-версии акции мы можем определить, является ли акция более рискованной или более безопасной, чем индекс. Если бета больше 1.0, считается, что доходность акций различается больше, чем у индекса, и считается более рискованной, а если бета ниже 1.0, она считается более безопасной. При этом ожидаемая доходность акций также прямо пропорциональна риску. Следовательно, если бета выше, акция более волатильна, более рискованна и, как следствие, ожидается более высокая доходность.

Теперь расчетная часть может оказаться немного эзотерической, поэтому, чтобы упростить задачу, вы можете реализовать модель регрессии рыночной доходности. Я знаю, что это имя может показаться устрашающим, но по сути, оно довольно простое. Он основан на том факте, что доходность акций может быть показана как линейная функция от рыночной доходности. Вот основное уравнение

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

Представьте, что у вас есть портфель акций, состоящий только из акций, скажем, акции X. Вы выполняете регрессионную модель и получаете значения альфа и бета. Значение бета будет измерять уровень риска, но значение альфа в основном количественно определяет преимущество инвестирования в эту конкретную акцию. Например, предположим, что рыночная доходность за определенный день составила 0%. Тогда можно было бы подумать, что доходность акции X за день также составит 0%, но это вряд ли. Ожидаемая доходность акций в таком случае будет (альфа)%. Этого можно достичь, просто присвоив рыночной доходности нулю в уравнении регрессии. Этот количественный показатель здесь не так важен, но он оказывается чрезвычайно полезным при сравнении портфелей акций, состоящих из нескольких акций.

Давайте теперь посмотрим на реализацию Python.

Первый шаг - импортировать все необходимые библиотеки. Для этого используются только базовые пакеты, кроме одного, pandas_datareader. Pandas datareader - это подпакет библиотеки pandas, который позволяет нам создавать фреймы данных из разных интернет-источников. В настоящее время вы можете извлекать данные из Yahoo! Финансы и Google Финансы.

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
from scipy import stats
from pandas_datareader import data as dr

В этой статье я продемонстрирую бета-вычисления с использованием данных акций APPLE, и я буду получать доступ к данным Yahoo! Финансы. Для этого нам понадобится Yahoo! тикеры для акций и индекса S&P 500. Это «AAPL» и «^ GSPC» соответственно.

tickers = ['AAPL', '^GSPC']
data = pd.DataFrame(columns = tickers)
for t in tickers :
    data[t] = dr.DataReader(t, data_source = 'yahoo', start = '2016-1-1', end = '2020-12-31')['Adj Close']

Используя цикл, я сохранил дневные цены на акции с скорректированным закрытием за 5 лет с 2106 по 2020 год для обоих тикеров. Есть несколько версий бета-версии. Например, есть трехмесячная ежедневная бета-версия, которая использует ежедневную доходность за последние три месяца, есть пятилетняя ежемесячная бета-версия, которая использует ежемесячную прибыль за последние 5 лет, и так далее. Для этой статьи я выбрал 5-летнюю ежедневную бета-версию, которая, как следует из названия, использует ежедневную прибыль за последние 5 лет.

Для расчета дневной доходности я использовал функцию pct_change (), которая вычисляет процентное изменение, как показано ниже.

Вот его реализация и результат

returns = data.pct_change()

Первая строка, естественно, будет «NaN», так как предыдущих наблюдений, доступных для расчета, нет. Вы можете просто избавиться от этого ряда.

returns.dropna(inplace = True)

Для более наглядного представления я даже построил дневную доходность обоих тикеров. Вот как это выглядит.

Из графика видно, что акция более волатильна, чем индекс, и, следовательно, бета должна быть больше 1. Пришло время выполнить линейную регрессию. Я выполнил это с помощью пакета статистики из библиотеки Scipy.

regress_coefs = stats.linregress(x,y)
print(regress_coefs)

Это даст следующий результат

Наклон - это то, что мы ищем. Поэтому я сохранил это в отдельной переменной. Здесь

beta = regress_coefs[0]
print('APPLE BETA : {}'.format(beta))

Из бета-версии акций APPLE очевидно, что акции более волатильны, чем индекс, и поэтому было бы справедливо ожидать более высокой доходности от акций, чем от индекса.

Бета акций - бесценный количественный показатель. Его используют даже опытные профессионалы для оценки колебаний, риска и ожидаемой доходности акций, а учет бета-тестирования при инвестировании поможет вам избежать излишне рискованных ставок.

Если вам понравилась эта статья, и если она хоть как-то помогла, следите за обновлениями, у меня есть еще кое-что интересное.