В этом примере показано, как сравнить подход модели Мертона, где энергозависимость акции обеспечивается к подходу временных рядов.
Загрузите данные из MertonData.mat
.
load MertonData.mat
Dates = MertonDataTS.Dates;
Equity = MertonDataTS.Equity;
Liability = MertonDataTS.Liability;
Rate = MertonDataTS.Rate;
Для точки определенных данных в возвратах соответствующая энергозависимость акции вычисляется из последнего предшествования 30 дням.
Returns = tick2ret(Equity); DateReturns = Dates(2:end); SampleSize = length(Returns); EstimationWindowSize = 30; TestWindowStart = EstimationWindowSize+1; TestWindow = (TestWindowStart : SampleSize)'; EquityVol = zeros(length(TestWindow),1); for i = 1 : length(TestWindow) t = TestWindow(i); EstimationWindow = t-EstimationWindowSize:t-1; EquityVol(i) = sqrt(250)*std(Returns(EstimationWindow)); end
Сравните вероятности значения по умолчанию и предполагаемых значений энергозависимости актива и актива с помощью тестового окна только.
[PDTS,DDTS,ATS,SaTS] = mertonByTimeSeries(Equity(TestWindow),Liability(TestWindow),Rate(TestWindow)); [PDh,DDh,Ah,Sah] = mertonmodel(Equity(TestWindow),EquityVol,Liability(TestWindow),Rate(TestWindow)); figure plot(Dates(TestWindow),PDTS,Dates(TestWindow),PDh) xlabel('Date') ylabel('Probability of Default') legend({'Time Series','With \sigma_E'},'Location','best')
Вероятности значения по умолчанию являются по существу нулем до ранних 2016. В той точке обе модели начинают предсказывать положительные вероятности по умолчанию, но мы наблюдаем некоторые различия между этими двумя моделями.
Обе модели калибруют колебания актива и стоимость активов. Стоимость активов для обоих соответствий подходов. Однако метод timeseries, проектом, вычисляет одну энергозависимость актива для целого окна времени, и версия одно точки модели Мертона вычисляет одну энергозависимость для каждого периода времени как показано в следующем рисунке.
figure plot(Dates(TestWindow),SaTS*ones(size(TestWindow)),Dates(TestWindow),Sah) xlabel('Date') ylabel('Asset Volatility') legend({'Time Series','With \sigma_E'},'Location','best')
К концу окна времени вероятность одно точки значения по умолчанию выше вероятности timeseries значения по умолчанию, когда энергозависимость актива одно точки также выше вероятности timeseries (и наоборот). Однако прежде 2016 энергозависимость не оказывает влияния на вероятность по умолчанию. Это означает, что другие факторы должны влиять на чувствительность вероятности по умолчанию к энергозависимости актива и полного уровня вероятности по умолчанию.
Коэффициент левереджа фирмы, заданный как отношение обязательств к акции, является ключевым фактором в понимании значений вероятности по умолчанию в этом примере. Ранее в окне времени, коэффициент левереджа является низким. Однако во второй половине окна времени, коэффициент левереджа растет значительно как показано в следующем рисунке.
Leverage = Liability(TestWindow)./Equity(TestWindow); figure plot(Dates(TestWindow),Leverage) xlabel('Date') ylabel('Leverage Ratio')
Следующий график показывает вероятность по умолчанию против энергозависимости актива для низких и высоких коэффициентов левереджа. Коэффициент левереджа используется, чтобы разделить точки на две группы, в зависимости от того, больше ли коэффициент левереджа или меньше, чем сокращение от значения. В этом примере, сокращении от значения 1
работает хорошо.
Для низких рычагов вероятность значения по умолчанию является по существу нулем, независимо от колебаний актива. Для высоких ситуаций с рычагами, таких как конец окна времени, вероятность значения по умолчанию высоко коррелируется с энергозависимостью актива.
figure subplot(2,1,1) gscatter(Leverage,PDh,Leverage>1,'br','.*') xlabel('Leverage') ylabel('Probability of Default') legend('Low Leverage','High Leverage','Location','northwest') subplot(2,1,2) gscatter(Sah,PDh,Leverage>1,'br','.*') xlabel('Asset Volatility') ylabel('Probability of Default') legend('Low Leverage','High Leverage','Location','northwest')
mertonmodel
| mertonByTimeSeries