MCM*_*MCM 3 python datetime matplotlib quantlib quantlib-swig
我有一个以quantlib的日期格式定义的日期列表。如何将它们转换为日期时间格式。我要问的原因是,我想绘制它,并且收到以下错误:
TypeError:float()参数必须是字符串或数字,而不是'Date'
在执行以下操作时:
plt.plot(dates,rates, linewidth=2.0) # Without date plotting works out.
Run Code Online (Sandbox Code Playgroud)
日期如下所示:
[
Date(11,12,2012),
Date(12,12,2012),
Date(13,12,2012),
Date(14,12,2012),
Date(15,12,2012),
Date(16,12,2012),
Date(17,12,2012),
Date(18,12,2012),
Date(19,12,2012),
Date(20,12,2012)
]
Run Code Online (Sandbox Code Playgroud)
没有预定义的转换,因此您必须从QuantLib日期中提取信息并使用它来构建datetime
实例。例如,定义类似
def ql_to_datetime(d):
return datetime.datetime(d.year(), d.month(), d.dayOfMonth())
Run Code Online (Sandbox Code Playgroud)
之后,您可以将其ql_to_datetime(d)
用于单个日期或[ ql_to_datetime(d) for d in dates ]
列表。(当然,您还可以定义另一个带有列表的函数。)
更新:在QuantLib-Python的最新版本中,添加了预定义的转换。现在,您可以说d.to_date()
要转换日期或[d.to_date() for d in dates]
列表。
归档时间: |
|
查看次数: |
1646 次 |
最近记录: |