MaxDrawdown возвращает массив NA - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь рассчитать худшую просадку на основе данных по акциям df2.

> head(df2[3:19])
            .SXTR  .SXNR  .SXMR  .SXAR  .SX3R  .SX6R  .SXFR  .SXOR  .SXDR  .SX4R ...
2000-01-03 223.93 489.04 586.38 306.56 246.81 385.36 403.82 283.78 455.39 427.43 ...
2000-01-04 218.90 474.05 566.15 301.13 239.24 374.64 390.41 275.93 434.92 414.10 ...
2000-01-05 215.88 464.20 542.29 298.22 239.55 373.26 383.48 272.54 430.05 406.33 ...
2000-01-06 218.18 470.82 529.33 300.69 249.75 377.26 383.48 272.47 434.15 417.91 ...
2000-01-07 220.10 478.87 531.65 306.50 255.17 381.19 390.23 273.76 447.02 428.54 ...
2000-01-10 223.01 484.07 581.82 310.84 252.75 387.74 393.75 278.76 453.80 431.81 ...

Во время работы я получаю массив NA.

maxDrawdown(df2[3:19], weights = NULL, geometric = TRUE, invert = TRUE)
               .SXTR .SXNR .SXMR .SXAR .SX3R .SX6R .SXFR .SXOR .SXDR .SX4R .SXRR
Worst Drawdown   NaN   NaN   NaN   NaN   NaN   NaN   NaN   NaN   NaN   NaN   NaN
               .SXER .SXKR .SX7R .SX8R .SXIR .SXPR
Worst Drawdown   NaN   NaN   NaN   NaN   NaN   NaN

Поэтому я стараюсь учитывать только те строки, которые не были Nas, с помощью метода, опубликованного в этом вопросе И все же он не учитывает.

> maxDrawdown(complete.cases(df2[2:19]), weights = NULL, geometric = TRUE, invert = TRUE)
Error in checkData(R) : 
  The data cannot be converted into a time series.  If you are trying to pass in names from a data object with one column, you should use the form 'data[rows, columns, drop = FALSE]'.  Rownames should have standard date formats, such as '1985-03-15'. 

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...