1

如何使用 Alphavantage API查询特定日期和时间的价格。

例如:我试过这个:

https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol=^INFY&interval=1min&outputsize=compact&apikey=***********

但是,我想同时传递日期和时间,并且需要该符号的特定分钟的 HIGH。

我正在使用 Excel 365 附加组件,但我也可以使用 Google 表格。

可能的?

4

1 回答 1

1

该网址将为您提供一个json。然后您必须对其进行解析,然后应用一个公式来检索它发生的最大值和日期/小时/分钟。要解析 json,请尝试使用您自己的 api 密钥:

function getAllDataJSON(code) {
  var url = 'https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY&symbol='+code+'&interval=1min&apikey='+YOURAPIKEY
  var data = JSON.parse(UrlFetchApp.fetch(url).getContentText())['Time Series (1min)']
  var resultat = []
  for (var elem in eval(data)){
    resultat.push([elem,eval(data[elem]['1. open']),eval(data[elem]['2. high']),eval(data[elem]['3. low']),eval(data[elem]['4. close']),eval(data[elem]['5. volume'])])
  }
  return resultat
}

如果您想要延长期限,答案将是一个 csv 文件

function getAllDataCSV(code){
  // last month : slice=year1month1 (by default) ... until slice=year2month12 (farthest month from today)
  // interval : 1min
  var url = 'https://www.alphavantage.co/query?function=TIME_SERIES_INTRADAY_EXTENDED&slice=year1month1&symbol='+code+'&interval=1min&apikey='+apikey
  var csv = UrlFetchApp.fetch(url).getContentText();
  return Utilities.parseCsv(csv)
}
于 2021-08-04T04:51:11.430 回答