量化交易入门(三十九)怎么获取A股历史数据

前面我们都是以美股的苹果股票为例进行策略和技术指标的回测,量化交易对中国A股是否适用呢?我们怎么样免费获取A股的股票数据呢?我给你们介绍三个免费的数据平台Tushare 、AkShare和Baostock。

1、Tushare 

Tushare是一个免费、开源的Python财经数据接口包。它主要用于提供股票、期货、基金、数字货币等金融数据的查询,是中国金融数据分析的常用工具之一。使用Tushare,用户可以非常方便地获取到从基本面数据到交易数据,再到金融衍生品数据等多方面的金融信息。它原来是免费的,后来做了升级,提供一部分免费的接口,更高级一点的数据要收费,不过对于我们目前学习的日线级别的数据来说是免费的。

主要特点

  • 丰富的数据类型:包括股票价格、交易数据、财务数据、行业数据、宏观经济数据等。
  • 高效的数据访问:大多数数据接口响应速度快,方便进行高频数据分析。
  • 易于使用:Python接口简单明了,容易上手,对于有Python基础的用户来说非常友好。
  • 社区支持:拥有活跃的社区,遇到问题时可以方便地寻求帮助。

使用前提

使用Tushare之前,需要在Tushare官网(http://tushare.pro)注册账号,并获取API Token。注册后,将Token设置到脚本中,即可开始数据查询。

数据使用例子

假设您已经注册了Tushare并获取了Token,下面是一个简单的使用例子:

import tushare as tsts.set_token('你的Token')
pro = ts.pro_api()# 获取茅台股票的日线数据
df = pro.daily(ts_code='600519.SH', start_date='20200101', end_date='20201231')
print(df.head())

这段代码将输出指定日期范围内的贵州茅台(股票代码:600519.SH)的日线数据。

2、AkShare

AkShare是一个开源的金融数据接口库,致力于提供财经数据的Python解决方案,支持股票、期货、外汇、基金、数字货币等多种金融数据的获取。

  • 安装AkShare:通过pip安装AkShare库(pip install akshare)。
  • 使用AkShare获取数据:直接调用AkShare提供的接口获取数据。
import akshare as ak# 获取上证指数的历史行情数据
stock_zh_index_daily_df = ak.stock_zh_index_daily(symbol="sh000001")
print(stock_zh_index_daily_df)

3 、Baostock

Baostock是一个免费的金融数据API,提供包括股票、基金、期货、指数等多种金融数据。

  • 安装Baostock:通过pip安装(pip install baostock)。
  • 使用Baostock获取数据:
import baostock as bs
import pandas as pd# 登录系统
lg = bs.login()# 获取沪深A股历史K线数据
fields = "date,code,open,high,low,close,preclose,volume,amount,adjustflag"
df = bs.query_history_k_data("sh.600519",fields,start_date='2020-01-01', end_date='2020-12-31',frequency="d", adjustflag="3")data_list = []
while (df.error_code == '0') & df.next():data_list.append(df.get_row_data())result = pd.DataFrame(data_list, columns=df.fields)
bs.logout()
print(result)

注意事项

  • 数据质量:虽然上述资源都能提供免费的数据,但数据质量、更新频率和历史数据的完整性可能有所不同,使用时需要注意核对。
  • 使用限制:免费资源可能有使用次数或频率的限制,适合个人投资者或研究者使用。对于更高频率或更专业的数据需求,可能需要考虑付费服务。

通过上述方法,可以方便地获取A股市场的数据,进行投资分析或研究工作。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/786708.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HashMap 和 Hashtable 有什么区别?

HashMap和Hashtable在Java中都是用于存储键值对的集合,但它们之间存在几个重要的区别。 线程安全性: Hashtable是线程安全的。这意味着多个线程可以同时操作Hashtable,而不会出现数据不一致的情况。但是,这种线程安全性的代价是降…

基于决策树算法的糖尿病遗传风险预测研究

基于决策树算法的糖尿病遗传风险预测研究 一、引言 糖尿病是一种常见的慢性疾病,全球范围内患病率持续上升。遗传因素在糖尿病的发病中起着重要作用,因此,预测糖尿病的遗传风险对于早期预防、诊断和治疗具有重要意义。本研究旨在利用决策树…

2023年第十四届蓝桥杯 - 省赛 - Python研究生组 - A.工作时长

题目 数据文件:https://labfile.oss.aliyuncs.com/courses/21074/records.txt Idea 直接通过 datetime 模块加载时间字符串进行格式化,然后对时间列表进行排序,最后两两计算时间差。 Code Python from datetime import datetimetime_lis…

深入浅出Prim算法和Kruskal算法求最小生成树算法

深入浅出Prim算法和Kruskal算法求最小生成树: Prim算法 ​ 首先初始化距离 正无穷。 ​ n 次迭代(因为要选中n个点),找到不在集合(当前生成树)中的且距离当前块最小的点(记作)m点,,用m点去更新其他掉到集合中的点的距离&#x…

目标检测——服饰属性标签识别数据集

一、重要性及意义 首先,随着电商、时尚推荐等业务的发展,服饰属性标签识别已经成为一项关键的计算机视觉任务。这些标签,如颜色、款式、材质等,对于实现图像搜索、时尚推荐等业务需求至关重要。服饰属性标签识别数据集为此类任务…

Excel 数据-分列的三个经常用法

Case 1 :有时候数据导出时如果没有电子表格的话,只能导出本地文件,如下图情况: 可以使用数据-分列处理数据: 原来是因为SAP导出数据没有完成的原因,或者关闭Excel重新打开试一下。 重新打开后可以输入了 C…

HarmonyOS Connect生态设备UX体验设计

HarmonyOS Connect生态设备UX体验设计 HarmonyOS Connect是华为推出的面向万物互联时代的设备连接与互操作解决方案,旨在打破设备之间的壁垒,提供无缝、便捷的用户体验。 HarmonyOS Connect生态设备UX体验设计的基本原则包括: 一致性&…

Kubernetes activemq artemis系列 | k8s部署artemis主从 v2.33.0

主从配置直通车 本文提供了yaml可直接使用(镜像是自己构建的) amqmaster.yaml apiVersion: apps/v1 kind: StatefulSet metadata:name: artemismasterlabels:app: artemisbroker: master spec:serviceName: artemismasterreplicas: 1selector:matchLa…

python3GUI--不同样式的登录注册界面By:PyQt5(附下载地址)

文章目录 一.前言二.介绍&效果展示界面一1.注册2.登录3.切换效果 界面二1.注册2.登录3.切换效果 界面三1.注册3.登录3.切换效果 界面四1.注册2.登录3.切换效果 界面五1.注册2.登录3.切换效果 界面六1.注册2.普通登录3.快捷登录4.切换效果 界面七1.登…

网络检测与监控

1.IP sla 服务等级质量检测,思科私有,提供商与用户之间的协议 可以对带宽、延迟、丢包率、网络抖动进行检测 (1)针对icmp进行检测: r1(config)#ip sla 1 r1(config-ip-sla)#icmp-echo 12.12.12.2 source-ip 12.12…

在决策上,我不随便给别人建议

在决策上,我不随便给别人建议 之前看过一个视频,视频中主人公说**「我不随便给别人决策上的建议,我何德何能,自己还没活明白呢,给别人建议干啥。」** 这句话我挺认同的。 如果我自己很成功,那一定是靠你自…

基于FPGA的HDMI方块移动程序设计

前面写了一篇关于HDMI视频接口的文章《基于FPGA的HDMI视频接口的设计》,该文章对HDMI的相关知识点做了讲解,这里不再重复,本篇文章直接实现一个简单功能-方块的移动。 该系统程序主要实现的功能就是通过串口下发指令控制方块的位置移动&…

Docker基础系列之TLS和CA认证

Docker基础系列之TLS和CA认证 文章目录 Docker基础系列之TLS和CA认证1. 引言2. 初识TLS和CA3. 开启TLS和CA认证3.1 生成证书3.2 配置TLS 4. 参考和感谢 1. 引言 我们日常工作当中会遇到这些需求: 监控Docker容器在idea开发工具中连接Docker,直接发布至…

手搓Docker-Image-Creator(DIC)工具(03):实现alpine+jre的镜像

此篇博客将介绍如何使用 Docker 创建一个alpine3.10-jre1.8.0_401 的 Docker 镜像,并使用 Docker 运行起来。将用到 Dockerfile 的 COPY 命令、RUN 命令、ENV 命令,最终实现基于单一应用的 Dockerfile 构建镜像和运行。 紧急修改:代码我是在m…

【机器学习300问】60、图像分类任务中,训练数据不足会带来什么问题?如何缓解图像数据不足带来的问题?

在机器学习中,绝大部分模型都需要大量的数据进行训练和学习(包括有监督学习和无监督学习),然而在实际应用中经常会遇到训练数据不足的问题。就比如图像分类这样的计算机视觉任务,确实依赖于大规模且多样化的训练数据以…

云数据中心传输的出路

研发端到端协议不是出路,研发更智能调度流量的交换机不是出路,将流量按长短突发模式分流到不同链路(逻辑的或物理的)才是出路。所有高速传输的前提是标准化,统一简单的操作。多么简单的领悟。 数据中心网络具有范围小,带宽大&…

FFmpeg 详解

FFmpeg 详解 FFmpeg 详解整体结构不同下载版本的区别常用库常用函数初始化封装格式解码器 版本对比组件注册方式对比FFmpeg 3.x 组件注册方式FFmpeg 4.x 组件注册方式 结构体比对函数对比avcodec_decode_video2()vcodec_encode_video2() 数据结构结构体分析AVFormatContextAVIn…

什么是原生IP?原生IP的作用是什么?

原生IP(Native IP)是指直接从互联网服务提供商(ISP)获得的IP地址,而非通过代理服务器、VPN或其他中间层方式获取。这种IP地址直接与用户的设备或网络关联,无需经过任何中间服务器或代理的转发或隐藏&#x…

[Java基础揉碎]枚举

目录 先看一个需求 枚举介绍: 枚举实现的方式: >自定义类实现枚举实例: >使用enum关键字实现枚举 ​编辑 enum关键字实现枚举注意事项 enum常用方法 enum细节 先看一个需求 要求创建季节(Season)对象,请设计并完成。 // 传统的方法建造一个类: clas…

5.vector容器的使用

文章目录 vector容器1.构造函数代码工程运行结果 2.赋值代码工程运行结果 3.容量和大小代码工程运行结果 4.插入和删除代码工程运行结果 5.数据存取工程代码运行结果 6.互换容器代码工程运行结果 7.预留空间代码工程运行结果 vector容器 1.构造函数 /*1.默认构造-无参构造*/ …