Этот пример показывает, как сравнить подход модели Мертона, где предусмотрена волатильность капитала, с подходом временных рядов.
Загрузите данные из 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')
mertonByTimeSeries
| mertonmodel