Python金融量化分析之获取交易数据
Tushare社区目前主要维护新版本:tushare pro,数据更稳定质量更高,可获取沪深股票行情、财务、市场参考等数据,以及指数(含国外股指)、基金、期货、期权、宏观经济、行业经济等财经数据,为金融量化爱好者节省了大量宝贵时间。此外,近期还增加了新闻联播的文本数据,为文本分析和数据挖掘提供了很好的素材。不过,新版本需要注册获取token才能免费使用,注册网址: https://tushare.pro/register?reg=455014 。安装(进入cmd模式):pip install tushare,或升级:pip install tushare --upgrade。下面以股票行情数据为例,展示下tushare如何获取数据。股票行情数据以股票行情数据为例,简要介绍如何获取数据。
#先引入后面分析、可视化等可能用到的库
import tushare as ts
import pandas as pd
import matplotlib.pyplot as plt
#正常显示画图时出现的中文和负号
from pylab import mpl
mpl.rcParams['font.sans-serif']=['SimHei']
mpl.rcParams['axes.unicode_minus']=False
#设置token
token='你的token'
#ts.set_token(token)
pro = ts.pro_api(token)
个股行情数据:
pro.stock_basic()
参数:is_hs:是否沪深港通标的,N否、H沪股通、S深股通;list_status:上市状态,L上市、D退市、P暂停上市;exchange:交易所 SSE上交所,SZSE深交所,HKEX港交所。
pro.daily(ts_code= 或 trade_date=)
日行情:daily;周行情:weekly;月行情:monthly
#获取当前上市的股票代码、简称、注册地、行业、上市时间等数据
basic=pro.stock_basic(list_status='L')
#查看前五行数据
#basic.head(5)
#获取平安银行日行情数据
pa=pro.daily(ts_code='000001.SZ', start_date='20180101',
end_date='20190106')
#pa.head()
#K线图可视化
from pyecharts import Kline
pa.index=pd.to_datetime(pa.trade_date)
pa=pa.sort_index()
v1=list(pa.loc[:,['open','close','low','high']].values)
t=pa.index
v0=list(t.strftime('%Y%m%d'))
kline = Kline("平安银行K线图",title_text_size=15)
kline.add("", v0, v1,is_datazoom_show=True,
mark_line=["average"],
mark_point=["max", "min"],
mark_point_symbolsize=60,
mark_line_valuedim=['highest', 'lowest'] )
#kline.render("上证指数图.html")
kline