簡體   English   中英

將 tibble 轉換為 xts 以使用 performanceanalytics 進行分析 package

[英]Convert tibble to xts for analysis with performanceanalytics package

我有一個帶有日期和返回列的標題,如下所示:

> head(return_series)
# A tibble: 6 x 2
  date      return
  <chr>      <dbl>
1 2002-01  0.0292 
2 2002-02  0.0439 
3 2002-03  0.0240 
4 2002-04  0.00585
5 2002-05 -0.0169 
6 2002-06 -0.0686 

我首先使用以下代碼將日期添加到日期列:

return_series$date <- as.Date(as.yearmon(return_series$date))

# A tibble: 6 x 2
  date         return
  <date>        <dbl>
1 2002-01-01  0.0292 
2 2002-02-01  0.0439 
3 2002-03-01  0.0240 
4 2002-04-01  0.00585
5 2002-05-01 -0.0169 
6 2002-06-01 -0.0686 

我的目標是將 return_series tibble 轉換為 xts 數據,以將其用於 PerformanceAnalytics package 的進一步分析。但是當我使用命令 as.xts 時,我收到以下錯誤:

Error in as.POSIXlt.character(x, tz, ...) : 
  character string is not in a standard unambiguous format

如何將格式更改為 xts 或是否有其他可能使用 PerformanceAnalytics package 而不是轉換為 xts?

非常感謝您的幫助!

您需要更密切地關注xts文檔:

> tb <- as_tibble(data.frame(date=as.Date("2002-01-01") + (0:5)*30, 
+                            return=rnorm(6)))
> tb
# A tibble: 6 × 2
  date       return
  <date>      <dbl>
1 2002-01-01  0.223
2 2002-01-31 -0.352
3 2002-03-02  0.149
4 2002-04-01  1.42 
5 2002-05-01 -1.04 
6 2002-05-31  0.507
> 
> x <- xts(tb[,-1], order.by=as.POSIXct(tb[[1]]))
> x
                       return
2001-12-31 18:00:00  0.222619
2002-01-30 18:00:00 -0.352288
2002-03-01 18:00:00  0.149319
2002-03-31 18:00:00  1.421967
2002-04-30 19:00:00 -1.035087
2002-05-30 19:00:00  0.507046
> 

xts object 更喜歡POSIXct日期時間 object,您可以從Date object 轉換它。對於(密切相關的) zoo object,您可以保留Date

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM