YQL用于获取选项数据

时间:2017-05-13 16:07:15

标签: finance yql yahoo-finance

看起来曾经有some useful YQL ways to get option data不再有效。至少我无法让他们工作。

是否有新的替代品?如果不是,任何人都可以替代YQL吗?

2 个答案:

答案 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