- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 ubuntu 13.04 中使用 quantlib-swig (1.2) 学习 quantlib (1.3) 和 python 绑定(bind)。作为初学者,我尝试使用 30/360 欧洲日计数器确定一个非常简单的债券的付款日期,如下所示
from QuantLib import *
faceValue = 100.0
doi = Date(31, August, 2000)
dom = Date(31, August, 2008)
coupons = [0.05]
dayCounter = Thirty360(Thirty360.European)
schedule = Schedule(doi, dom, Period(Semiannual),
India(),
Unadjusted, Unadjusted,
DateGeneration.Backward, False)
以下是我的问题:
计划对象的哪种方法将为我提供付款日期?
我需要在哪里指定 dayCounter 对象以便正确计算日期?
使用 Dimitri Reiswich 的演示文稿,我尝试模仿 C++ 代码,但 Schedule.dates() 返回错误,因为没有这样的方法。
此固定利率债券的付款日期为(通过使用 oocalc 获得)
2001 年 2 月 28 日; 2001 年 8 月 31 日
2002 年 2 月 28 日; 2002年8月31日
2003 年 2 月 28 日; 2003年8月31日
2004 年 2 月 29 日; 2004年8月31日
2005 年 2 月 28 日; 2005年8月31日
2006 年 2 月 28 日; 2006年8月31日
2007 年 2 月 28 日; 2007年8月31日
2008 年 2 月 29 日; 2008 年 8 月 31 日
如何使用 python 和 quantlib 获取这个简单债券的付款日期?有人可以帮忙吗?
问候
K
最佳答案
如果您想查看刚刚生成的计划,您可以对其进行迭代:
>>> for d in schedule: print d
...
August 31st, 2000
February 28th, 2001
August 31st, 2001
February 28th, 2002
August 31st, 2002
February 28th, 2003
August 31st, 2003
February 29th, 2004
August 31st, 2004
February 28th, 2005
August 31st, 2005
February 28th, 2006
August 31st, 2006
February 28th, 2007
August 31st, 2007
February 29th, 2008
August 31st, 2008
如果你想存储它们,或者调用list(schedule)
。但是,您确定这些是付款日期吗?它们是应计计算的开始日期和结束日期;但其中一些是在周六或周日,债券将在下一个工作日支付。如果您实例化债券并检索优惠券,您可以看到效果:
>>> settlement_days = 3
>>> bond = FixedRateBond(settlement_days, faceValue, schedule, coupons, dayCounter)
>>> for c in bond.cashflows():
... print c.date()
...
February 28th, 2001
August 31st, 2001
February 28th, 2002
September 2nd, 2002
February 28th, 2003
September 1st, 2003
March 1st, 2004
August 31st, 2004
February 28th, 2005
August 31st, 2005
February 28th, 2006
August 31st, 2006
February 28th, 2007
August 31st, 2007
February 29th, 2008
September 1st, 2008
September 1st, 2008
(也就是说,除非周六和周日不应该是印度日历的假期。如果您认为不应该,请向 QuantLib 提交错误报告)。
关于quantlib - 如何使用 quantlib、quantlib-swig 和 python 获取简单固定债券的息票支付日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21111986/
我正在制作一个 C++ 库的包装器,以便它可以从 Java 中使用,我正在用 Swig 做这个。 我面临的是我有一个类(class) SomeClass ,它有一些重载的方法( someMethod
我有许多要在 SWIG 中重命名的类。我的大部分类(class)看起来像这样some_class ,我想将其重命名为 SomeClass .这很简单: %replace("%(camelcase)s"
PyPy 有一些 compatibility limitations ,尤其是关于 CPython C API。 我用 QuickFix预编译的 SWIG 绑定(bind)附带的包,我正在考虑将它与
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
使用 SWIG 生成接口(interface)模块时,生成的 C/C++ 文件包含大量静态样板函数。因此,如果想通过在同一个应用程序中使用许多单独编译的小接口(interface)来模块化 SWIG
我正在应用 SWIG 手册中有关嵌套类的解决方法,该部分使用全局内部类。在这里,我将向您展示一个类似于手册中的版本,但为您尽可能地简化了。我还必须将内联定义 {} 添加到 method(),因为没有它
我有一个现有的库 (JPhysX),它是原生 C++ 库 (PhysX) 的 Java 包装器。 Java 库使用 SWIG 生成的类型,例如 com.jphysx.SWIGTYPE_p_NxStre
有没有办法动态向下转换 swig 对象的 swig 代理? 这样做的原因是为了模拟 C++ 向下转换,但纯粹来自 python。例如,典型的 C++ 用法是 MyBase* obj = new MyB
我在远程服务器上工作,所以我在本地安装了 swig,使用 -prefix=/home/user/directory。 我有一个来自同事的 makefile,其中包含以下命令: swig $(SWIG_
据我所知,在用于将 c++ 文件编译为 python 扩展模块的 .i 文件中,我们可以添加一些 python 代码,如下所示(来自 example for adding additional pyt
我的 Swig 文件 (.i) 中有以下代码: %extend vgSofa::handler::VertexShape { vgd::Shp createVSWithNode( so
我有一个用 swig 包装的类的 C++ 代码。我无法修改代码或包装。在 python 中,我使用 ctypes 拥有一个指向所述 C++ 类的实例的指针。如何围绕该指针创建一个 swig 包装器?
我开始掌握 SWIG 的窍门,SWIG 的最新版本 (v3.0) 似乎可以处理我开箱即用所需的一切,包括 C++11 功能,但我遇到了麻烦开始在我的导演类(class)中使用 shared_ptr。
我正在使用 javacode 类型映射来添加一些附加函数来代替 SWIG 生成的函数。我想删除 SWIG 为 unsigned char mac[6]; 生成的默认 getter 和 setter(p
我正在使用 SWIG 为我的 C 库生成 Python 语言绑定(bind)。我已经设法构建了绑定(bind)和导出的数据结构,但在使用该库时我不得不跳过一些障碍。 例如,C 头文件的数据类型和函数原
我最近在node-js应用程序中从jade模板引擎切换到了swig。在使用jade时我使用了命令 jade.render('/sample.jade',{obj:object});渲染模板并传递对象。
我在我的 python 代码中发现了瓶颈,尝试了 Psycho 等。然后决定编写一个 c/c++ 扩展来提高性能。 在 swig 的帮助下,您几乎不需要关心参数等。一切正常。 现在我的问题是:swig
由于 SWIG 无法解析 __attribute__((packed))在我想包装的一些 C 结构上,我通过放置一个 #define __attribute__(x) 在我的.i文件。 这什么时候会来
我有一个包含 C++ header 的 SWIG 文件。 痛饮文件: %module my_module %{ #include "my_c_file.h" %} %include "my_c_fil
我正在尝试学习如何使用 SWIG,并且想知道我是否正在执行一些不需要执行的额外步骤。我目前有文件 Dog.cpp、Dog.h 和 Dog.i。我正在尝试使用 SWIG 包装 Dog.cpp 以便在 P
我是一名优秀的程序员,十分优秀!