1

所以我目前正在尝试为每日损益创建一个回撤图。使用:

cols = rainbow(ncol(pdrawdown),s=0.7, v=0.8, alpha= 0.7)
chart.Drawdown(pdrawdown, legend.loc = "bottomleft",colorset = cols,
               main = "Drawdown Chart", xlab ="Date", ylab = "Drawdown")

我能够轻松地绘制它以获取回报(其值大部分小于 10)。但是,在尝试使用这种完全相同的方法来计算利润/损失时,其值达到 10e+09 的范围,我得到了错误:

Error in plot.window(xlim, ylim, xaxs = "r", log = logaxis) : 
  need finite 'ylim' values

最奇怪的部分是,当我简单地将数据表 pdrawdown 中的每个值除以 10,000,000 时pdrawdown = pdrawdown/10000000,问题就解决了,它可以绘制它。那么我能做些什么来正确地绘制图表而不必使用这个奇怪的技巧呢?

4

2 回答 2

3

您的时间序列pdrawdown是一系列值(例如 [100, 101, 99.5, 102, ... ])还是一系列百分比变化(例如 [0.01, -0.02, 0.025, ...])?

chart.Drawdown 需要一系列百分比变化。当您有一系列绝对值时,chart.Drawdown 将假定它们是百分比变化,因此结果将变得如此之大以至于您会收到need finite 'ylim' values错误。

于 2018-08-01T06:02:44.570 回答
0

你可以简单地设置一个 ylim 值吗?

chart.Drawdown(pdrawdown, legend.loc = "bottomleft",colorset = cols,
           main = "Drawdown Chart", xlab ="Date", ylab = "Drawdown", 
                   ylim=c(0,1000000000))
于 2017-08-18T17:05:18.753 回答