Hi Peter,
This is Xu Yuhong, a quant from UOB bank of Singapore. I am studying the code of one factor Gaussian short rate model in QuantLib, together with your short note on its implementation from SSRN. I am specifically interested in how you deal with multi-curve setup in the calibration.
From the example code, I can see the implementation deals with multi-curves. I was trying to step through the code, but find it is difficult to follow. It seems the forward curve is main object of modelling, while the discounting curve is merely an input and is not associated to any stochastic dynamics. Particularly, I don’t understand the bond reconstruction formula below if discounting curve is provided
const Real Gsr::zerobondImpl(const Time T, const Time t, const Real y,
const Handle<YieldTermStructure> &yts) const {
calculate();
if (t == 0.0)
return yts.empty() ? this->termStructure()->discount(T, true)
: yts->discount(T, true);
boost::shared_ptr<GsrProcess> p =
boost::dynamic_pointer_cast<GsrProcess>(stateProcess_);
Real x = y * stateProcess_->stdDeviation(0.0, 0.0, t) +
stateProcess_->expectation(0.0, 0.0, t);
Real gtT = p->G(t, T, x);
Real d = yts.empty()
? termStructure()->discount(T, true) /
termStructure()->discount(t, true)
: yts->discount(T, true) / yts->discount(t, true);
return d * exp(-x * gtT - 0.5 * p->y(t) * gtT * gtT);
}
My understanding is that the output of this function is the discounting zero bond from t to T, but GsrProcess is a description of forward dynamics. How can a forward curve dynamics produce discounting zero bond? Any model assumption between the dynamics of forward curve and discounting curve, eg. constant spread, which leads to the above result in code? Generally I want to know how you deal with multi-curve setup in GSR model.
Your reply on the above questions would be greatly appreciated. If necessary, we may move the topic to QuantLib user group for large audience. Thank you.
Regards,
Yuhong
UOB EMAIL DISCLAIMER Any person receiving this email and any attachment(s) contained, shall treat the information as confidential and not misuse, copy, disclose, distribute or retain the information in any way that amounts to a breach of confidentiality. If you are not the intended recipient, please delete all copies of this email from your computer system. As the integrity of this message cannot be guaranteed, neither UOB nor any entity in the UOB Group shall be responsible for the contents. Any opinion in this email may not necessarily represent the opinion of UOB or any entity in the UOB Group.
Free forum by Nabble | Disable Popup Ads | Edit this page |