【发布时间】:2017-05-13 16:07:14
【问题描述】:
看起来曾经有 some useful YQL ways to get option data 不再起作用。至少我不能让他们工作。
有没有新的取代他们的位置?如果没有,任何人都可以替代 YQL?
【问题讨论】:
标签: finance yql yahoo-finance
看起来曾经有 some useful YQL ways to get option data 不再起作用。至少我不能让他们工作。
有没有新的取代他们的位置?如果没有,任何人都可以替代 YQL?
【问题讨论】:
标签: finance yql yahoo-finance
到目前为止,我发现的唯一来源是 Quandl。但是,他们的数据分布在多个数据集上,并且它是某些高级数据集的付费订阅。不过,免费服务会让您受益匪浅。
安装只需使用pip install quandl。他们的 python 用户指南位于https://github.com/quandl/quandl-python。
这是从 quandl 提取一段时间内股息数据的示例。
import quandl
import requests
import pandas as pd
import io
from datetime import datetime
ticker = 'MSFT'
start = '2010-05-01'
end = '2017-05-31'
url = 'https://www.quandl.com/api/v3/datasets/WIKI/{}.csv?trim_start={}&trim_end={}'\
.format(ticker, start, end)
urlData = requests.get(url).content
rawData = pd.read_csv(io.StringIO(urlData.decode('utf-8'))).sort_values(by='Date').set_index('Date')
df = pd.DataFrame(rawData[rawData['Ex-Dividend'] != 0]['Ex-Dividend'])
df.index = pd.to_datetime(df.index)
start = datetime(2015, 1, 20)
end = datetime(2017, 1, 20)
df[start:end]
【讨论】:
如果您只是在寻找美国数据并且对 Node.js 感到满意,那么 npm 上有一些出色的软件包:
https://github.com/pilwon/node-yahoo-finance
https://github.com/richardlevano/yahoo-nasdaq
这些基本上是通过抓取雅虎网站,或使用请求 Nodejs 库下载 CSV 中可用的数据然后解析它来工作的。如果您查看代码,编写自己的刮板来做同样的事情也很简单。
如果您使用的是 node-yahoo-finance,那么只需使用
yahooFinance.snapshot({
symbols: [SYMBOL1, SYMBOL2],
fields: FIELDS // ex: ['s', 'n', 'd1', 'l1', 'y', 'r']
}, function (err, snapshot) {
/*
{
AAPL: {
symbol: 'AAPL',
name: 'Apple Inc.',
lastTradeDate: '11/15/2013',
lastTradePriceOnly: '524.88',
dividendYield: '2.23',
peRatio: '13.29'
},
GOOGL: {
symbol: 'GOOGL',
name: 'Google Inc.',
lastTradeDate: '11/15/2013',
lastTradePriceOnly: '1034.23',
dividendYield: 'N/A',
peRatio: '28.17'
}
}
*/
});
对于期权数据(买卖价差)
a: Ask
b: Bid
b2: Ask (Realtime)
b3: Bid (Realtime)
p: Previous Close
o: Open
在此处查看更多 NPM 包:- https://www.npmjs.com/browse/keyword/finance
【讨论】: