最近有很多投资者在研究股票接口怎么解析股票历史数据,然后执行自动交易等方面对开发股票数据接口的深入思考。其实在小编看来,这就需要先获取股票的每日数据,那么就会使用Python来解析股票历史数据,下面小编就简要介绍使用Python语言来获取股票接口的十档行情。
我们可以从股票接口解析数据类型和消息类型层面来着手:
一、股票接口系统的数据类型
交易所 | 数据类型 |
上交所 | 十档行情快照(Level-2) |
委托队列(Level-2) | |
逐笔成交(Level-2) | |
深交所 | 十档行情快照(Level-2) |
逐笔委托(Level-2) | |
委托队列(Level-2) | |
逐笔成交(Level-2) | |
沪深交易所 | 期权、可转债 |
二、股票数据接口的消息类型:
消息 | 说明 |
TickRecord | 逐笔成交 |
OrderRecord | 逐笔委托 |
OrderQueueRecord | 委托队列 |
StockQuoteRecord | 股票十档行情 |
股票数据接口当然也离不开Python来爬取股票数据,举个例子:
# -*- coding:utf-8 -*-
import tushare as ts
import numpy as np
import matplotlib.pyplot as plt
e = ts.get_today_all()
size = 20 #把区间分成20份
array = []
ll = e[u'high'] # 最高价
hh = e[u'low'] # 最低价
cc = e[u'changepercent']# 涨跌幅
for i in range(0, len(e)):
ifll[i] != hh[i]: # 最高价与最低价相同说明停牌
ifcc[i] > 10: # 涨幅大于10%的股票归为10%
array.append(10)
elifcc[i] < -10: # 跌幅大于-10%的股票归为-10%
array.append(-10)
else:
array.append(cc[i])
print "Total:",len(array)
array=np.sort(array) # 排序
bin_arr = []
bin_arr.append(-10) # 加入区间的左侧值
count = 0 #区域计数
for i in range(0, len(array)):
count+=1
ifcount > len(array) / size:
printarray[i]
count= 0
bin_arr.append(array[i])
bin_arr.append(10) # 加入区间右侧值
hist, bins = np.histogram(array,bins=bin_arr) # 按bin_arr给定的区域计算直方图
width = np.diff(bins)
center = (bins[:-1] + bins[1:]) / 2
plt.bar(center, hist, align='center',width=width)
plt.show()
输出的结果即为查询的股票接口数据按照日期来进行分类: