2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 Модель Мертона
Сообщение11.05.2012, 20:49 


11/05/12
1
Здравствуйте, помогите, пожалуйста, разобраться с реализацией модели Мертона. Оценивается вероятность дефолта фирмы, торгующей акциями в рублях и выпустившей долговое обязательство в долларах. На одном из этапов оценки возникает следующая оптимизационная задача: нужно оценить параметры $\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 сообщение ] 

Модераторы: zhoraster, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group