【发布时间】:2020-06-05 04:51:10
【问题描述】:
这是我使用的代码:
library(quantmod)
library(timetk)
library(dplyr)
library(tibble)
library(tidyr)
# Start date: mdate => character
mdate <- "2015-10-30"
# End date: edate => character
edate <- "2016-01-07"
tickers <- c("VYM","WELL","WM","WMB","WMC","WRB","XLG","XLV","XPO","XRX","YUM","ZSL","AA","ACC","ACM","ACN","ADS","ADX","AEE","AEP","AFG","AI","AIG","AIT","AIV","AJG","ALEX","ALK","AMP","AMRC","AON","ASH","AXP","BDC","BDN","BHLB","BIG","BK","BOE","BRO","BTE","BTO","BYD",
"CAH","CAPE","CBRE","CBU","CEE","CHK","CHT","CHU","CIA","CNI","COF","CPAC","CSD","CSL","CXO","CYH","CZA","DCI","DFS","DGZ","DHR","DLB","DNR","DPG","DRI","DRN","DSI","DTO","DTQ","DVA","EFC","EIX","EMR","EPD","EQL","ERJ","ERUS","ERX","ES","ETN","ETR","EUO",
"EUSA","EW","EWI","EWT","EWZ","EZM","FDS","FENG","FFA","FIS","FLR","FMX","FPX","FVL","FXH","FXL","FXR","GAM","GDOT","GE","GEF","GF","GFI","GGB","GGG","GLW","GNRC","GPM","GRA","GS","HBM","HCA","HCI","HE","HLX","HQL","HSC","HUM","IAK","IBN","IDA","IGA","IGD",
"IGM","IHF","IJH","IJJ","IJK","IRM","IT","ITOT","ITT","IVOG","IVOO","IWF","IWN","IWP","IWR","IWY","IXN","IYC","IYF","IYW","JCI","JJM","JKE","JKG","JKH","JKK","JNJ","JTA","KAI","KAR","KBE","KEY","KOP","KRG","L","LEG","LGI","LH","LLY","MDP","MDY","MDYV","MEI",
"MFC","MGK","MLM","MN","MNR","MOS","MRO","MSCI","MSM","MTB","MTZ","NC","NE","NGVC","NIE","NMR","NTZ","NVS","ODC","OMI","OXY","PEG","PEI","PFS","PHI","PIN","PJP","PNR","PNW","POR","PPA","PSJ","PSX","RBS","RFP","RGI","ROK","ROP","RPG","RPM","RWJ","RWK","RYT",
"RZG","RZV","SCHA","SCHM","SCS","SF","SFUN","SHW","SIG","SLB","SLYG","SLYV","SMM","SNE","SNN","SPHB","SPHQ","SSD","STAG","STN","STT","SYK","SZC","TFX","TRC","TSM","TSU","TTC","TY","UA","UAA","UBA","UFS","UGE","UMC","USA","USB","UTI","VAL","VB","VBK","VCR",
"VFH","VGT","VIS","VLO","VMC","VOT","VUG","WAB","WBK","WFC","WHR","WMT","WNS","WRE","XLF","XLI","XLK","XLY","XOP","XSW","XTL","XYL","ZBH","AAN","AAP","AB","ABM","ACCO","AEO","AGN","AL","ALSN","AME","ANF","APH","APTV","ARC","AWI","AZN","BA","BAC","BAH","BAL",
"BBD","BBW","BBY","BGY","BITA","BKD","BKE","BLX","BOIL","BVN","BXS","C","CALX","CATO","CE","CEO","CFR","CHA","CHS","CLB","CLR","CM","CMI","CNO","CO","CODI","CRI","CRK","CURE","CW","CZZ","DAC","DAL","DDM","DDS","DHI","DK","DKL","DKS","DRH","DY","DZZ","EBS",
"EDU","EE","EGY","ELP","ENS","EOD","EPI","ESE","ESI","ETH","EV","EVC","EXP","FAS","FHN","FICO","FIX","FL","FLS","FNB","GBX","GCAP","GCO","GFF","GLL","GME","GNC","GNE","GPC","GWW","HBI","HEIa","HFC","HI","HIG","HJV","HNI","HNP","HOG","HOV","HPQ","HRC","HRL",
"HTH","IIF","INCO","ITUB","IYG","JBL","JBN","JCP","JJC","JKJ","JNPR","JPM","JWN","KBR","KCE","KMF","KMT","KNL","KNX","KRE","KSS","KTP","KW","KWR","LAZ","LB","CMU","CXE","DBL","DJCI","DNP","DSM","E","ECON","EMLC","EWV","FMY","FUD","FXB","GEO","GSC","HYB",
"HYMB","IBND","IGI","IVR","JPI","JRO","LTPZ","MAC","MEN","MRC","MYD","NIB","NLSN","NPV","NR","NXP","OIA","ORN","PAI","PFD","PFN","PFO","PKI","PMT","RJA","RNR","RZA","SAM","SCJ","SKT","SLV","STIP","TDTT","TEF","TIPZ","TMO","TOT","UNF","USL","VVR","VZ","WD",
"WIP","EVRG","A","AGZ","ASEA","AXE","BLV","BOX","CTS","DAR","EC","EOG","ET","EWM","EWS","EXD","FAN","FLRN","FLY","FTI","FUN","FXA","GDO","HYS","HYT","IBA","IGT","K","KSA","KT","LIT","LQD","MHN","MIC","MINT","MIY","MNE","MSA","NUW","NWN","NXR","OMC","PAA",
"PAC","PCY","PGF","PRGO","PSP","RBC","RSG","RWT","SAN","SEM","SOR","SPG","SRF","TBX","TCP","TNK","VCV","XLE","XME","ASR","CNA","CSU","CVA","DHF","DHS","DHX","DVYE","DZK","ECNS","EPHE","EPP","EWG","FCX","FE","FXN","GAL","GTY","GXF","HIW","HMN","HTA","IDT",
"INN","JLL","JMP","KSU","MAA","MGA","MMC","NYT","OXM","PAG","PHG","PIM","PKG","PPG","PPL","PST","RNP","SAP","SCHE","SJR","SPE","STON","SXT","TDS","TEI","TEX","TTT","UDR","VDC","WEC","WU","CNC","DIA","EGP","EPS","FBC","FCF","FDN","FFG","FIF","FLT","FXD","GDV",
"GGT","GIB","GPK","HEDJ","HT","IAI","IAT","IDE","IHD","IHE","IVW","IVZ","IWB","IWL","JDD","JKL","KFY","LM","LNN","LRN","MDYG","MET","MGU","MTOR","MTW","NBHC","NHF","NLS","NOA","NOC","NOV","NX","ORI","OSK","PBD")
dlist <- vector("list", length(unique(tickers)))
# Use quatmod api to retrieve stock data from yahoo finance, dlist => list of xts objects
dlist <- lapply(seq_along(unique(tickers)), function(i){
res <- NULL
try_var <- try(getSymbols(tickers[i], from = mdate, to = edate, auto.assign = FALSE))
if(inherits(try_var, "try-error")) {
i <- i + 1
} else{
res <- getSymbols(tickers[i], from = mdate, to = edate, auto.assign = FALSE)
}
return(res)
}
)
问题是有时我可以获取 500 个代码的数据,但有时可以获取 200 个。当我尝试导入少量代码时,导入数据没有问题。 我应该怎么做才能解决这个问题?
【问题讨论】:
-
也许写一个测试循环,如果它失败了,你进一步分割日期,直到你在任何单个请求上点击少于 500 个请求的 api,请记住,这会产生大量直到你到达一个出汗点,这可能会达到你对 api 的调用限制