我的工作室

量化投资03:使用python采集金融数据

2019-10-18  本文已影响0人  数据蝉

引言

欲先善其事,必先利其器,不管是做数据分析还是量化交易,首先要获得数据,否则,巧妇难为无米之炊嘛,今天就给大家分享两种使用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有了我们导的数据:


image.png
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有了我们导的数据:

image.png

以上两种方法,有没有很简单,我们就获取了股票数据,有了数据,我们可以做各种分析,利用各种可视化工具来玩转这些数据了。

上一篇下一篇

猜你喜欢

热点阅读