http://quantlib.414.s1.nabble.com/Exposing-CallableFixedRateBond-to-QuantLibXL-how-to-use-ShortRateModel-instead-of-AffineModel-tp16923p16925.html
supersedes gensrc. An update to the above message, I talked about some
would be the default.
handwritten code in the QuantLibAddin layer.
> I've followed this
> <
http://quantlib.org/quantlibaddin//extend_tutorial.html#extend_wrap>
> great tutorial and it worked; furthermore, I've exposed
> AmortizingFixedRateBond, AmortizingFloatingRateBond and
> AmortizingCmsRateBond, and they worked fine.
>
> Now would like to expose a simple "wrapper" for
> CallableFixedRateBond, but I'm likely stuck with a design problem.
>
> My idea is to extend *QuantLibAddin\qlo\bonds.hpp* and
> *QuantLibAddin\qlo\bonds.cpp*: declaration in the former should not
> require anything more than almost the same constructor used by
> FixedRateBond (plus /const std::vector<QuantLib::Real>& callPrices/,
> const /std::vector<QuantLib::Real>& callDates/ and /const
> boost::shared_ptr<QuantLib::ShortRateModel>& shortRateModel/),
> implementation in the latter, on the contrary, is giving some issues.
>
> Declaration: /#include <qlo/shortratemodels.hpp>/ and /#include
> <ql/models/shortrate/onefactormodel.hpp>/ should allow to use /const
> boost::shared_ptr<QuantLib::ShortRateModel>& shortRateModel/ in
> constructor declaration... correct?
>
> Implementation: here are some issues. /#include
> <ql/experimental/callablebonds/callablebond.hpp>/, /#include
> <ql/experimental/callablebonds/treecallablebondengine.hpp>/
> and /#include <ql/instruments/callabilityschedule.hpp>/ are needed,
> of course.
>
> The main issue is:
> *C:\build_ql_1_6_0\QuantLibAddin\gensrc\metadata\types\types.xml* has
> only AffineModel as libraryClass, whilst
> QuantLib::TreeCallableFixedRatebondEngine class wants a /const
> boost::shared_ptr<ShortRarteModel>/. Here we come to
> *C:\build_ql_1_6_0\QuantLibAddin\gensrc\metadata\functions\bonds.xml*:
> the only parameter different than other bonds' ones is the short rate
> model id. My guess:
>
> / <Parameter name='ShortRateModel'>
> <type>QuantLib::AffineModel</type>
> <superType>libraryClass</superType>
> <tensorRank>scalar</tensorRank>
> <description>Short rate model ID.</description>
> </Parameter>/
>
> Nevertheless, I cannot use QuantLib::AffineModel type here because
> QuantLib::TreeCallableFixedRatebondEngine wants a
> /boost::shared_ptr<ShortRarteModel>/.
>
> Any solution to use QuantLib::AffineModel as type but actually
> QuantLib::ShortRateModel as template for the boost::shared_ptr which
> I will pass to QuantLib::TreeCallableFixedRatebondEngine?
>
>
>
> --
> View this message in context:
>
http://quantlib.10058.n7.nabble.com/Exposing-CallableFixedRateBond-to-QuantLibXL-how-to-use-ShortRateModel-instead-of-AffineModel-tp16923.html> Sent from the quantlib-users mailing list archive at Nabble.com.
>
> ------------------------------------------------------------------------------
> _______________________________________________
> QuantLib-users mailing list
>
[hidden email]
>
https://lists.sourceforge.net/lists/listinfo/quantlib-users