引言
欲先善其事,必先利其器,不管是做数据分析还是量化交易,首先要获得数据,否则,巧妇难为无米之炊嘛,今天就给大家分享两种使用python库采集金融数据的方法。
1. pandas库中的datareader
datareader是pandas内置的数据采集模块。pandas-datatreader的网址是 https://github.com/pydata/pandas-datareader。
其文档网址是
https://pandas-datareader.readthedocs.io/en/latest/readers/index.html
采集数据代码样例:
from pandas_datareader.data import DataReader
import datetime
from sqlalchemy import create_engine
datas=DataReader("000858.SZ","yahoo",datetime.datetime(2012,1,1),datetime.date.today()).reset_index()
#导入mysql
engine = create_engine("mysql+pymysql://{}:{}@{}/{}?charset={}".format('root', 'root',
'localhost', 'feng','utf8'))
con = engine.connect()#创建连接
datas.to_sql("000858_sz_stock_data",con=engine,index=False,if_exists="replace",chunksize=100000)
con.close()
#导出csv文件
datas.to_csv('C:/Users/17788/Desktop/000858.csv',index=False)
可以看到,mysql有了我们导的数据:
2. 财经数据源模块库TuShare
针对我国财经数据的采集目前主要使用TuShare模块库。TuShare项目网址是http://tushre.org/,这是一个纯中文的TuShare文档说明网址;TuShare项目本身放在Github开源项目网站,网址是https://github.com/waditu/tushre.
采集数据代码样例
import tushare as ts
from sqlalchemy import create_engine
stock_data = ts.get_hist_data('603993',start='2012-06-23',end='2019-10-18').reset_index()
#导入mysql
engine = create_engine("mysql+pymysql://{}:{}@{}/{}?charset={}".format('root', 'root',
'localhost', 'feng','utf8'))
con = engine.connect()#创建连接
stock_data.to_sql("stock_data_603993",con=engine,index=False,if_exists="append",chunksize=100000)
con.close()
#导出csv文件
stock_data.to_csv('C:/Users/17788/Desktop/603993.csv',index=False)
也可以看到,mysql有了我们导的数据:
以上两种方法,有没有很简单,我们就获取了股票数据,有了数据,我们可以做各种分析,利用各种可视化工具来玩转这些数据了。