看起来曾经有some useful YQL ways to get option data不再有效。至少我无法让他们工作。
是否有新的替代品?如果不是,任何人都可以替代YQL吗?
答案 0 :(得分:0)
到目前为止,我发现的唯一来源是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]
答案 1 :(得分:0)
如果您只是在寻找美国数据并且对Node.js感到满意,那么npm上有一些优秀的软件包:
https://github.com/pilwon/node-yahoo-finance
https://github.com/richardlevano/yahoo-nasdaq
这些基本上可以通过抓取雅虎网站,或使用请求Nodejs库下载CSV中的数据然后解析它来工作。如果查看代码,编写自己的scraper也很简单。
如果您正在使用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