3

ubuntu 13.04でquantlib-swig(1.2)を使用してquantlib(1.3)とpythonバインディングを学ぼうとしています。スターターとして、以下に示すように、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

4

1 に答える 1

3

生成したばかりのスケジュールを見たい場合は、それを繰り返すことができます。

>>> 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 にバグ レポートを提出してください)。

于 2014-01-15T13:37:50.603 に答える