Hello
Currently HullWhiteProcess::alpha(Time
t) looks like this:
Real
alfa = a_ > QL_EPSILON ?
(sigma_/a_)*(1 - std::exp(-a_*t)) :
sigma_*t;
alfa
*= 0.5*alfa;
alfa
+= h_->forwardRate(0.0,0.0,Continuous,NoFrequency);
return
alfa;
This looks to me like it would make
the process revert to the time 0 short rate, while the rest of the curve
gets ignored. I think that maybe the fifth line should read:
alfa += h_->forwardRate(t,t,Continuous,NoFrequency);
Also, if my understanding of HullWhiteForwardProcess
is correct, then a similar line in HullWhiteForwardProcess::alpha(Time
) might need changing to:
alfa += h_->forwardRate(t, t + T_,
Continuous, NoFrequency);
And HullWhiteForwardProcess::x0() should
probably return:
h_->forwardRate(0.0, T_, Continuous,
NoFrequency);
rather than the current:
process_->x0();
Of course the chances are I'm missing
something, in which case I'll appreciate a pointer in the right direction.
Thank you,
Pawel
*************************************************************************
This communication, including attachments, is
for the exclusive use of addressee and may contain proprietary,
confidential and/or privileged information. If you are not the intended
recipient, any use, copying, disclosure, dissemination or distribution is
strictly prohibited. If you are not the intended recipient, please notify
the sender immediately by return e-mail, delete this communication and
destroy all copies.
*************************************************************************
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev