2014-06-19 81 views
1

我想请您澄清下一个对我来说极为重要的问题,因为我的硕士论文的主要部分依赖于正确实施以下示例中计算的数据。 我HAVA的金融时间序列的列表,看起来像这样(AUDUSD例子):不匹配的下拉计算

   Open High Low Last 
1992-05-18 0.7571 0.7600 0.7565 0.7598 
1992-05-19 0.7594 0.7595 0.7570 0.7573 
1992-05-20 0.7569 0.7570 0.7548 0.7562 
1992-05-21 0.7558 0.7590 0.7540 0.7570 
1992-05-22 0.7574 0.7585 0.7555 0.7576 
1992-05-25 0.7575 0.7598 0.7568 0.7582 

从这个数据我估计数收益为列最后获得这样的事情

    Last 
1992-05-19 -0.0032957646 
1992-05-20 -0.0014535847 
1992-05-21 0.0010573620 
1992-05-22 0.0007922884 

现在我想通过使用(从包PerformanceAnalytics)

ddStats <- drawdownsStats(timeSeries(AUDUSDLgRetLast[,1], rownames(AUDUSDLgRetLast))) 

其导致的F,以计算在上面给出的时间序列的刮涂,我实现ollowing输出(这里仅仅是前5行,但它返回每一个缩编,还包括用一天长的)

  From  Trough   To   Depth Length ToTrough Recovery 
1 1996-12-03 2001-04-02 2007-07-13 -0.4298531511 2766  1127  1639 
2 2008-07-16 2008-10-27 2011-04-08 -0.4003839141 713  74  639 
3 2011-07-28 2014-01-24 2014-05-13 -0.2254426369 730  652  NA 
4 1992-06-09 1993-10-04 1994-12-06 -0.1609854215 650  344  306 
5 2007-07-26 2007-08-16 2007-09-28 -0.1037999707  47  16  31 

现在,问题如下:最坏缩编的深度(根据上输出)为-0.4298,而如果我做了以下计算“手动”我获得

(AUDUSD[as.character(ddStats[1,1]),4]-AUDUSD[as.character(ddStats[1,2]),4])/(AUDUSD[as.character(ddStats[1,1]),4]) 
    [1] 0.399373 

为了让事情更清晰,这是从澳元兑美元数据框中两条线从通过日期:

AUDUSD[as.character(ddStats[1,1]),] 
       Open High Low Last 
    1996-12-03 0.8161 0.8167 0.7845 0.7975 

    AUDUSD[as.character(ddStats[1,2]),] 
       Open High Low Last 
    2001-04-02 0.4858 0.4887 0.4773 0.479 

另外,其他缩编部门不同意“手工计算”。我错过了什么?为什么这两个数字应该是相同的,差别很大?

+0

您是如何为“手工”选择输入值的,您是否可以在'drawdownsStats'函数中确认那些值(没有其他中间项,例如)? –

+0

您有PerformanceAnalytics压缩函数的源代码。将其与“手边”计算相比较。 –

+0

drawdownStats函数是时间序列包的一部分。 –

回答

0

我试图通过复制缩编:

cumsum(rets) -cummax(cumsum(rets))

,其中可再生能源技术是您的日志回报的载体。

出于某种原因,当我估计是说小于20%,我得到了相同的结果table.Drawdowns() & drawdownsStats()但时有较大的差异说,超过35%支取补足,那么最大的亏损开始计算之间出现分歧。更具体地说,table.Drawdowns() & drawdownsStats()被夸大了(至少我注意到了)。我不知道为什么会这样,但也许可以帮助的是,如果通过使用“缩差”的标准误差将大置信水平(超过35%的置信水平)用于置信区间。我会用:0.4298531511/sqrt(1127)这是max drawdown/sqrt(depth to trough)。这将产生+/- 0.01280437的+/-或0.4169956到-0.426044的下拉,0.4169956的下限与0.399373的“手边”计算更接近。希望能帮助到你。