python量化交易——金融数据管理最佳实践——使用qteasy管理本地数据源

文章目录

qteasy是一个功能全面且易用的量化交易策略框架, Github地址在这里。使用它,能轻松地获取历史数据,创建交易策略并完成回测和优化,还能实盘运行。 项目文档在这里。

我们在这里介绍如何使用qteasy管理您的金融数据。这是一篇系列文章,第一篇文章链接在这里

统一定义的金融历史数据表

DataTableqteasy内置统一定义的数据存储表。包括:

最重要的数据表

  • trade_calendar -- 交易日历表,包含了所有交易所的交易日历信息,包括交易日、交易所代码、交易所名称等信息。可以说这是qteasy运行的基础,如果缺了这张表,qteasy的很多功能都将无法运行或者将降低效率。 qteasy使用这张表中的数据来判断交易日,如果要下载其他的数据表,通常也必须通过交易日数据表来确定下载的起止日期,因此,这是您应该绝对优先填充的数据表。
  • stock_basic -- 股票基本信息表,包含了所有上市股票的基本信息,包括股票代码、股票名称、上市日期、退市日期、所属行业、地域等信息。这张表是很多其他数据表的基础,例如股票日K线数据表、股票财务数据表等,因此,这也是您应该优先填充的数据表。
  • index_basic -- 指数基本信息表,包含了所有指数的基本信息,包括指数代码、指数名称、发布日期、退市日期等信息。这张表是很多其他数据表的基础,例如指数日K线数据表、指数成分股表等,因此,这也是您应该优先填充的数据表。
  • fund_basic -- 基金基本信息表,包含了所有基金的基本信息,包括基金代码、基金名称、基金类型、基金规模等信息。这张表是很多其他数据表的基础,例如基金日K线数据表、基金净值数据表等,因此,这也是您应该优先填充的数据表。

除了上面提到的几张重要的数据表之外,数据源中还定义了大量的数据表,这些数据表包含了各种各样的金融数据,包括股票、指数、基金、期货、期权等各种金融产品的基本信息、日K线数据、财务数据、分红数据、业绩报表、宏观经济数据等等,主要分类如下:

  • 行情数据表 -- 这类数据表包含了股票、基金、指数各个不同频率的K线行情数据
  • 基本信息表 -- 这类数据表包含了股票、基金、指数、期货、期权等各种金融产品的基本信息
  • 指标信息表 -- 这类数据表包含了各种指标的信息,例如技术指标、基本面指标、宏观经济指标等
  • 财务数据表 -- 这类数据表包含了上市公司的财务报表数据,包括资产负债表、利润表、现金流量表等
  • 业绩报表表 -- 这类数据表包含了上市公司的业绩报表数据,包括业绩快报、业绩预告、业绩预测等
  • 分红交易数据表 -- 这类数据表包含了上市公司的分红数据,以及股票大宗交易、股东交易等信息表
  • 参考数据表 -- 这类数据表包含了各种参考数据,例如宏观经济数据、行业数据、交易所数据等

数据表的schema信息可以通过DataSource对象的get_table_info()方法获取:

python 复制代码
>>> from qteasy import DataSource
>>> ds = DataSource()
>>> ds.get_table_info('trade_calendar')

数据表的定义

qteasy中,每一张数据表都有以下几个基本属性:

  • 数据表用途 :表示该数据表的用途,不同用途的数据表可用的操作不同。不同的用途包括:basics表示基本信息表,finance表示财务数据表,report表示业绩报表表, reference表示参考数据表等
  • 资产类型 :表示该数据表包含的信息属于哪种资产类型。不同的资产类型包括:E表示股票,IDX表示指数,FD表示基金,FT表示期货,OPT表示期权等
  • 数据频率 :表示存储的数据的频率,不同的数据频率包括:mins表示分钟级别数据,d表示日频数据,w表示周频数据,m表示月频数据,q表示季频数据,y表示年频数据,none表示无频率数据
  • 分表信息:对于某些数据表,由于数据量极大,因此需要分表存储,与分表相关的属性包括分表数量以及分表字段等
  • 数据表的SCHEMA :数据表的SCHEMA定义了数据表的所有字段和数据类型

数据表的SCHEMA定义了数据表的所有字段和数据类型,SCHEMA各个字段的含义如下:

  • columns -- 字段名
  • dtypes -- 字段数据类型, varchar表示字符串类型,int表示整数类型,float表示浮点数类型,date表示日期类型,text表示文本类型
  • remarks -- 字段备注
  • is_prime_key -- 是否是主键,Y表示是主键,N表示不是主键

交易日历表的定义:

以最重要的交易日历表为例,它的属性及SCHEMA定义如下:

交易日历表: trade_calendar

数据表用途: basics, 资产类型: none, 数据频率: none

columns dtypes remarks is_prime_key
0 cal_date date 日期: 格式YYYYMMDD Y
1 exchange varchar(9) 交易所:SSE上交所,SZSE深交所,CFFEX 中金所,SHFE 上期所,CZCE 郑商所,DCE 大商所,INE 上能源 Y
2 is_open tinyint 是否交易:是:1,否:0 N
3 pretrade_date date 上一交易日 N

从下一篇文章开始,我们将详细介绍qteasy中定义的所有的数据表

相关推荐
诸神缄默不语12 分钟前
Python处理Word文档完全指南:从基础到进阶
python
海棠AI实验室39 分钟前
第四章 项目目录结构:src/、configs/、data/、tests/ 的黄金布局
python·项目目录结构
爱笑的眼睛112 小时前
超越可视化:降维算法组件的深度解析与工程实践
java·人工智能·python·ai
清铎2 小时前
leetcode_day12_滑动窗口_《绝境求生》
python·算法·leetcode·动态规划
ai_top_trends2 小时前
2026 年工作计划 PPT 横评:AI 自动生成的优劣分析
人工智能·python·powerpoint
TDengine (老段)2 小时前
TDengine Python 连接器进阶指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据
vyuvyucd3 小时前
深入解析Python asyncio:异步编程核心原理
开发语言·python
brent4233 小时前
DAY50复习日
开发语言·python
万行3 小时前
机器学习&第三章
人工智能·python·机器学习·数学建模·概率论
Data_agent3 小时前
Cocbuy 模式淘宝 / 1688 代购系统(欧美市场)搭建指南
开发语言·python