行情数据接口-美股版

一、美股历史数据API

1.数据列表

待完善补充

下载美股公司列表,分别是纳斯达克,纽交所,美国证券交易所,三个CSV文件

下载地址,纳斯达克官网:Company List: NASDAQ, NYSE, & AMEX Companies

http://www.nasdaq.com/screening/company-list.aspx

行情数据接口-美股版_第1张图片

site = "http://xueqiu.com/S/" + symbol + "/historical.csv"

2. 雅虎网
(1)官网:https://www.yahoo.com/

(2)安装 pandas-datareader

命令行窗口:pip install pandas-datareader(建议)
下载本地安装:https://pypi.org/project/pandas-datareader/
(3)读取数据

import pandas_datareader.data as pdr 

# 读取标普500
sp500 = pdr.DataReader(name='^GSPC',data_source='yahoo',start='1/1/2020',end='2/26/2020)   
# 查看数据前5行
sp500.head()
# 输出数据
sp500.to_csv('sp500.csv')

上证、深证标的

import pandas_datareader.data as pdr 

# 读取浦发银行:600000(上证)
stock_600000 = pdr.get_data_yahoo('600000.ss','1/1/2015','20/8/2015')   
stock_600000.head()

# 读取广发证券:000776(深证)
stock_000776 = pdr.get_data_yahoo('000776.sz','1/1/2015','20/8/2015')   
stock_000776.head()


3. TuShare
TuShare是一个免费、开源的python财经数据接口包。
主要实现对股票等金融数据从数据采集、清洗加工 到 数据存储的过程,能够为金融分析人员提供快速、整洁、和多样的便于分析的数据,为他们在数据获取方面极大地减轻工作量,使他们更加专注于策略和模型的研究与实现上。

考虑到Python pandas包在金融量化分析中体现出的优势,TuShare返回的绝大部分的数据格式都是pandas DataFrame类型。

(1)官网:http://tushare.org/

(2)安装 tushare

命令行窗口:pip install tushare
下载本地安装:https://pypi.python.org/pypi/tushare/
(3)读取数据

import tushare as ts 

# 读取中国平安(601318)数据
zgpa = ts.get_hist_data('601318', start='2019-01-01', end='2019-02-20')
# 查看数据前5行
zgpa.head()
# 输出数据
zgpa.to_csv('zgpa.csv')

注: "ts.get_hist_data"接口即将停止更新,请尽快使用Pro版接口:https://tushare.pro/document/2

import tushare as ts             # 事先安装:pip install tushare
pro = ts.pro_api()

df_000776 = pro.daily(ts_code='000776.SZ', start_date='20161017', end_date='20181117')       # 日线数据
df_000776 = pro.weekly(ts_code='000776.SZ', start_date='20161017', end_date='20181117')      # 周线数据
df_000776 = pro.monthly(ts_code='000776.SZ', start_date='20161017', end_date='20181117')     # 月线数据

df_000776.head()

二、美股实时数据API

参考知乎:暂时没有验证

个人印象中有以下这些:

API Solutions | Interactive Brokers

API Developer | TD Ameritrade

Developer Center - X_TRADER API®

Programmatic Trading Interfaces

CQG APIs | CQG, Inc.

Futures Broker | AMP Futures | AMP Clearing

以上是美国可以用的,提供“实时”数据接口的Broker。还有很多金融数据提供者都可以提供“实时”数据,但不具备下单的功能。

1.sina实时接口

本篇以BABA(阿里巴巴)为例,在浏览器地址栏输入以下url,即可获取个股数据:

http://hq.sinajs.cn/list=gb_baba (股票代码必须为小写字母,结果如下图所示)

import requests

url = 'http://hq.sinajs.cn/list=gb_baba'        # 股票代码必须为小写字母
res = requests.get(url).text
print(res)      # 此处输出与浏览器页面获取的数据一致

data = res[14:-3].replace('="',',').split(',')      # 删除、替换无关字符
print(data)
for datum in data:      # data数据类型为list,遍历可获得分项数据,详情见本篇截图
    print(datum)        # 注意:获取的datum数据类型为string

2.如果要一次获取大量股票,可在本地创建一个txt文件,存储股票列表,如下

import requests

f = open(r"C:\Python\StockTest\CNstock.txt")        # txt文件,存储股票代码,一行一个代码,小写字母
symbols = [line.strip() for line in f.readlines()]
f.close()

def getQuote(sym):
    url = 'http://hq.sinajs.cn/list=gb_'+sym
    res = requests.get(url).text
    # print(res)      # 此处输出与浏览器页面获取的数据一致
    quote = res[14:-3].replace('="',',').split(',')      # 删除、替换无关字符
    print(quote)
    
for symbol in symbols:      # 遍历股票列表,逐条输出股票数据
    getQuote(symbol)

3.新浪财经提供的行情数据都有哪些呢?请看截图:

对应的新浪财经个股页面如下:【注意:新浪财经页面,某些数据不显示,所以获取的数据也空缺】

行情数据接口-美股版_第2张图片

4.新浪数据说它是“实时”的,是相较于传统财经网站15分钟的数据延迟而言。实际上,经笔者亲自测试,a.新浪数据是非完整数据,数据源为Nasdaq交易所集团(Nasdaq、Nqbx、Nqpx三大交易所数据)以及FINRA/TRF(darkpool暗盘数据),因此其他交易所成交的数据,新浪页面是不会更新的,这是秒级乃至分钟级的数据缺失;b.新浪页面的数据刷新,大概有数秒的延迟。敬请留意!

2.yahoo

https://query1.finance.yahoo.com/v7/finance/quote?symbols=LVMUY

你可能感兴趣的:(爬虫,数据仓库)