quantmod::getOptionChain无价格日期,如何从Yahoo获取交易日期?
获取SPY期权链对应的交易日期
目前quantmod::getOptionChain()并没有内置参数可以直接从Yahoo请求并返回期权价格对应的交易日期,但可以通过以下两种可靠方式直接获取该日期,无需手动推算或判断市场状态:
解析Yahoo期权页面的元数据
Yahoo金融的期权页面会明确标注数据的更新日期,你可以在获取期权链后,配合网页抓取工具提取该信息:library(quantmod) library(rvest) # 获取目标期权链 spy_chain <- getOptionChain("SPY", Exp = "2023-07-28") # 构造对应到期日的Yahoo期权页面链接 expiry_unix <- as.numeric(as.POSIXct("2023-07-28")) option_url <- paste0("https://finance.yahoo.com/quote/SPY/options?date=", expiry_unix) # 抓取并提取数据日期 option_page <- read_html(option_url) data_update_date <- option_page %>% html_element('div[data-testid="quote-sub-title"] span:last-child') %>% html_text() print(data_update_date)输出结果格式类似
As of July 27, 2023 4:00PM EDT,直接对应期权价格的基准日期。通过标的资产报价日期间接获取
Yahoo提供的期权价格通常与标的资产(SPY)的最新收盘报价日期一致,可通过getQuote()获取SPY的交易时间信息:library(quantmod) # 获取SPY的最新报价数据 spy_latest_quote <- getQuote("SPY") # 提取交易日期 quote_trade_date <- spy_latest_quote[, "Trade Time"] print(quote_trade_date)该日期即为期权价格对应的基准日期,无需额外判断市场是否开市。
内容的提问来源于stack exchange,提问作者Taylor
相关产品推荐
相关产品推荐

