Python量化分析——Tushare获取金融市场数据

632 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第9天,点击查看活动详情

在做金融市场分析的时候,我们最缺的其实就是完备的,准确的金融数据。这部分数据在很多平台都有分享,但是好像都不是很全,tushare虽然也不是完全免费,但是他免费的一部分对于初学者来说也足够用了。当然,虽说免费,但也需要注册。

1.Tushare简介

Tushare是国内免费库中最好的财经数据获取接口。数据包含股票、基金、期货、债券、外汇、行业大数据,同时包括了数字货币行情等区块链数据的全数据品类的金融大数据。 最重要的是,免费!免费!免费! 虽然初始注册账户的积分只有行情日线数据的权限,但是也足以胜任大部分的数据分析工作。 当然,如果你想要从事更加深入的数据分析,可以联系工作人员,高校学生会有1000积分的一季度免费使用权限。这个时候你的权限就可以做很多数据分析的工作了。 官网注册链接:tushare.pro/register?re…

2.Tushare注册获取token

在这里插入图片描述

进入官网,注册账户,然后进入个人页面,查看自己的token 在这里插入图片描述

3.Python中tushare库下载

Tushare提供便捷的数据获取方式,目前已经可以通过http、Python、Matlab、R语言方式来获取数据。 获取token之后,我们选择Python下载tushare库来获取数据。 即可通过在cmd中下载 tushare库进行数据调用

pip install tushare 

或者,可以通过在pycharm内自行下载tushare库:步骤如下: 打开setting 进入编译器 点击添加库 搜索tushare即可下载

4.正式获取数据 首先导入tushare库,然后将token输入pro_api方法获取数据接口。

import tushare as ts

token = 'your token'  # 这里输入tushare官网下用户接口token
pro = ts.pro_api(token)

下面即可通过阅读官方文档——数据接口,了解具体函数使用方法。 下面展示具体案例 例如我们在数据接口的基础数据中看到了股票列表这个数据,可以看到他的接口是stock_basic 即可通过pro实例访问接口。如图:

basic = pro.stock_basic()

在这里插入图片描述 接下来分析接口的输入函数:可以看到所有参数都是非必选的即为N。如果想要获取目标数据即可调整输入参数: 例如:获取所有上市公司的数据:(即list_status-‘L’)

basic = pro.stock_basic(list_status='L')

或者获取单一股票的数据:(ts_code='TS股票代码')

maotai = pro.stock_basic(ts_code='600519.SH')

注:TS股票代码为上市公司股票代码加上其所在交易简称 例如,平安银行股票代码为000001,他在深交所上市,所以他的TS股票代码为000001.SZ; 以此类推,茅台股票代码为600519,他在上交所上市,所以他的TS股票代码为600519.SH; 在这里插入图片描述 获取数据的保存数据,一般我们选用csv或者数据库的方式保存数据,但是从我个人习惯来讲,我一般采用csv格式存储数据。 在tushare库因为输出数据采用的是pandas的DataFrame格式,可以直接通过'data.to_csv'的方式存储在csv文件中。例:将上面获取到的上市公司信息存储到stock_basic.csv文件中。

basic.to_csv('Company.csv', header=True, index=False)
#后面两个参数是为了保证输出格式,有需要自行查询调整

5.实例代码(获取所有上市公司信息,并存储到表中):

import tushare as ts
import datetime

token = 'your token'  # 这里输入tushare官网下用户接口token
pro = ts.pro_api(token)
today=datetime.date.today()

today=today.strftime('20%y%m%d')
print(today)
yesterday=str(int(today)-1)
#获取上市公司信息:股票代码、简称、注册地、行业、上市时间等数据。
basic = pro.stock_basic(list_status='L')
basic.to_csv('Company.csv', header=True, index=False)