2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Модель Мертона
Сообщение11.05.2012, 20:49 
Здравствуйте, помогите, пожалуйста, разобраться с реализацией модели Мертона. Оценивается вероятность дефолта фирмы, торгующей акциями в рублях и выпустившей долговое обязательство в долларах. На одном из этапов оценки возникает следующая оптимизационная задача: нужно оценить параметры $\mu_V$ и $\sigma_V$ с помощью ММП. Функция правдоподобия выглядит следующим образом:
$$L = \sum_{t=1}^T\ln[\frac {1}{\sqrt{\sigma_V^2\Delta}}e^{-\frac {(r_t^V-(\mu_V-\sigma_V^2/2))^2}{2\sigma_V^2\Delta}}]$$
Здесь $\Delta$ - это заданный интервал, через который происходят наблюдения (1/365 или 1/260). $r_t^V=\ln(\frac{V_t}{V_{t-1}})$ - это непрерывная доходность активов фирмы, в ней, в общем-то, и заключаются мои проблемы. Стоимость активов является не наблюдаемым параметром. Его необходимо оценивать с помощью котировок акций (обозначим из через $E_t$). Предполагается, что стоимость акций $E_t$ и активов фирмы $V_t$ связаны следующим соотношением (это опцион на обмен активами):
$$E_t=V_tN(d_1)-L_te^{-(r-r_f)(T-t)}N(d_2)$$
где $d_1=\frac{\ln(V_t/L_t)-(r-r_f-\sigma_Y^2/2)(T-t)}{\sigma_Y\sqrt{T-t}}$,
$d_2=d_1-\sigma_Y\sqrt{T-t}$,
$\sigma_Y^2=\sigma_V^2+\sigma_L^2$.
$\sigma_L^2$ и $L_t$ известны (они были оценены на предыдущем этапе), это волатильность обменного курса и номинал облигации, умноженный на обменный курс.
$r$ и $r_f$ - безрисковые ставки в России и США.
Итак, проблема в том, что, как я понимаю, выразить напрямую $V_t$ через $\sigma_V$ и подставить её в функцию правдоподобия я не могу. А значит, как мне видится, есть задача, где функционал стремится к максимуму, и есть большое число ограничений (сколько наблюдений, столько и ограничений). Я пробовала посчитать эту задачу в GAUSSе, но он выдал ошибку, excel тоже сказал, что параметров слишком много.

Код в GAUSSе выглядел следующим образом:
Код:
new;cls;
library maxlik;

S = loadd("C:\\Data\\Raspadskaya.dat");
USD = loadd("C:\\Data\\USDRaspadskaya.dat");
retX = ln(USD[1:rows(USD)-1,1])-ln(USD[2:rows(USD),1]);
r = 0.070301;
rf = 0.0039;
K = 300000000;
NumShares = 780799808;
E = S*NumShares;
L = K*USD;
T = 2.8189;
del = 1/365;

start = ones(rows(E)+2,1);
_sqp_EqProc = &eqproc;
{parV,fV,lagrV,retcodeV} = sqpSolve(&fct,start);
muV = parV[1];
sigmaV = parV[2];

proc fct(_muV,_sigmaV,_V);
local _retV,_aux,_aux1;
    _retV = ln(_V[1:rows(_V)-1,1])-ln(_V[2:rows(_V),1]);
    _aux = ln(1/(_sigmaV^2*del)^0.5*exp(-((_retV-(_muV-(_sigmaV^2)/2))^2)/(2*_sigmaV^2*del)));
    _aux1 = -sumc(_aux);
retp(_aux1);
endp;

proc eqproc(_sigmaV,_V);
local _sigmaY,_d1,_d2,f1;
    _sigmaY = (_sigmaV^2 + sigmaL^2)^0.5;
    _d1 = (ln(_V./L)-T*(r-rf-(_sigmaY^2/2)))/(_sigmaY*(T^0.5));
    _d2 = _d1 - _sigmaY*(T^0.5);
    f1 = E - _V.*cdfn(_d1)+(L.*cdfn(_d2))*exp(-(r-rf)*T);
    retp(f1);
endp;


Отмечу, что в GAUSSе есть библиотека maxlik, но как её использовать в данном случае, я не понимаю(((
Вот что не так???(((

 
 
 [ 1 сообщение ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group