首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Quantlib RiskFreeCurve

Quantlib RiskFreeCurve
EN

Stack Overflow用户
提问于 2019-11-14 03:09:32
回答 1查看 42关注 0票数 0

遵循有关如何将python QL程序移植到C++this文档,我尝试:

代码语言:javascript
复制
auto cp = 'C';
auto k = 100.0;
auto u = make_shared<SimpleQuote>(100.0);
auto r = make_shared<SimpleQuote>(0.01);
auto sigma = make_shared<SimpleQuote>(0.20);
auto t = calendar.businessDaysBetween(d1, expiry) / cDays;

auto exercise = EuropeanExercise(expiry);
auto payoff = ('C' == cp ? PlainVanillaPayoff(Option::Call, k) :
                             PlainVanillaPayoff(Option::Put, k));

auto european_option = EuropeanOption(
    boost::make_shared<PlainVanillaPayoff>(payoff),
    boost::make_shared<EuropeanExercise>(exercise));

auto riskFreeCurve =
    make_shared<FlatForward>(0, TARGET(), Handle<Quote>(r), Actual360());

我得到以下错误:

代码语言:javascript
复制
qldate.cpp:49:58: error: no matching function for call to \u2018QuantLib::Handle<QuantLib::Quote>::Handle(std::shared_ptr<QuantLib::SimpleQuote>&)\u2019
     make_shared<FlatForward>(0, TARGET(), Handle<Quote>(r), Actual360());
EN

回答 1

Stack Overflow用户

发布于 2019-11-14 03:53:08

而不是

代码语言:javascript
复制
auto u = make_shared<SimpleQuote>(100.0);

确保您限定了boost版本:

代码语言:javascript
复制
auto u = boost::make_shared<SimpleQuote>(100.0);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58843973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档