如何在Python中生成和绘制示例产量曲线

问题描述

如果要绘制国库券收益率曲线,则在给定日期,我的x,y变量将类似于以下内容:

x = ['1month','2month','3month','6month','1year','2year','3year','5year','7year','10year','20year','30year']
y = [0.09,0.09,0.10,0.11,0.12,0.13,0.22,0.40,0.56,1.01,1.23]

然后我可以绘制曲线。

但是,我还想做的是生成不同的y轴列表,以便能够绘制出与真实曲线进行比较的样本曲线。可以在以下位置找到此类曲线的示例:What do different yield curve shapes mean?

因此,基本上,我最终将得到4个附加列表,包含12个值,分别是y_normal,y_inverted,y_steep和y_flat。

我尝试手动计算出这些值应该是什么,但是我发现它很棘手,并且强烈怀疑有Python方式可以生成这些列表-希望将每个列表的“ 1month”值基于“ 1个月的真实数据价值。

从这里开始,我不想只是在同一张图表上绘制这些图形,而是想以编程方式将它们与真实曲线进行比较,以便确定真实曲线的类型(法线,倒角,陡峭,平坦)。相信我可以结合使用scipy.optimize curve_fit和sklearn.metrics r2_score来实现这一部分,但也希望能有更多有关此操作的指导。

如果有人能帮助我解决价值创造问题,我将不胜感激,因为这是我最努力的部分,但是在比较篇上的指导会把您提升到超级巨星的水平!

解决方法

从以下StackOverflow帖子中查看“假股市数据”部分:https://stackoverflow.com/a/30424537/13608599。您可以对其进行修改以生成综合收益率曲线(例如,创建向上倾斜的趋势线以及穿过1个月点的噪声)。

您可以在这里获得数十年的实际收益率曲线数据:https://fred.stlouisfed.org

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...