如何在 R 中的 quantmod 包中打印股权日期?

How can I print the Dates of an equity in quantmod package in R?

我想从 R.Doing 中的 quanatmod 包加载特斯拉股权的 5 年历史,所以我有:

tsla <- quantmod::getSymbols("TSLA", from = base::as.Date("2017-01-01"), to = base::as.Date("2022-01-31"), auto.assign = F)
tsla = as_tibble(tsla)
head(tsla)

但我还想要一个包含每个日期的列 index.How 是否可以在不添加日期的情况下完成此操作,因为这些价格对应于特定日期。

我们可以在从 xts 输出转换为 data.frame 后使用 rownames_to_column

library(dplyr)
library(tibble)
tsla %>% 
   as.data.frame %>% 
   rownames_to_column("Index")

-输出

      Index TSLA.Open TSLA.High TSLA.Low TSLA.Close TSLA.Volume TSLA.Adjusted
1 2017-01-03    42.972    44.066   42.192     43.398    29616500        43.398
2 2017-01-04    42.950    45.600   42.862     45.398    56067500        45.398
3 2017-01-05    45.284    45.496   44.390     45.350    29558500        45.350
4 2017-01-06    45.386    46.062   45.090     45.802    27639500        45.802
5 2017-01-09    45.794    46.384   45.600     46.256    19897500        46.256
6 2017-01-10    46.400    46.400   45.378     45.974    18300000        45.974
...

或者可以用fortify.zoo

来完成
zoo::fortify.zoo(tsla)

只需打印 TSLA xts 对象。 ( fortify.zoo(TSLA) 将其转换为第一列中具有索引的数据框,但实际上并不需要简单地打印它。)

library(quantmod)
getSymbols("TSLA", from = "2017-01-01", to = "2022-01-31")
TSLA

给予:

           TSLA.Open TSLA.High TSLA.Low TSLA.Close TSLA.Volume TSLA.Adjusted
2017-01-03    42.972    44.066   42.192     43.398    29616500        43.398
2017-01-04    42.950    45.600   42.862     45.398    56067500        45.398
2017-01-05    45.284    45.496   44.390     45.350    29558500        45.350
2017-01-06    45.386    46.062   45.090     45.802    27639500        45.802
2017-01-09    45.794    46.384   45.600     46.256    19897500        46.256
2017-01-10    46.400    46.400   45.378     45.974    18300000        45.974
...etc...