如何从yahoo finance获取基础货币的历史数据

How to get historical data from yahoo finance with base currency

我正在尝试从雅虎财经获取历史数据,但它只提供当前日期,我如何才能获取特定日期的基础货币数据。

http://query.yahooapis.com/v1/public/yql?q=select+*+from+yahoo.finance.xchange+where+pair+in%28%22PKRUSD%22%2C%22PKRGBP%22%2C%22PKRKWD%22%2C%22PKRSAR%22%29&format=json&env=store://datatables.org/alltableswithkeys

似乎无法获取您选择的两种货币的历史汇率,但是,您可以获取USD对世界上任何货币的历史汇率。以下是您的获取方式:

SELECT * FROM yahoo.finance.historicaldata WHERE symbol = "CCC=X" AND startDate = "YYYY-MM-DD" AND endDate = "YYY-MM-DD"

您可以选择货币 (CCC) 和 YYYY-MM-DD 格式的日期。例如,这将为您提供从 2014 年 10 月 1 日到 2014 年 10 月 3 日从美元到瑞典克朗的汇率:

SELECT * FROM yahoo.finance.historicaldata WHERE symbol = "SEK=X" AND startDate = "2014-10-02" AND endDate = "2014-10-03"

此查询将产生以下响应:

{
 query: {
 count: 3,
 created: "2016-09-10T12:53:42Z",
 lang: "sv-SE",
  results: {
   quote: [
    {
     Symbol: "SEK%3dX",
     Date: "2014-10-03",
     Open: "7.182",
     High: "7.29607",
     Low: "7.182",
     Close: "7.1817",
     Volume: "000",
     Adj_Close: "7.1817"
    },
    {
     Symbol: "SEK%3dX",
     Date: "2014-10-02",
     Open: "7.2151",
     High: "7.2174",
     Low: "7.1723",
     Close: "7.217",
     Volume: "000",
     Adj_Close: "7.217"
    }
   ]
  }
 }
}

你总是可以为两种货币做两次并将它们相除以获得两者之间的汇率。示例:

USD/SEK: 8.5
USD/EUR: 0.85
SEK/EUR = 8.5/0.85 = 10.

希望这个回答对您有所帮助。