【miniQMT实盘量化5】获取财务报表数据

前言

上面文章,我们介绍了如何获取实时数据,这篇文章,我们继续往下探讨,介绍关于财务报表数据的获取。

财务报表数据

财务报表数据,也就是常说的基本面数据,是除了行情数据之外,辅助我们投资的重要数据。稳定,高效,高质量的获取财务数据,也是量化分析中很重要的一个环节。

接口汇总

xtdata.download_financial_data()
xtdata.download_financial_data2()
xtdata.get_financial_data()

财务数据的接口比较简单,两个下载,一个获取。

download_financial_data

首先,是下载财务数据的接口,使用比较简单,这里新出现的参数就是table_list,下面根据例子详细解释。

from xtquant import xtdatatable_list = ['Balance','Income','CashFlow','Capital','Top10FlowHolder','Top10Holder','HolderNum','PershareIndex']xtdata.download_financial_data(stock_list=['600519.SH'], table_list=table_list)

还是依次介绍一下参数:

  • stock_list:代码列表,是个数组,这里可以传多个
  • table_list:这是一个可选表类型的数组,我例子中列出的,基本上是全部的表类型。首先,'Balance','Income','CashFlow'就是财务三大报表,还有可能常用的是PershareIndex,这是每股指标的报表。所有的类型,在迅投官方文档的链接中,都可以找到,需要哪个就下载哪个。
  • start_time和end_time: 虽然官方文档上目前没写,但这个接口也是支持开始结束时间的,传入起止时间之后,就是下载报告期在这个时间段内的数据,介于财务数据频率很低,一年才四次,所以一次性下载也消耗不了什么时间,无特殊需要,这两个参数大多时间可以省略。

download_financial_data2

这个接口,与download_financial_data的差别,只是多了一个callback参数,其他并无区别

from xtquant import xtdatatable_list = ['Balance','Income','CashFlow','Capital','Top10FlowHolder','Top10Holder','HolderNum','PershareIndex']def on_data(data):print(data)xtdata.download_financial_data2(stock_list=['600519.SH', '000001.SZ'], table_list=table_list, callback=on_data)

可以看到,on_data会被多次调用,当下载量比较大的时候,可以用来计算下载进度。
在这里插入图片描述

get_financial_data

下载数据时候,就可以进行数据的获取,这个接口就是用来做数据获取的。

from xtquant import xtdatatable_list = ['Balance','Income','CashFlow','Capital','Top10FlowHolder','Top10Holder','HolderNum','PershareIndex']xtdata.download_financial_data(stock_list=['600519.SH'], table_list=table_list)res = xtdata.get_financial_data(stock_list=['600519.SH'], table_list=table_list)res['600519.SH']['Balance']

在这里插入图片描述
该接口的参数,与下载接口也是基本一致,只是多了一个可选的report_type参数,它有两个取值,'report_time' #截止日期,'announce_time' #披露日期,默认是report_time,我们上例中没有传,但这个参数有时也会有用。我们可以选择根据那个日期进行数据过滤,比如,下例中,

财报日期 vs 披露日期

可以看到,我上图红框里的两列数据,一个是财报截止日期,它每年日期都是固定的,0331,0630,0930,1231,四个日期;另一个是实际披露日期,总所周知,财报的披露时间是有滞后的,尤其是年报,很有可能是第二年的四月份才发布。所以,了解一个财务数据的实际披露日期是挺重要的,比如你想用根据财务数据做一些策略,并进行回测,如果不知道财报实际披露日期,很可能会造成未来函数,导致结果失真。在使用QMT之前,财报的披露日期是比较难获取的。

但,我使用中也发现了一些问题,返回的财务数据存在重复,目前还在于联系迅投官方咨询解决。

总结

本篇介绍了如何获取财务基本面数据,很多时候,对财务数据的分析,似乎是一件很“有趣”的事,但也要提醒自己,不要陷入五彩斑斓的财务指标中迷失了目标,财务数据具有滞后性、低频性、上市公司倾向于对财务数据行进合法“美化”。所以,我认为,它并不能作为量化投资策略的直接或唯一依据。

虽然,刚才说了财务数据的很多缺点,但,这并不妨碍,它依旧是一种客观、严谨、具备逻辑性的数据资料。分析财务数据,也有助于我们了解市场,以便对真实的历史和当下,有一个更客观的了解。

miniQMT具体开通方法及要求,可以参看《QMT开通规则分享》

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

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

相关文章

WordPress站点屏蔽过滤垃圾评论教程(Akismet反垃圾评论插件)

前段时间我的WordPress站点经常收到垃圾评论的轰炸,严重时一天会收到几十条垃圾评论。我这个小破站一没啥流量,二又不盈利,实在是不太理解为啥有人要这么执着地浪费资源在上面。 Akismet反垃圾评论插件 其实用了 Akismet 反垃圾评论插件后&a…

Proteus下仿真AT89C51报“串行口通信失败,请检查电平适配是否正确。”解决办法

在Proteus下进行AT89C51串行口仿真时,如果遇到“串行口通信失败,请检查电平适配是否正确”的错误提示,以下是一些解决办法: 1. 了解AT89C51和外部设备的电平要求: 首先,了解AT89C51和外部设备之间的电平…

node版本管理工具-nvm

1、 下载地址 https://github.com/coreybutler/nvm-windows/releases/tag/1.1.11 2、 选择安装地址不能有空格,中文 3、 使用命令

视频网关简介

在数字化时代,视频通信已经成为了人们日常生活和工作中的重要部分。为了满足不同设备和平台之间的视频通信需求,各种视频协议应运而生。然而,这些协议之间的差异使得相互通信变得复杂。因此,视频网关作为一种重要的网络设备&#…

前端已死?看看我的秋招上岸历程

背景 求职方向:web前端 技术栈:vue2、springboot(学校开过课,简单的学习过) 实习经历:两段,但都是实训类的,说白了就是类似培训,每次面试官问起时我也会坦诚交代&…

实例讲解:在3dMax中如何使用python脚本?

如果你是Python或Maxscript的新手,你现在可以跟着这篇文章开始做一些代码了,本文将让我们从非常基本的东西开始学习。 如何在3dmax中获取选定的节点并打印出它们的名称?所有场景对象如何?我们直接看代码: import MaxP…

CentOS虚拟机重置账号密码

虚拟机忘记密码了 一般来说,虚拟机的账号密码,工作中都会有文档记录,如果忘记了可以查看文档。但是也有特例,虚拟机的密码没有记录到文档中,尝试了很多次依然登录失败,这时候就只能重置账号密码了。 1.重…

OpenCV快速入门:图像分析——傅里叶变换、积分图像

文章目录 前言一、傅里叶变换1.1 离散傅里叶变换1.1.1 离散傅里叶变换原理1.1.2 离散傅里叶变换公式1.1.3 代码实现1.1.4 cv2.dft 函数解析 1.2 傅里叶变换进行卷积1.2.1 傅里叶变换卷积原理1.2.2 傅里叶变换卷积公式1.2.3 代码实现1.2.4 cv2.mulSpectrums 函数解析 1.3 离散余…

【开源】基于Vue.js的天然气工程运维系统的设计和实现

项目编号: S 022 ,文末获取源码。 \color{red}{项目编号:S022,文末获取源码。} 项目编号:S022,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统角色分类2.2 核心功能2.2.1 流程…

多级缓存快速上手

哈喽~大家好,这篇来看看多级缓存。 🥇个人主页:个人主页​​​​​ 🥈 系列专栏:【微服务】 🥉与这篇相关的文章: JAVA进程和线程JAVA进程和线程-CSDN博客Http…

最小二乘线性回归

​ 线性回归(linear regression):试图学得一个线性模型以尽可能准确地预测实际值的输出。 以一个例子来说明线性回归,假设银行贷款会根据 年龄 和 工资 来评估可放款的额度。即: ​ 数据:工资和年龄&…

一、用户管理

一、后端数据库初始化 1.1 因为版本问题,始终报错,按照报错信息去查询解决方案,无法解决 灵机一动: 网址: Spring Boot 3.0 升级 实战踩坑记录 - 掘金 (juejin.cn) 1.2 个人配置【运行成功…