Tushare使用分享

今天分享下一个非常好用非常方便的数据平台tushare。Tushare大数据社区 id:466934

Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工到数据存储的过程,能够为金融分析人员(以及我们在校学生)提供快速、整洁和多样的便于分析的数据,在数据获取方面极大地减轻工作量,更加专注于策略和模型的研究与实现上。

本人在校计算机研究生,导师分配了pj,是关于期货回测和期货价格预测。需要用到期货和股票相关的历史数据,而获取这些数据最方便的方式,就是通过Tushare库。

【总结一下Tushare的优点】

  1. 接口简洁方便易调用。对于第三方提供的API接口,相信各位童鞋都希望简洁易懂,方便调用,tushare就是直接install,然后使用官网的api接口直接调用即可,可方便。
  2. 免费。对于学生党来说,这是最最最重要的一点,我当初就是抵抗不了这样的诱惑,才果断选择了tushare。事实证明,特别好用。Tushare采取积分制,但这个积分制对于学生党和高校一族来说基本等同免费,几乎所有的数据都可以免费调用获取。
  3. 数据格式统一。
  4. 叮叮叮,看下面,tushare的金融数据应有尽有(比如我用到的期货数据):

当然,为了方便管理python版本,推荐使用Acaconda,一次安装包括了Python环境和全部依赖包,减少问题出现的几率,再使用上述方式或conda安装tushare。

好了,今天的分享先到这里,后面继续分享tushare数据使用经验。

  1. 【安装使用经验分享】

    建议先安装python、pandas和lxml,接着使用下面的方式安装。

  2. 方式1:

  3. pip install tushare

  4. 如果安装网络超时可尝试国内pip源,如pip install tushare -i 

  5. 方式2:访问https://pypi.python.org/pypi/tushare/下载安装 ,执行 python setup.py install

  6. 方式3:访问https://github.com/waditu/tushare,将项目下载或者clone到本地,进入到项目的目录下

  7. 执行: python setup.py install

【更】

因为使用tushare接口获取到的数据都是DataFrame类型的,所以你首先要确保安装pandas库,上面提到的建议使用Acaconda,后续不会出现很多问题.

安装完tushare库之后,就可以愉快的使用tushare进行玩耍了。

当然还需要获取token认证,点开个人主页,然后点击接口令牌,如下图示:

点击小眼睛就可以看到自己的token,记住token要在代码里加上才可以拿到数据。

import tushare as ts

token='*** your token ***'
ts.set_token(token)
pro = ts.pro_api()   #接入api
data = pro.daily()
# 更多详细的使用接口登录tushare官网查看,都可以查到的

建议不要特别频繁的获取大量数据。Tushare官方免费提供数据,大量频繁下载容易造成别人的服务器GG。非常感谢tushare后面的团队,本着免费开源的思想促进整个互联网的进步。

【通过ts获取日线】简单分享 

def write_one_stock_day_info(stock_data):
    # 获取当天的日期
    now_time = datetime.now().strftime('%Y%m%d')
    data = ts.pro_bar(ts_code=f'{stock_data["ts_code"]}', adj='qfq', start_date=f'{stock_data["list_date"]}',
                      end_date=now_time)
    try:
        # 进行永久化存储,保存所有的数据到指定的文件夹中
        data.to_excel(f'./股票数据/股票日线数据/{stock_data["ts_code"]}.xlsx', index=False)
        print(f'股票:{stock_data["ts_code"]} 写入完成')
    except:
        # 连接数据库进行写入
        cnn = pymysql.connect(**LINK_MYSQL)
        cusur = cnn.cursor(pymysql.cursors.DictCursor)
        sql = 'insert into stock(my_stock) values (%s)'
        cusur.execute(sql, [stock_data["ts_code"]])
        cnn.commit()
        cnn.close()
        print(f'股票:{stock_data["ts_code"]}下载失败')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值