quantlib


How do I get coupon payment dates for a simple fixed bond using quantlib, quantlib-swig and python


I am trying yo learn quantlib (1.3) & python bindings using quantlib-swig (1.2) in ubuntu 13.04. As a starter I am trying to determine the payment dates for a very simple bond as given below using 30/360 European day counter
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)
Following are my questions:
Which method of schedule object will give me the payment dates?
Where do I need to specify the dayCounter object so that the dates are appropriately calculated?
Using Dimitri Reiswich' Presentation, I tried mimicking C++ code, but schedule.dates() returns an error as no such method.
The payment dates for this Fixed Rate bond are, (obtained by using oocalc)
Feb 28, 2001; Aug 31, 2001
Feb 28, 2002; Aug 31, 2002
Feb 28, 2003; Aug 31, 2003
Feb 29, 2004; Aug 31, 2004
Feb 28, 2005; Aug 31, 2005
Feb 28, 2006; Aug 31, 2006
Feb 28, 2007; Aug 31, 2007
Feb 29, 2008; Aug 31, 2008
How do I get the payment dates for this simple bond using python & quantlib? Can someone please help?
regards
K
If you want to look at the schedule you just generated, you can iterate over it:
>>> 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
or call list(schedule) if you want to store them. However, are you sure that those are the payment dates? They are the start and end date for accrual calculation; but some of these fall on a Saturday or a Sunday, and the bond will be paying on the next business day. You can see the effect if you instantiate the bond and retrieve the coupons:
>>> 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
(that is, unless Saturdays and Sundays shouldn't be holidays for the Indian calendar. If you think they shouldn't, file a bug report with QuantLib).

Related Links

Unhandled exception in Yield Curve Quantlib .exe
How to obtain the “time” values of a schedule
Why did QuantLib introduce the Handle class?
Can't expose monotone convex interpolation in python quantlib
unable to start program QuantLib-vc120-mt-gd.lib
C++: Derive a class template from QuantLib::PiecewiseYieldCurve
clean or dirty price for FixedRateBondHelper
Which version of QuantLib is the basis for QLNet ?
xlquantlib bootstrapping Offshore KRW Curve
“end must be large than start” in Uniform1dMesher
How do I get coupon payment dates for a simple fixed bond using quantlib, quantlib-swig and python
How to calculate the local volatilty surface using QuantLib?

Categories

HOME
windows
notepad++
go
gdb
awk
ecmascript-6
composite-primary-key
sitecore
xbee
gembox-spreadsheet
maxscript
settings
opengl-3
categorical-data
openpyxl
onedrive-api
symmetricds
docx
mongodb-csharp
mvc-mini-profiler
red5
soci
identity-management
boost-icl
oledb
asp.net-core-webapi
replication
systemtime
pimcore
pchart
mount
pic32
interbase
ms-access-web-app
jasmine-node
delimiter
paperjs
user-defined-functions
sqlpackage
testbed
installscript
indy10
lubridate
raft
flatmap
release
diacritics
signals-slots
strftime
dapper-simplecrud
xbmc
google-cse
oozie-coordinator
reshape
mouseleave
ampps
rxtx
visual-studio-2008-sp1
pytables
qtplugin
tinkerpop3
model-associations
hclust
scaffolding
yajsw
phpgrid
rasterize
tfs-workitem
lazybones
opserver
sha512
sql-server-data-tools
snoop
delayed-execution
viewer
primitive-types
webfinger
device-tree
reflector
cancellation
live555
spring-remoting
android-framework
solace-mq
model-driven-development
script#
kogrid
epiceditor
curb
mkv
lambdaj
ikimagebrowserview
socketserver
spread
build-environment
filesystemobject
strtod
asynchronous-wcf-call
fault-tolerance

Resources

Encrypt Message