[Tushare]使用分享

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

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

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

【总结一下Tushare的优点】

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

【安装使用经验分享】

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

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

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

【更】

因为使用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"]}下载失败')
引用:在使用tushare的to_csv函数时,可以通过指定路径和文件名来保存数据。例如,可以使用以下代码将数据保存为csv文件: import tushare as ts df = ts.get_hist_data('000875') df.to_csv('c:/day/000875.csv') 如果只想保存部分列,可以使用columns参数指定需要保存的列名。例如: df.to_csv('c:/day/000875.csv', columns=['open', 'high', 'low', 'close']) 如果需要将多个数据追加到同一个文件中,可以使用mode='a'参数。例如: import tushare as ts import os filename = 'c:/day/bigfile.csv' for code in ['000875', '600848', '000981']: df = ts.get_hist_data(code) if os.path.exists(filename): df.to_csv(filename, mode='a', header=None) else: df.to_csv(filename) 引用:在使用tushare的to_csv函数时,也可以通过pandas库进行操作。以下是一个示例代码: import pandas as pd import tushare as ts pro = ts.pro_api() df = pro.daily(ts_code='000001.SZ', start_date='20180701', end_date='20180718') df.to_csv('000001.SZ.csv') 还可以使用pandas的read_csv函数来读取csv文件,并进行一些操作。例如: df1 = pd.read_csv('000001.SZ.csv') df2 = pd.read_csv('000001.SZ.csv', index_col='trade_date', parse_dates=['trade_date']) df3 = pd.read_csv('000001.SZ.csv', index_col='trade_date', parse_dates=['trade_date'])[['open', 'close', 'high', 'low']] 可以根据需要选择读取的列或对数据进行其他处理。 引用:如果使用tushare获取沪深300指数数据,需要注意在新版接口中已经不支持获取该指数数据。可以改用上证综指来获取数据。以下是一个示例代码: df = ts.get_k_data(code='sh', ktype='D', start='2006-01-01', end='2021-01-01') df.to_csv('d:/biyesheji/szzz.csv') 这样就可以将上证综指的数据保存为csv文件。 总结起来,使用tushare的to_csv函数可以将数据保存为csv文件,可以指定保存路径、文件名和需要保存的列。同时,可以使用pandas库对csv文件进行读取和处理。当无法获取沪深300指数数据时,可以使用上证综指作为替代。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Tushare使用分享](https://blog.csdn.net/Retenue_/article/details/122627864)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [使用Tushare把股票数据存入csv文件](https://blog.csdn.net/liu_1314521/article/details/109011005)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值