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中定义的所有的数据表

相关推荐
无垠的广袤9 分钟前
【工业树莓派 CM0 NANO 单板计算机】本地部署 EMQX
linux·python·嵌入式硬件·物联网·树莓派·emqx·工业物联网
艾莉丝努力练剑1 小时前
【Python基础:语法第一课】Python 基础语法详解:变量、类型、动态特性与运算符实战,构建完整的编程基础认知体系
大数据·人工智能·爬虫·python·pycharm·编辑器
gCode Teacher 格码致知1 小时前
Python基础教学:如何拼接字符串?-由Deepseek产生
python
还债大湿兄1 小时前
阿里通义千问调用图像大模型生成轮动漫风格 python调用
开发语言·前端·python
blank@l1 小时前
python测开小工具--日志查询分析工具
python·python接口自动化测试基础·python测试开发·日志查询分析·日志分析统计查询·软件测试工具·argparse模块
hu_nil2 小时前
LLMOps-第十三周
python·vllm
空影星2 小时前
轻量日记神器RedNotebook,高效记录每一天
python·数据挖掘·数据分析·音视频
搬砖ing换来金砖2 小时前
Python入门-Task02
开发语言·python
databook2 小时前
告别盲人摸象,数据分析的抽样方法总结
后端·python·数据分析
Token_w2 小时前
openGauss:全密态数据库的金融级安全实践
数据库·安全·金融