Этот пример иллюстрирует внедрение модели ценообразования основных средств (CAPM) при наличии отсутствующих данных.
Модель ценообразования на капитальные активы (CAPM) является маститым, но часто злонамеренным инструментом для характеристики противоречий между ценами на активы и рыночными ценами. Хотя в его реализации и интерпретации возникает много проблем, одной из проблем, с которой сталкиваются практические работники, является оценка коэффициентов CAPM с неполными данными о цене акций.
Учитывая множество предположений, которые можно найти в ссылках (см. Sharpe [3], Lintner [2], Jarrow [1] и Sharpe, et. al. [4]), CAPM заключает, что доходность активов имеет линейную связь с доходностью рынка. В частности, учитывая возврат всех акций, которые составляют рынок, обозначенный как M и возврат безрискового актива, обозначенного как C, в CAPM указано, что возврат каждого актива R(i) на рынке имеет ожидаемую форму
E[R(i)] = C + b(i) * (E[M] - C)
для активов i = 1, ... , n, где b(i) - параметр, определяющий степень соответствия между данным активом и базовым рынком. Другими словами, ожидаемая доходность каждого актива равна доходности безрискового актива плюс скорректированная на риск ожидаемая рыночная доходность за вычетом безрисковой доходности актива. Коллекция параметров b(1), ... , b(n) называются бетами активов.
Обратите внимание, что бета-версия актива имеет вид
b(i) = cov(R(i),M)/var(M)
которое представляет собой отношение ковариации между доходностью активов и рыночной доходностью, деленное на дисперсию рыночной доходности. Если актив имеет бета-версию, равную 1, считается, что актив перемещается вместе с рынком; если у актива бета больше 1, то актив считается более волатильным, чем рынок; и если актив имеет бета-версию менее 1, считается, что актив менее волатилен, чем рынок.
Стандартной формой модели CAPM для оценки является линейная модель с дополнительными параметрами для каждого актива для характеристики остаточных ошибок. Для каждого из n активы с m выборки наблюдаемых возвратов основных средств R(k, i), рыночная доходность M(k)и безрисковый возврат активов C(k), модель оценки имеет вид
R(k,i) = a(i) + C(k) + b(i) * (M(k) - C(k)) + V(k,i)
для образцов k = 1, ... , m и активы i = 1, ... , n, где a(i) - параметр, определяющий несистематический возврат основного средства, b(i) является бета-версией актива, и V(k,i) остаточная ошибка для каждого актива со связанной случайной величиной V(i).
Коллекция параметров a(1), ... , a(n) называются буквами основных средств. Строгая форма CAPM указывает, что alphas должны быть равны нулю и что отклонения от нуля являются результатом временного дисбаланса. Однако на практике активы могут иметь ненулевые альфасы, где значительная часть активного управления инвестициями направляется на поиск активов с эксплуатируемыми ненулевыми альфасами.
Чтобы обеспечить возможность ненулевых альфас, модель оценки обычно стремится оценить альфас и выполнить тесты, чтобы определить, статистически ли альфас равен нулю.
Остаточные ошибки V(i) предполагается, что у них есть моменты
E[V(i)] = 0
и
E[V(i) * V(j)] = S(i,j)
для активов i,j = 1, ... , n, где параметры S(1,1), ... , S(n,n) называются остаточными или несистематическими дисперсиями/ковариациями.
Квадратный корень остаточной дисперсии каждого актива, т.е. sqrt(S(i,i)) для i = 1, ... , n, считается остаточным или несистематическим риском актива, поскольку он характеризует остаточное изменение цен активов, которое не может быть объяснено изменениями рыночных цен.
Хотя betas можно оценить для компаний с достаточно длинной историей доходности активов, оценить betas для недавних IPO крайне сложно. Однако, если существует совокупность достаточно наблюдаемых компаний, которые, как можно ожидать, будут в некоторой степени коррелировать с изменениями цен акций новой компании, например, компаний в той же отрасли, что и новая компания, то можно получить вмененные оценки для новых бетов компании с помощью процедур регрессии отсутствующих данных в финансовом Toolbox™.
Чтобы проиллюстрировать, как использовать процедуры регрессии отсутствующих данных, мы оценим betas для двенадцати технологических акций, где один запас (GOOG) является IPO.
Во-первых, даты загрузки, общий возврат и символы бегущей строки для двенадцати запасов из MAT-файла CAPMuniverse.
load CAPMuniverse whos Assets Data Dates
Name Size Bytes Class Attributes Assets 1x14 1568 cell Data 1471x14 164752 double Dates 1471x1 11768 double
Dates = datetime(Dates,'ConvertFrom','datenum');
Активы в модели имеют следующие символы, где последние две серии являются прокси для рынка и безрискового актива.
Assets(1:7)
ans = 1x7 cell
Columns 1 through 6
{'AAPL'} {'AMZN'} {'CSCO'} {'DELL'} {'EBAY'} {'GOOG'}
Column 7
{'HPQ'}
Assets(8:14)
ans = 1x7 cell
Columns 1 through 6
{'IBM'} {'INTC'} {'MSFT'} {'ORCL'} {'YHOO'} {'MARKET'}
Column 7
{'CASH'}
Данные охватывают период с 1 января 2000 года по 7 ноября 2005 года с ежедневной общей доходностью. Две акции в этой вселенной имеют отсутствующие значения, которые представлены NaNs. Одна из двух акций имела IPO в течение этого периода и, следовательно, имеет значительно меньше данных, чем другие акции.
Первым шагом является расчет отдельных регрессий для каждого запаса, где запасы с отсутствующими данными имеют оценки, отражающие их уменьшенную наблюдаемость.
[NumSamples, NumSeries] = size(Data); NumAssets = NumSeries - 2; StartDate = Dates(1); EndDate = Dates(end); Alpha = NaN(1, length(NumAssets)); Beta = NaN(1, length(NumAssets)); Sigma = NaN(1, length(NumAssets)); StdAlpha = NaN(1, length(NumAssets)); StdBeta = NaN(1, length(NumAssets)); StdSigma = NaN(1, length(NumAssets)); for i = 1:NumAssets % Set up separate asset data and design matrices TestData = zeros(NumSamples,1); TestDesign = zeros(NumSamples,2); TestData(:) = Data(:,i) - Data(:,14); TestDesign(:,1) = 1.0; TestDesign(:,2) = Data(:,13) - Data(:,14); % Estimate the CAPM for each asset separately. [Param, Covar] = ecmmvnrmle(TestData, TestDesign); % Estimate the ideal standard errors for covariance parameters. [StdParam, StdCovar] = ecmmvnrstd(TestData, TestDesign, Covar, 'fisher'); % Estimate the sample standard errors for model parameters. StdParam = ecmmvnrstd(TestData, TestDesign, Covar, 'hessian'); % Set up results for the output. Alpha(i) = Param(1); Beta(i) = Param(2); Sigma(i) = sqrt(Covar); StdAlpha(i) = StdParam(1); StdBeta(i) = StdParam(2); StdSigma(i) = sqrt(StdCovar); end displaySummary('Separate', StartDate, EndDate, NumAssets, Assets, Alpha, StdAlpha, Beta, StdBeta, Sigma, StdSigma)
Separate regression with daily total return data from 03-Jan-2000 to 07-Nov-2005 ...
Alpha Beta Sigma
---- -------------------- -------------------- --------------------
AAPL 0.0012 ( 1.3882) 1.2294 ( 17.1839) 0.0322 ( 0.0062)
AMZN 0.0006 ( 0.5326) 1.3661 ( 13.6579) 0.0449 ( 0.0086)
CSCO -0.0002 ( 0.2878) 1.5653 ( 23.6085) 0.0298 ( 0.0057)
DELL -0.0000 ( 0.0368) 1.2594 ( 22.2164) 0.0255 ( 0.0049)
EBAY 0.0014 ( 1.4326) 1.3441 ( 16.0732) 0.0376 ( 0.0072)
GOOG 0.0046 ( 3.2107) 0.3742 ( 1.7328) 0.0252 ( 0.0071)
HPQ 0.0001 ( 0.1747) 1.3745 ( 24.2390) 0.0255 ( 0.0049)
IBM -0.0000 ( 0.0312) 1.0807 ( 28.7576) 0.0169 ( 0.0032)
INTC 0.0001 ( 0.1608) 1.6002 ( 27.3684) 0.0263 ( 0.0050)
MSFT -0.0002 ( 0.4871) 1.1765 ( 27.4554) 0.0193 ( 0.0037)
ORCL 0.0000 ( 0.0389) 1.5010 ( 21.1855) 0.0319 ( 0.0061)
YHOO 0.0001 ( 0.1282) 1.6543 ( 19.3838) 0.0384 ( 0.0074)
Alpha содержит альфа-оценки для каждого запаса, которые близки к нулю, как и ожидалось. Кроме того, t-статистика (которая заключена в скобки) обычно отвергает гипотезу о том, что альфасы ненулевые на уровне значимости 99,5%.
Beta столбец содержит бета-оценки для каждого запаса, которые также содержат t-статистику в скобках. Для всех акций, кроме GOOG, гипотеза о том, что беты ненулевые, принимается на уровне значимости 99,5%. Однако, казалось бы, что GOOG не имеет достаточно данных для получения значимой оценки для бета-версии, поскольку его t-статистика подразумевает отказ от гипотезы ненулевой бета-версии.
Sigma столбец содержит остаточные стандартные отклонения, то есть оценки для несистемных рисков. Вместо t-статистики связанные стандартные ошибки для остаточных стандартных отклонений заключены в круглые скобки.
Чтобы оценить акции для всех двенадцати акций, создайте модель совместной регрессии, которая группирует все двенадцать акций в рамках одной конструкции (поскольку каждая акция имеет одинаковую матрицу конструкции, эта модель на самом деле является примером, казалось бы, не связанной регрессии). Функция оценки параметров модели: ecmmvnrmle и функция оценки стандартных ошибок ecmmvnrstd.
Поскольку GOOG имеет значительное количество отсутствующих значений, прямое использование отсутствующей функции данных ecmmvnrmle для схождения требуется 482 итерации. Расчет может занять много времени. Для краткости оценки параметра и ковариации после первых 480 итераций содержатся в MAT-файле (CAPMgroupparam) и используется в качестве начальных оценок для вычисления фондовых бетов.
load CAPMgroupparam whos Param0 Covar0
Name Size Bytes Class Attributes Covar0 12x12 1152 double Param0 24x1 192 double
Теперь оцените параметры сбора двенадцати акций.
NumParams = 2 * NumAssets; % Set up the grouped asset data and design matrices. TestData = zeros(NumSamples, NumAssets); TestDesign = cell(NumSamples, 1); Design = zeros(NumAssets, NumParams); for k = 1:NumSamples for i = 1:NumAssets TestData(k,i) = Data(k,i) - Data(k,14); Design(i,2*i - 1) = 1.0; Design(i,2*i) = Data(k,13) - Data(k,14); end TestDesign{k} = Design; end % Estimate the CAPM for all assets together with initial parameter estimates. [Param, Covar] = ecmmvnrmle(TestData, TestDesign, [], [], [], Param0, Covar0); % Estimate the ideal standard errors for covariance parameters. [StdParam, StdCovar] = ecmmvnrstd(TestData, TestDesign, Covar, 'fisher'); % Estimate the sample standard errors for model parameters. StdParam = ecmmvnrstd(TestData, TestDesign, Covar, 'hessian'); % Set up results for the output. Alpha = Param(1:2:end-1); Beta = Param(2:2:end); Sigma = sqrt(diag(Covar)); StdAlpha = StdParam(1:2:end-1); StdBeta = StdParam(2:2:end); StdSigma = sqrt(diag(StdCovar)); displaySummary('Grouped', StartDate, EndDate, NumAssets, Assets, Alpha, StdAlpha, Beta, StdBeta, Sigma, StdSigma)
Grouped regression with daily total return data from 03-Jan-2000 to 07-Nov-2005 ...
Alpha Beta Sigma
---- -------------------- -------------------- --------------------
AAPL 0.0012 ( 1.3882) 1.2294 ( 17.1839) 0.0322 ( 0.0062)
AMZN 0.0007 ( 0.6086) 1.3673 ( 13.6427) 0.0450 ( 0.0086)
CSCO -0.0002 ( 0.2878) 1.5653 ( 23.6085) 0.0298 ( 0.0057)
DELL -0.0000 ( 0.0368) 1.2594 ( 22.2164) 0.0255 ( 0.0049)
EBAY 0.0014 ( 1.4326) 1.3441 ( 16.0732) 0.0376 ( 0.0072)
GOOG 0.0041 ( 2.8907) 0.6173 ( 3.1100) 0.0337 ( 0.0065)
HPQ 0.0001 ( 0.1747) 1.3745 ( 24.2390) 0.0255 ( 0.0049)
IBM -0.0000 ( 0.0312) 1.0807 ( 28.7576) 0.0169 ( 0.0032)
INTC 0.0001 ( 0.1608) 1.6002 ( 27.3684) 0.0263 ( 0.0050)
MSFT -0.0002 ( 0.4871) 1.1765 ( 27.4554) 0.0193 ( 0.0037)
ORCL 0.0000 ( 0.0389) 1.5010 ( 21.1855) 0.0319 ( 0.0061)
YHOO 0.0001 ( 0.1282) 1.6543 ( 19.3838) 0.0384 ( 0.0074)
Хотя результаты для запасов полных данных одинаковы, обратите внимание, что бета-оценки для AMZN и GOOG (которые являются двумя запасами с отсутствующими значениями) отличаются от оценок, полученных для каждого запаса отдельно. Поскольку AMZN имеет мало отсутствующих значений, различия в оценках невелики. Однако с GOOG различия более выражены.
T-статистика для бета-оценки GOOG в настоящее время значима на уровне 99,5% значимости. Отметим, однако, что t-статистика для бета-оценок основана на стандартных ошибках из выборки Гессена, которая, в отличие от информационной матрицы Фишера, объясняет повышенную неопределенность в оценке из-за пропущенных значений. Если t-статистика получена из более оптимистичной информационной матрицы Фишера, t-статистика для GOOG равна 8.25. Таким образом, несмотря на увеличение неопределенности из-за отсутствия данных, GOOG, тем не менее, имеет статистически значимую оценку для бета.
Наконец, обратите внимание, что бета-оценка для GOOG 0.62 - значение, которое может потребовать некоторого объяснения. В то время как рынок был волатильным в течение этого периода с боковыми изменениями цен, GOOG неуклонно рос в стоимости. Следовательно, она менее коррелирована, чем рынок, что, в свою очередь, подразумевает, что она менее волатильна, чем рынок с бета менее 1.
[1] Р. А. Джарроу. Теория финансов. Prentice-Hall, Inc., 1988.
[2] Дж. Линтнер. «Оценка рисковых активов и выбор рискованных инвестиций в акции». Обзор экономики и статистики. т. 14, 1965, стр. 13-37.
[3] В. Ф. Шарп. «Цены на капитальные активы: теория рыночного равновесия в условиях риска». Финансовый журнал. Том 19, 1964, стр. 425-442.
[4] В. Ф. Шарп, Г. Дж. Александер и Дж. В. Бейли, Investments. 6-е изд., Прентис-Холл, Инк., 1999.
function displaySummary(regressionType, StartDate, EndDate, NumAssets, Assets, Alpha, StdAlpha, Beta, StdBeta, Sigma, StdSigma) fprintf(1,'%s regression with daily total return data from %s to %s ...\n', ... regressionType, string(StartDate),string(EndDate)); fprintf(1,' %4s %-20s %-20s %-20s\n',' ','Alpha','Beta','Sigma'); fprintf(1,' ---- -------------------- -------------------- --------------------\n'); for i = 1:NumAssets fprintf(' %4s %9.4f (%8.4f) %9.4f (%8.4f) %9.4f (%8.4f)\n', ... Assets{i},Alpha(i),abs(Alpha(i)/StdAlpha(i)), ... Beta(i),abs(Beta(i)/StdBeta(i)),Sigma(i),StdSigma(i)); end end