Tushare学习与使用(三)

这篇具有很好参考价值的文章主要介绍了Tushare学习与使用(三)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

上一篇简单介绍了如何获取一个股票的历史行情数据,因为Tushare对于接口调用次数是有限制的,所以接下来介绍如何高效获取多个股票的历史行情数据以及获取股票分钟级数据。主要参考了Tushare的官网用户手册:https://tushare.pro/document/1?doc_id=230

高效获取行情数据

Tushare的行情等时间序列数据,一般都有两个常用参数:trade_date和ts_code,分别是交易日期和证券代码。如果你是想提取部分个股的历史数据,用ts_code参数,加上开始和结束日期可以方便提取数据。
但是如果是要获取所有历史数据,官方不建议通过ts_code来循环,而是用trade_date来提取,道理很简单,股票有3800多个,需要循环3800多次,每年的交易日也就才220左右,所以效率更高。总的来说,积分越高可以调取的频次会越高。
首先,在循环提取数据时,首先我们可以通过交易日历拿到一段历史的交易日。

#获取20200101~20200401之间所有有交易的日期
df = pro.trade_cal(exchange='SSE', is_open='1', 
                            start_date='20200101', 
                            end_date='20200401', 
                            fields='cal_date')

 print(df.head())

然后会得到所有的交易日。

   cal_date
0  20200102
1  20200103
2  20200106
3  20200107
4  20200108

循环过程中,为了保持数据提取的稳定性,可以先建立一个专门的函数,实现一个重试机制:

def get_daily(self, ts_code='', trade_date='', start_date='', end_date=''):
    for _ in range(3):
      try:
            if trade_date:
                df = self.pro.daily(ts_code=ts_code, trade_date=trade_date)
            else:
                df = self.pro.daily(ts_code=ts_code, start_date=start_date, end_date=end_date)
         except:
                time.sleep(1)
        else:
                return df

然后通过在循环中调取数据:

for date in df['cal_date'].values:
     df = get_daily(date)

获取分钟级行情数据

可能有的小伙伴会需要获取更细致的股票、指数、基金、期货、数字货币在内的各类资产交易行情的分钟数据,Tushare也是支持的。
目前分钟频度包括1分、5、15、30、60分数据。如是end_date输入的是不带时分秒的日期,返回的数据不包括end_date当日,即数据返回的是 < end_date的数据。分钟数据时间参数请使用带时分秒的格式,比如:2019-06-04 19:00:00。数据每天收盘后处理更新,时间在17~21点之间完成。
下面以获取股票分钟级数据为例:文章来源地址https://www.toymoban.com/news/detail-419764.html

import tushare as ts

#获取股票1分钟数据
df = ts.pro_bar(ts_code='600000.SH',
                    freq='1min', 
                    start_date='2020-01-07 09:00:00', 
                    end_date='2020-01-08 17:00:00')

print(df)

       ts_code           trade_time   open  close   high    low     vol  \
0    600000.SH  2020-01-08 09:31:00  12.41  12.44  12.45  12.41  880140   
1    600000.SH  2020-01-08 10:14:00  12.37  12.37  12.38  12.37   61300   
2    600000.SH  2020-01-08 10:19:00  12.36  12.36  12.37  12.36  288400   
3    600000.SH  2020-01-08 10:29:00  12.34  12.33  12.35  12.33  119100   
4    600000.SH  2020-01-08 10:33:00  12.33  12.33  12.34  12.33  218700   
5    600000.SH  2020-01-08 10:59:00  12.38  12.37  12.38  12.36   76600   
6    600000.SH  2020-01-08 11:09:00  12.37  12.36  12.37  12.36   44777   
7    600000.SH  2020-01-08 11:15:00  12.37  12.37  12.38  12.37   67500   
8    600000.SH  2020-01-08 13:08:00  12.36  12.37  12.37  12.36   72300   
9    600000.SH  2020-01-08 13:10:00  12.36  12.37  12.37  12.36   43300   
10   600000.SH  2020-01-08 13:15:00  12.35  12.36  12.36  12.35   46900   
11   600000.SH  2020-01-08 13:27:00  12.33  12.34  12.34  12.33   29300   
12   600000.SH  2020-01-08 13:31:00  12.33  12.35  12.35  12.33  102301   
13   600000.SH  2020-01-08 14:05:00  12.30  12.29  12.30  12.29   88000   
14   600000.SH  2020-01-08 14:09:00  12.30  12.30  12.30  12.29   26400   
15   600000.SH  2020-01-08 14:15:00  12.28  12.28  12.29  12.28   80926   
16   600000.SH  2020-01-08 14:45:00  12.30  12.31  12.32  12.29  226800 

到了这里,关于Tushare学习与使用(三)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Java面向对象】多态的详细介绍,简单易懂,看这一篇就够了

    A: 方法或对象具有多种形态,是面向对象的第三大特征,多态是建立在封装和继承的基础之上的。简单来说,多态是具有表现多种形态的能力的特征。 消除类型之间的耦合关系 可替代性 可扩充性 接口性 灵活性 简化性 重载式多态在编译时已经确定好了。方法名相同而参数

    2024年01月20日
    浏览(70)
  • (第一篇,踩坑无数得来的,对Ai自动化测试框架很有帮助)appium自动化测试时遇到不能使用element定位的在用坐标点击之后获取焦点如何输入文本

      现在开发的前端界面使用vue或者更牛逼技术,导致使用appium或者uiautomator2做自动化测试时不能识别到元素,无法使用传统的id,name或者xpath,这时我们需要使用坐标点击文本框。有获取坐标方法,下期写一篇文章,可以在评论区提醒瑞克。  

    2024年02月03日
    浏览(45)
  • 如何快速获取zlibrary地址-使用zlib.pro 网站介绍,最新zlirbrary登录方式

    zlib.pro 是一个提供 zlibrary 共享账号的网站,用户可以使用共享账号直接登录 zlibrary 网站,无需担心每日10次的限制。这个网站为用户提供了一个更方便的方式来获取图书资源。 使用 zlib.pro 很简单,只需要前往该网站,选择一个共享账号,点击该账号的链接,在浏览器中打开

    2024年02月16日
    浏览(47)
  • 【从零开始学习CSS | 第一篇】选择器介绍

    目录 前言: 选择器介绍: 各类选择器:  总结:         本文以及后续几篇文章我们将会集中介绍CSS中的常见选择器,选择器的出现可以让我们实现对具体的元素标签进行定制,因此我们要掌握好各类选择器的使用。         在CSS(层叠样式表)中, 选择器 是一

    2024年02月15日
    浏览(62)
  • Tushare 使用期权数据

    在金融市场中,期权是一种重要的金融衍生品,它为投资者提供了多样化的投资和对冲工具,同时也为市场参与者提供了更丰富的风险管理和投资策略。Tushare作为一款领先的金融数据接口工具,近年来开始支持期权数据的获取和分析,为用户提供了更广阔的视角和更丰富的数

    2024年04月17日
    浏览(34)
  • 【从零开始学习JAVA | 第三十一篇】异常体系介绍

            本文我们将为大家介绍一下异常的整个体系,而我们学习异常,不是为了敲代码的时候不出异常,而是为了能够熟练的处理异常,如何解决代码中的异常。  我们就以这张图作为线索来详细介绍一下Java中的异常: 在Java中, Exception(异常)是一种表示非致命错误或异

    2024年02月15日
    浏览(91)
  • 人工智能学习07--pytorch20--目标检测:COCO数据集介绍+pycocotools简单使用

    如:天空 coco包含pascal voc 的所有类别,并且对每个类别的标注目标个数也比pascal voc的多。 一般使用coco数据集预训练好的权重来迁移学习。 如果仅仅针对目标检测object80类而言,有些图片并没有标注信息,或者有错误标注信息。所以在实际的训练过程中,需要对这些数据进行

    2024年02月12日
    浏览(66)
  • 【从零开始学习JAVA | 第二十一篇】常见API介绍 System

    目录 前言: System: System类中静态方法: 总结:                 system 是一个很底层的 API,是一个工具类, 提供了一些与系统相关的方法 。他在我们写项目的时候提供了一些非常实用的方法,本篇将会介绍一些实用的system API 的方法调用。 System类是Java语言提供的一个

    2024年02月15日
    浏览(64)
  • C++ 学习 ::【基础篇:05】:C++ 函数重载认识及使用、简单介绍:C++ 支持函数重载的原因

    本系列 C++ 相关文章 仅为笔者学习笔记记录,用自己的理解记录学习!C++ 学习系列将分为三个阶段: 基础篇、STL 篇、高阶数据结构与算法篇 ,相关重点内容如下: 基础篇 : 类与对象 (涉及C++的三大特性等); STL 篇 : 学习使用 C++ 提供的 STL 相关库 ; 高阶数据结构与算

    2024年02月06日
    浏览(54)
  • SOAP学习之一:Visual C++创建简单的客户端--使用soap toolkit 3.0获取UTC服务器时间

    初始接触 XML及SOAP第一天,摸不着头绪,看了很多文章,总结一下几点心得,附一个小例子使用VC++控制台程序获取UTC服务器时间。 看到的资料VC++都是使用soap toolkit来使用SOAP,soap toolkit目前看最高版本应该是3.0,但是微软已经不再对soap toolkit提供技术支持及更新,在微软官网

    2024年02月09日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包