exponenta event banner

Моделирование предоплаты с двухфакторной белой моделью корпуса и рыночной моделью LIBOR

В этом примере показано, как моделировать предоплату в MATLAB ® с использованием функциональных возможностей Toolbox™ Финансовые инструменты. В частности, вариант модели предоплаты Richard and Roll реализуется с использованием двухфакторной модели процентной ставки Hull-White и модели рынка LIBOR для моделирования будущих путей процентной ставки. Обеспеченность, поддерживаемая ипотекой, оценивается как с использованием пользовательских моделей предоплаты, так и моделей предоплаты по умолчанию.

Введение

Моделирование предоплаты имеет решающее значение для анализа обеспеченных ипотекой ценных бумаг (MBS). Предоплаты отдельных держателей ипотеки влияют как на сумму, так и на сроки движения денежных средств, а в случае обеспеченных ипотечных обязательств (например, процентных ценных бумаг) предоплата может в значительной степени влиять на стоимость ценных бумаг.

Модель PSA

Наиболее базовой моделью предоплаты является модель Ассоциации публичных ценных бумаг (PSA), которая предполагает фазу нарастания, а затем постоянную условную ставку предоплаты (CPR). Модель PSA может быть создана в MATLAB с помощью функции инструментария финансовых инструментов. psaspeed2rate.

G2PP_CPR = psaspeed2rate([100 200]);
figure
plot(G2PP_CPR)
title('100 and 200 PSA Prepayment Speeds')
xlabel('Months')
ylabel('CPR')
ylim([0 .14])
legend({'100 PSA','200 PSA'}, 'Location', 'Best')

Обеспечение, обеспеченное ипотекой

MBS, проанализированный в этом примере, созревает в 2020 году и имеет свойства, описанные в этом разделе. Денежные потоки создаются для скоростей предоплаты PSA просто путем ввода скорости PSA в качестве входного аргумента.

% Parameters for MBS passthrough to be priced
Settle = datenum('15-Dec-2007');
Maturity = datenum('15-Dec-2020');
IssueDate = datenum('15-Dec-2000');
GrossRate = .0475;
CouponRate = .045;
Delay = 14;
Period = 12;
Basis = 4;

% Generate cash flows and dates for baseline case using 100 PSA
[CFlowAmounts, CFlowDates] = mbscfamounts(Settle,Maturity, IssueDate,...
    GrossRate, CouponRate, Delay,100);
CFlowTimes = yearfrac(Settle,CFlowDates);
NumCouponsRemaining = cpncount(Settle, Maturity, Period,Basis, 1, IssueDate);

Модель Ричарда и Ролла

Хотя моделирование предоплаты часто включает в себя сложное и сложное моделирование, часто на уровне ссуды, в этом примере используется несколько измененный подход, основанный на модели, предложенной Ричардом и Роллом в [6].

Модель предоплаты Ричарда и Ролла включает следующие факторы:

  • Стимулирование рефинансирования

  • Сезонность (месяц года)

  • Приправа или возраст ипотеки

  • Перегорание

Ричард и Ролл предлагают мультипликативную модель следующего:

$$ CPR = RefiIncentive*SeasoningMultiplier*
SeasonalityMultiplier*BurnoutMultiplier $$

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

Стимулирование рефинансирования является функцией отношения купонной ставки ипотеки к доступной ипотечной ставке в данный конкретный момент времени. Например, Управление по надзору за передачей (OTS) предлагает следующую модель:

$$ Refi=.2406-.1389*arctan(5.952*(1.089- \frac{CouponRate}{MortgageRate}))
$$

Стимулирование рефинансирования требует моделирования будущих процентных ставок. Это будет рассмотрено ниже в этом примере.

C_M = .1:.1:2;
G2PP_Refi = .2406 - .1389 * atan(5.952*(1.089 - C_M));
figure
plot(C_M,G2PP_Refi)
xlabel('Coupon/Mortgage Rate')
ylabel('CPR')
title('Refinancing Incentive')

Приправа фиксирует тенденцию к увеличению предоплаты в начале ипотеки перед выравниванием. OTS моделирует мультипликатор приправы следующим образом:

Seasoning = ones(360,1);
Seasoning(1:29) = (1:29)/30;
figure
plot(Seasoning)
xlim([1 360])
title('Seasoning Multiplier')
xlabel('Months')

Множитель сезонности просто моделирует сезонное поведение предоплат - эти данные основаны на рисунке 3 [6], который относится к поведению 30-летних односемейных МБС Ginnie Mae.

Seasonality = [.94 .76 .73 .96 .98 .92 .99 1.1 1.18 1.21 1.23 .97];
figure
plot(Seasonality)
xlim([1 12])
ax = gca;
ax.XTick = 1:12;
ax.XTickLabel = {'Jan','Feb','Mar','Apr','May','Jun','Jul','Aug', ...
    'Sep','Oct','Nov','Dec'};
title('Seasonality Multiplier')

Модель процентной ставки G2 + +

Поскольку стимулирование рефинансирования требует моделирования будущих процентных ставок, необходимо использовать модель процентной ставки. Одним из вариантов является двухфакторная аддитивная гауссова модель, называемая Бриго и Меркурио G2 + + [2].

Модель процентной ставки G2 + +:

$$ r(t) = x(t) + y(t) + \varphi (t) $$

$$ dx(t) = -ax(t) dt + \sigma dW_1(t) $$

$$ dy(t) = -by(t) dt + \eta dW_2(t) $$

где$$ dW_1(t)dW_2(t) $$ - двумерное броуновское движение с корреляцией $$ \rho $$

$$ dW_1(t)dW_2(t) = \rho dt $$

$$ \varphi (T) = f^M(0,T) + \frac{\sigma^2}{2a^2}(1 - e^{-aT})^2 +
\frac{\eta^2}{2b^2}(1 - e^{-bT})^2 + \rho \frac{\sigma \eta}{ab}
(1 - e^{-aT}) (1 - e^{-bT}) $$

и$$ r(t) $$ является короткой ставкой,$$ a $$ и $$ b $$являются средними константами реверсии, и и$$ \sigma $$ являются$$ \eta $$ константами волатильности, и является$$ f^M(0,T) $$ рыночной форвардной ставкой, или форвардной ставкой, наблюдаемой на дату расчета.

Рыночная модель LIBOR

Рыночная модель LIBOR (LMM) отличается от короткоскоростных моделей тем, что она развивает набор дискретных форвардных ставок. В частности, логнормальный LMM задает следующее уравнение диффузии для каждой прямой скорости:

$$ \frac{dF_i(t)}{F_i} = - \mu_i dt + \sigma_i(t) dW_i $$

где

dW - N-мерное геометрическое броуновское движение с:

$$ dW_i(t) dW_j(t) = \rho_{ij} dt $$

LMM связывает дрейфы форвардных ставок на основе аргументов отсутствия арбитража. В частности, в рамках меры Spot LIBOR дрейфы выражаются следующим образом:

$$ \mu_i(t) = - \sigma_i(t) \sum_{j=q(t)}^i {\frac{\tau_j \rho_{i,j} \sigma_j(t) F_j(t)}{1 + \tau_j F_j(t)}} $$

где

$$ \tau_i $$ - временная дробь, связанная с i-ой прямой скоростью

$$ q(t) $$ is an index function defined by the relation $$ T_{q(t)-1} < t&#xA;< T_{q(t)} $$

и номер Spot LIBOR определяется следующим образом:

$$ B(t) = P(t, T_{q(t)}) \prod_{n=0}^{q(t)-1} (1 + \tau_n F_n(T_n)) $$

Учитывая вышесказанное, выбор с LMM заключается в том, как моделировать волатильность и корреляцию.

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

$$ \sigma_i(t) = \phi_i (a(T_i - t) + b) e^{c(T_i-t)} + d $$

где$$ \phi $$ корректирует кривую в соответствии с волатильностью для$$ i^{th} $$ форвардной ставки.

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

$$ \rho_{i,j} = e^{-\beta |i-j|} $$

После определения волатильности и корреляции параметры должны быть откалиброваны - это можно сделать с помощью исторических или рыночных данных, как правило, свопционов или кэпов/этажей. Для этого примера мы просто используем разумные оценки для параметров корреляции и волатильности.

% The volatility function to be used -- and one choice for the parameters
LMMVolFunc = @(a,t) (a(1)*t + a(2)).*exp(-a(3)*t) + a(4);
LMMVolParams = [.13 .04 .7 .08];

% Volatility specification
fplot(@(t) LMMVolFunc(LMMVolParams,t),[0 10])
title(['Volatility Function with parameters ' mat2str(LMMVolParams)])
ylabel('Volatility (%)')
xlabel('Tenor (years)')

Калибровка по рыночным данным

Параметры в модели G2 + + могут быть откалиброваны по рыночным данным. Как правило, параметры калибруются с учетом наблюдаемого предела процентной ставки, нижнего предела и/или данных свопциона. На данный момент данные о предельном уровне рынка используются для калибровки.

Эти данные жестко закодированы, но могут быть импортированы в MATLAB с помощью Database Toolbox™ или Datafeed Toolbox™.

% Zero Curve -- this data is hardcoded for now, but could be bootstrapped
% using the |bootstrap| method of |IRDataCurve|.
ZeroTimes = [3/12 6/12 1 5 7 10 20 30]';
ZeroRates = [0.033 0.034 0.035 0.040 0.042 0.044 0.048 0.0475]';
ZeroDates = daysadd(Settle,360*ZeroTimes,1);
DiscountRates = zero2disc(ZeroRates,ZeroDates,Settle);
irdc = IRDataCurve('Zero',Settle,ZeroDates,ZeroRates);

figure
plot(ZeroDates,ZeroRates)
datetick
title(['US Zero Curve for ' datestr(Settle)])

% Cap Data
Reset = 2;
Notional = 100;
CapMaturity = daysadd(Settle,360*[1:5 7 10 15 20 25 30],1);
CapVolatility = [.28 .30 .32 .31 .30 .27 .23 .2 .18 .17 .165]';

% ATM strikes could be computed with swapbyzero
Strike = [0.0353 0.0366 0.0378 0.0390 0.0402 0.0421 0.0439 ...
    0.0456 0.0471 0.0471 0.0471]';

% This could be computed with capbyblk
BlackCapPrices = [0.1532 0.6416 1.3366 2.0290 2.7366 4.2960 6.5992 ...
    9.6787 12.2580 14.0969 15.7873]';

figure
scatter(CapMaturity,CapVolatility)
datetick
title(['ATM Volatility for Caps on ' datestr(Settle)])

Для калибровки параметров модели будет найден набор параметров, который минимизирует сумму квадратичных разностей между предсказанными значениями G2 + + Cap и наблюдаемыми значениями Black Cap. Функция Toolbox™ оптимизации lsqnonlin используется в этом примере, хотя могут быть применимы и другие подходы (например, глобальная оптимизация). Функция capbylg2f вычисляет аналитические значения для кэпов заданных значений параметров.

Верхние и нижние границы для параметров модели устанавливаются как относительно ограниченные. Как обсуждают Бриго и Меркурио, корреляционный параметр,, $$ rho $$часто может быть близок к -1 при подборе модели G2 + + к предельным ценам процентных ставок. Следовательно$$ rho $$, ограничено быть между-.7 и .7 для обеспечения того, чтобы параметры представляли действительно двухфакторную модель. Остальные параметры средней реверсии и волатильности ограничены между 0 и .5. Калибровка остается сложной задачей, и хотя приведенный ниже график показывает, что наилучшие параметры соответствия, по-видимому, обеспечивают достаточно хорошую работу по воспроизведению цен Cap, следует отметить, что описанная здесь процедура представляет собой просто один подход.

% Call to lsqnonlin to calibrate parameters
objfun = @(x) BlackCapPrices - capbylg2f(irdc,x(1),x(2),x(3),x(4),x(5),Strike,CapMaturity);
x0 = [.5 .05 .1 .01 -.1];
lb = [0 0 0 0 -.7];
ub = [.5 .5 .5 .5 .7];

G2PP_Params = lsqnonlin(objfun,x0,lb,ub);

a = G2PP_Params(1);
b = G2PP_Params(2);
sigma = G2PP_Params(3);
eta = G2PP_Params(4);
rho = G2PP_Params(5);

% Compare the results
figure
scatter(CapMaturity,BlackCapPrices)
hold on
scatter(CapMaturity,capbylg2f(irdc,a,b,sigma,eta,rho,Strike,CapMaturity),'rx')
datetick
title('Market and Model Implied Prices')
ylabel('Price ($)')
Local minimum possible.

lsqnonlin stopped because the final change in the sum of squares relative to 
its initial value is less than the value of the function tolerance.

Реализация модели G2 + +

LinearGaussian2F модель может использоваться для определения модели G2 + + и моделирования будущих путей процентных ставок.

% G2++ model from Brigo and Mercurio with time homogeneous volatility
% parameters
G2PP = LinearGaussian2F(irdc,a,b,sigma,eta,rho);

Реализация модели рынка LIBOR

После калибровки волатильности и корреляции симуляция Монте-Карло используется для развития скоростей вперед во времени. LiborMarketModel используется для моделирования форвардных скоростей.

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

6M скорости LIBOR выбраны для развития в этом моделировании. Поскольку необходимо вычислить месячный вектор предоплаты, для генерации промежуточных скоростей используется интерполяция. Используется простая линейная интерполяция.

numForwardRates = 46;

% Instead of being fit, VolPhi is simply hard-coded  --
% representative of a declining volatility over time.
VolPhi = linspace(1.2,.8,numForwardRates-1)';

Beta = .08;
CorrFunc = @(i,j,Beta) exp(-Beta*abs(i-j));
CorrMat = CorrFunc(meshgrid(1:numForwardRates-1)',meshgrid(1:numForwardRates-1),Beta);

VolFunc = cell(length(VolPhi),1);
for jdx = 1:length(VolPhi)
    VolFunc(jdx) = {@(t) VolPhi(jdx)*ones(size(t)).*(LMMVolParams(1)*t + ...
        LMMVolParams(2)).*exp(-LMMVolParams(3)*t) + LMMVolParams(4)};
end

LMM = LiborMarketModel(irdc,VolFunc,CorrMat);

Моделирование G2 + + Монте-Карло

Различные пути процентных ставок могут быть смоделированы путем вызова simTermStructs способ.

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

nPeriods = NumCouponsRemaining;
nTrials = 100;
DeltaTime = 1/12;

% Generate factors and short rates
Tenor = [1/12 1 2 3 4 5 7 10 15 20 30];
G2PP_SimZeroRates = G2PP.simTermStructs(nPeriods,'NTRIALS',nTrials,...
    'Tenor',Tenor,'DeltaTime',DeltaTime);

SimDates = daysadd(Settle,360*DeltaTime*(0:nPeriods),1);

% Tenors that will be recovered for each simulation date. The stepsize is
% included here to facilitate computing a discount factor for each
% simulation path.

% Remove any paths that go negative
NegIdx = squeeze(any(any(G2PP_SimZeroRates < 0,1),2));
G2PP_SimZeroRates(:,:,NegIdx) = [];
nTrials = size(G2PP_SimZeroRates,3);

% Plot evolution of one sample path
trialIdx = 1;
figure
surf(Tenor,SimDates,G2PP_SimZeroRates(:,:,trialIdx))
datetick y keepticks keeplimits
title(['Evolution of the Zero Curve for Trial:' num2str(trialIdx) ' of G2++ Model'])
xlabel('Tenor (Years)')

Моделирование модели рынка LIBOR

Различные пути процентных ставок могут быть смоделированы путем вызова simTermStructs способ LiborMarketModel объект.

LMMPeriod = 2; % Semi-annual rates
LMMNumPeriods = NumCouponsRemaining/12*LMMPeriod; % Number of semi-annual periods
LMMDeltaTime = 1/LMMPeriod;
LMMNTRIALS = 100;

% Simulate
[LMMZeroRates, LMMForwardRates] = LMM.simTermStructs(LMMNumPeriods,'nTrials',LMMNTRIALS,'DeltaTime',LMMDeltaTime);
ForwardTimes = 1/2:1/2:numForwardRates/2;
LMMSimTimes = 0:1/LMMPeriod:LMMNumPeriods/LMMPeriod;

% Plot evolution of one sample path
trialIdx = 1;
figure
tmpPlotData = LMMZeroRates(:,:,trialIdx);
tmpPlotData(tmpPlotData == 0) = NaN;
surf(ForwardTimes,LMMSimTimes,tmpPlotData)
title(['Evolution of the Zero Curve for Trial:' num2str(trialIdx) ' of LIBOR Market Model'])
xlabel('Tenor (Years)')

Расчет ипотечных ставок на основе моделирования

После моделирования процентных ставок необходимо рассчитать ипотечную ставку -- один из подходов, обсуждаемых [7], заключается в расчете ипотечной ставки на основе сочетания двухлетних и десятилетних ставок.

В этом примере используется следующее:

$$ MortgageRate = .024 + .2*TwoYearRate + .6*TenYearRate $$

% Compute mortgage rates from interest rate paths
TwoYearRates = squeeze(G2PP_SimZeroRates(:,Tenor == 2,:));
TenYearRates = squeeze(G2PP_SimZeroRates(:,Tenor == 7,:));
G2PP_MortgageRates = .024 + .2*TwoYearRates + .6*TenYearRates;

LMMMortgageRates = squeeze(.024 + .2*LMMZeroRates(:,4,:) + .6*LMMZeroRates(:,20,:));
LMMDiscountFactors = squeeze(cumprod(1./(1 + LMMZeroRates(:,1,:)*.5)));

% Interpolate to get monthly mortgage rates
MonthlySimTimes = 0:1/12:LMMNumPeriods/LMMPeriod;
LMMMonthlyMortgageRates = zeros(nPeriods+1,LMMNTRIALS);
LMMMonthlyDF = zeros(nPeriods+1,LMMNTRIALS);
for trialidx = 1:LMMNTRIALS
   LMMMonthlyMortgageRates(:,trialidx) = interp1(LMMSimTimes,LMMMortgageRates(:,trialidx),MonthlySimTimes,'linear','extrap');
   LMMMonthlyDF(:,trialidx) = interp1(LMMSimTimes,LMMDiscountFactors(:,trialidx),MonthlySimTimes,'linear','extrap');
end

Вычисление CPR и генерация и оценка денежных потоков

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

% Compute Seasoning and Refinancing Multipliers
Seasoning = ones(nPeriods+1,1);
Seasoning(1:30) = 1/30*(1:30);
G2PP_Refi = .2406 - .1389 * atan(5.952*(1.089 - CouponRate./G2PP_MortgageRates));
LMM_Refi = .2406 - .1389 * atan(5.952*(1.089 - CouponRate./LMMMonthlyMortgageRates));

% CPR is simply computed by evaluating the multiplicative model
G2PP_CPR = bsxfun(@times,G2PP_Refi,Seasoning.*(Seasonality(month(CFlowDates))'));
LMM_CPR = bsxfun(@times,LMM_Refi,Seasoning.*(Seasonality(month(CFlowDates))'));

% Compute single monthly mortality (SMM) from CPR
G2PP_SMM = 1 - (1 - G2PP_CPR).^(1/12);
LMM_SMM = 1 - (1 - LMM_CPR).^(1/12);

% Plot CPR's against 100 PSA
CPR_PSA100 = psaspeed2rate(100);
figure
PSA_handle = plot(CPR_PSA100(1:nPeriods),'rx');
hold on
G2PP_handle = plot(G2PP_CPR,'b');
LMM_handle = plot(LMM_CPR,'g');
title('Prepayment Speeds')
legend([PSA_handle(1) G2PP_handle(1) LMM_handle(1)],{'100 PSA','G2PP CPR','LMM CPR'},'Location', 'Best');

Создание денежных потоков и расчет текущей стоимости

С вектором одиночных ежемесячных смертных случаев (SMM), вычисленных для каждого пути процентной ставки, денежные потоки для MBS могут быть вычислены и дисконтированы.

% Compute the baseline zero rate at each cash flow time
CFlowZero = interp1(ZeroTimes,ZeroRates,CFlowTimes,'linear','extrap');

% Compute DF for each cash flow time
CFlowDF_Zero = zero2disc(CFlowZero,CFlowDates,Settle);

% Compute the price of the MBS using the zero curve
Price_Zero = CFlowAmounts*CFlowDF_Zero';

% Generate the cash flows for each IR Path
G2PP_CFlowAmounts = mbscfamounts(Settle, ...
    repmat(Maturity,1,nTrials), IssueDate, GrossRate, CouponRate, Delay, [], G2PP_SMM(2:end,:));

% Compute the DF for each IR path
G2PP_CFlowDFSim = cumprod(exp(squeeze(-G2PP_SimZeroRates(:,1,:).*DeltaTime)));

% Present value the cash flows for each MBS
G2PP_Price_Ind = sum(G2PP_CFlowAmounts.*G2PP_CFlowDFSim',2);
G2PP_Price = mean(G2PP_Price_Ind);

% Repeat for LMM
LMM_CFlowAmounts = mbscfamounts(Settle, ...
    repmat(Maturity,1,LMMNTRIALS), IssueDate, GrossRate, CouponRate, Delay, [], LMM_SMM(2:end,:));

% Present value the cash flows for each MBS
LMM_Price_Ind = sum(LMM_CFlowAmounts.*LMMMonthlyDF',2);
LMM_Price = mean(LMM_Price_Ind);

Результаты различных подходов можно сравнить. Количество испытаний для модели G2 + + обычно будет меньше 100 из-за фильтрации любых путей, которые приводят к отрицательным процентным ставкам.

Кроме того, хотя количество испытаний для модели G2 + + в этом примере установлено равным 100, часто бывает, что для получения точной оценки необходимо выполнить большее количество моделирования.

fprintf('                     # of Monte Carlo Trials: %8d\n'    , nTrials)
fprintf('                     # of Time Periods/Trial: %8d\n\n'  , nPeriods)
fprintf('                      MBS Price with PSA 100: %8.4f\n'  , Price_Zero)
fprintf(' MBS Price with Custom G2PP Prepayment Model: %8.4f\n\n', G2PP_Price)
fprintf(' MBS Price with Custom LMM Prepayment Model: %8.4f\n\n', LMM_Price)
                     # of Monte Carlo Trials:       72
                     # of Time Periods/Trial:      156

                      MBS Price with PSA 100:   1.0187
 MBS Price with Custom G2PP Prepayment Model:   0.9884

 MBS Price with Custom LMM Prepayment Model:   0.9993

Заключение

В этом примере показано, как откалибровать и смоделировать модель процентной ставки G2 + + и как использовать сгенерированные пути процентной ставки в модели предоплаты на основе модели Richard and Roll. Этот пример также является полезной отправной точкой для использования моделей процентных ставок G2 + + и LMM в других финансовых приложениях.

Библиография

Этот пример основан на следующих книгах, статьях и журнальных статьях:

  1. Андерсен, Л. и В. Питербарг (2010). Моделирование процентных ставок, Atlantic Financial Press.

  2. Бриго, Д. и Ф. Меркурио (2001). Модели процентных ставок - теория и практика с улыбкой, инфляция и кредит (2-е изд. 2006 ред.). Спрингер Верлаг. ISBN 978-3-540-22149-4.

  3. Хейр, Л., ред., Саломон Смит Барни Руководство по ипотечным и обеспеченным активами ценным бумагам. Нью-Йорк: John Wiley & Sons, 2001b

  4. Карпишпан, Я., О. Турель и А. Хаша, Введение модели структуры терминов Citi LMM для ипотеки, Журнал фиксированного дохода, том 20 (2010) 44-58.

  5. Ребонато, Р., К. МакКей и Р. Уайт (2010). Рыночная модель Sabr/Libor: расчет цен, калибровка и хеджирование для комплексных процентных деривативов. Джон Уайли и сыновья.

  6. Ричард, С. Ф. и Р. Ролл, 1989, «Предоплаты по ипотечным ценным бумагам с фиксированной ставкой», Журнал управления портфелем.

  7. Управление по надзору за передачей, «Руководство по модели чистой стоимости портфеля», март 2000 года.

  8. Штайн, Х. Дж., Беликофф, А. Л., Левин, К. и Тянь, Х., Анализ обеспеченных ипотекой ценных бумаг: до и после кредитного кризиса (5 января 2007 г.). Границы кредитного риска: кризис субстандарта, ценообразование и хеджирование, CVA, MBS, рейтинги и ликвидность; Биелеки, Томаш,; Дамиано Бриго и Фредерик Патрас, ред., февраль 2011. Доступно по адресу SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=955358

См. также

| | | | | | | | | | | | | | | | |

Связанные примеры

Подробнее