我对Python相当陌生,正试图围绕一些Quantlib交换对象编写一个包装类。问题是,我试图使用传递给构造函数或在构造函数中计算的属性来调用Qualtlib Schedule对象。问题是当我这样运行代码时
import swapleg as sl
Leg1 = sl.SwapLeg("Fix","AUD",ql.Date(26, 9, 2018),ql.Date(26, 9, 2028),ql.Monthly)
print(Leg1.EffectiveDate)
Leg1.showSchedule()
我得到以下错误
^{pr2}$代码被列出-对象Leg1被实例化,EffectiveDate被设置。我的问题是当showSchedule调用Quantlib调用时ql.时间表,它会失去对有效日期的可见性,即使我正在查看它自我生效日期. 很明显我在这里遗漏了一些东西。任何帮助都将不胜感激。在
import QuantLib as ql
class SwapLeg:
def __init__(self,LegType,CCY,EffectiveDate=None,TerminationDate=None,Tenor=None,Rate=None,Spread=None):
self.LegType=LegType
self.CCY=CCY
self.Tenor=Tenor
if EffectiveDate is None:
self.EffectiveDate = ql.Settings.instance().evaluationDate
else:
self.EffectiveDate =EffectiveDate
......
def _LegSchedule(self):
ls = ql.Schedule( self.EffectiveDate,
self.TerminationDate,
self.Tenor,
self.Calendar,
self.businessDayConvention,
self.businessDayConvention,
self.GenRule,
self.EndOfMonth,
self.FirstDate,
self.NextToLastDate)
return ls
@classmethod
def showSchedule(self):
for i, d in enumerate(self._LegSchedule(self)):
print("{0} {1}".format(i+1,d))
目前没有回答
相关问题 更多 >
编程相关推荐