[英]Assign column names in list of dataframes with NA values
我正在使用股票數據,並且試圖獲取前一個交易日的即時價格,以了解收盤價和其他信息。 到目前為止,我的代碼僅在前一天獲得,因此它在星期一無法正常工作,因為它在星期日(不是股票的有效交易日)上搜索信息。
復制:
library(quantmod)
list_symbols_sample <- c("GLBS", "SBOT", "ACHV", "TTNP", "AVCO", "CCCL")
research_days_sample <- structure(c(17966, 17963, 17949, 17928, 17924, 17898), class = "Date")
stocks_df_sample <- lapply(list_symbols_sample, function(x) tryCatch(getSymbols(x, auto.assign = FALSE),error = function(e) { }))
這是我正在使用的代碼及其結果:
stocks_OHLCV_previous_day <- list()
for (i in 1:3) {
trade_date_temp <- as.Date(research_days[i]-1)
OHLCV_temp <- stocks_df_sample[[i]][trade_date_temp]
stocks_OHLCV_previous_day[[i]] <- data.frame(OHLCV_temp)
}
stocks_OHLCV_previous_day
[[1]]
[1] GLBS.Open GLBS.High GLBS.Low GLBS.Close GLBS.Volume GLBS.Adjusted
<0 linhas> (ou row.names de comprimento 0)
[[2]]
SBOT.Open SBOT.High SBOT.Low SBOT.Close SBOT.Volume SBOT.Adjusted
2019-03-07 1.29 1.29 1.05 1.2 54300 1.2
[[3]]
ACHV.Open ACHV.High ACHV.Low ACHV.Close ACHV.Volume ACHV.Adjusted
2019-02-21 1.58 1.82 1.55 1.79 145500 1.79
這就是我需要的:
stocks_OHLCV_previous_day
[[1]]
[1] GLBS.Open GLBS.High GLBS.Low GLBS.Close GLBS.Volume GLBS.Adjusted
2019-03-08 3.34 5.34 3.25 4.44 2941900 4.44
[[2]]
SBOT.Open SBOT.High SBOT.Low SBOT.Close SBOT.Volume SBOT.Adjusted
2019-03-07 1.29 1.29 1.05 1.2 54300 1.2
[[3]]
ACHV.Open ACHV.High ACHV.Low ACHV.Close ACHV.Volume ACHV.Adjusted
2019-02-21 1.58 1.82 1.55 1.79 145500 1.79
關於如何解決此問題的任何提示?
這是使用bizdays
和lubridate
軟件包的解決方案。 有關bizdays
文檔,請轉到https://cran.r-project.org/web/packages/bizdays/bizdays.pdf 。
您需要為您所在的國家/地區創建日歷。 我認為bizdays
軟件包中已經預裝了幾個,但我沒有檢查。 文檔中使用的是巴西使用的,這就是我使用的。
為了解決這個問題,我只更改了循環的第一行。
library(bizdays)
library(lubridate)
cal <- create.calendar("Brazil/ANBIMA", holidaysANBIMA, weekdays=c("saturday", "sunday"))
for (i in 1:3){
trade_date_temp <- adjust.previous((research_days_sample %m-% days(1)), cal)[i]
OHLCV_temp <- stocks_df_sample[[i]][trade_date_temp]
stocks_OHLCV_previous_day[[i]] <- data.frame(OHLCV_temp)}
> stocks_OHLCV_previous_day
[[1]]
GLBS.Open GLBS.High GLBS.Low GLBS.Close GLBS.Volume GLBS.Adjusted
2019-03-08 3.34 5.34 3.25 4.44 2941900 4.44
[[2]]
SBOT.Open SBOT.High SBOT.Low SBOT.Close SBOT.Volume SBOT.Adjusted
2019-03-07 1.29 1.29 1.05 1.2 54300 1.2
[[3]]
ACHV.Open ACHV.High ACHV.Low ACHV.Close ACHV.Volume ACHV.Adjusted
2019-02-21 1.58 1.82 1.55 1.79 145500 1.79
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.