如何通过Yahoo Finance API获取股票前一日最高、最低价数据
解决方案
方案1:仅调整现有接口参数(无需改动调用格式、无需新增依赖)
你当前使用的quoteSummary接口本身支持通过追加模块参数获取前一日完整交易数据,只需要在现有modules参数的取值列表中追加previousDay即可,无需修改其他调用逻辑。
修改后的请求代码示例:
axios.get('https://rest.yahoofinanceapi.com/v11/finance/quoteSummary/'+this.stockName+'?modules=assetProfile%2CsummaryProfile%2CsummaryDetail%2CpreviousDay', { headers: { 'x-api-key': MyKey }})
接口返回的quoteSummary.result[0].previousDay节点下,可直接获取你需要的前一日最高价(dayHigh字段)、前一日最低价(dayLow字段),原有返回的其他字段不受影响,无需额外适配。
方案2:支持指定任意历史日期查询
如果后续你需要查询更早的任意历史交易日数据,可使用同服务下的历史数据端点,传入目标日期的起止时间戳参数即可,仍使用现有axios调用无需新增依赖,请求示例:
// 计算前一日的起止时间戳(可根据自身所在交易时区调整) const getPrevDayTimestamps = () => { const today = new Date() const prevDay = new Date(today.setDate(today.getDate() - 1)) const period1 = Math.floor(new Date(prevDay.toLocaleDateString()).getTime() / 1000) const period2 = period1 + 86399 return { period1, period2 } } const { period1, period2 } = getPrevDayTimestamps() axios.get(`https://rest.yahoofinanceapi.com/v11/finance/historical-data/${this.stockName}?period1=${period1}&period2=${period2}&interval=1d`, { headers: { 'x-api-key': MyKey } })
返回结果的historicalData.result[0].indicators.quote[0]节点下可获取对应交易日的最高、最低、开盘、收盘、成交量等全量交易数据。
内容的提问来源于stack exchange,提问作者Anthony Doban
相关产品推荐
相关产品推荐

