第六期:《get_financial_data:基本面因子的挖掘与清洗全流程》

第六期专栏内容:《get_financial_data:基本面因子的挖掘与清洗全流程》
本期定位:财务数据是基本面量化的"第一性原理",但90%的人因"未来函数"和"字段混乱"导致策略失效。本期将手把手打通从原始财报到可用因子的全链路。
一、开篇:为什么90%的基本面策略回测是假的?
痛点引入:某用户使用"ROE>20%选股"策略,回测年化收益35%,实盘3个月亏损15%。问题出在——回测时用了2025年Q3的ROE数据在2025年Q1交易,这就是典型的未来函数。
核心认知:财务数据的价值不在于"数字",而在于 "时间点" 。知道茅台2025年净利润500亿没用,关键要在2025年4月年报披露那一刻才知道。
二、xtquant财务数据体系解剖
数据覆盖范围:
- 三大报表:资产负债表、利润表、现金流量表(2007年至今完整)
- 关键指标:2600+字段,涵盖工行、建行、招行、中石化等全市场
- 更新频率:财报披露日当晚22:00自动更新
数据结构:


三、核心函数:get_financial_data 5个黄金参数
函数原型:

参数含金量解析:
field_list:字段必须用表名.字段名格式,这是防错关键。常见映射:
- 总股本:
CAPITALSTRUCTURE.total_capital
- 净利润:
ASHAREINCOME.net_profit_incl_min_int_inc(归母净利润)
- 经营现金流:
ASHARECASHFLOW.net_cash_flows_oper_act
report_type='announce_time' :防未来函数的唯一手段
'announce_time':按公告日期取数,确保回测时不会用到未披露数据
'report_time':按报告期取数,回测时若用Q3数据在Q1交易,就是未来函数!
实战对比:

四、实战:PEG因子计算全流程(含数据清洗)
策略逻辑:PEG=PE/(盈利增速×100),PEG<1视为低估
步骤1:获取PE和净利润增速

步骤2:数据清洗——处理缺失值与异常值

步骤3:计算PEG因子

五、高级技巧:跨表查询与数据缓存
技巧1:跨表查询ROE ROE = 净利润 / 净资产,需跨利润表和资产负债表:

技巧2:数据缓存(提升回测速度100倍) 财务数据调用一次耗时2-3秒,频繁调用导致回测卡死。需缓存到本地:

六、四大陷阱与解决方案

七、下期预告
下期预告:第七期《策略编写语法与结构:5行代码看懂事件驱动核心框架》,将讲解 on_bar与 on_tick回调函数的生命周期,以及如何管理策略全局变量。
一句话总结:财务数据是价值投资者的"圣经",但在QMT中, "时间点"比"数值"更重要 。掌握 get_financial_data的 announce_time参数,等于掌握了避免未来函数的免死金牌。这是基本面量化与技术分析的分水岭,也是回测与实盘结果一致性的基石。
彩蛋及福利:
1.QMT开通流程
(1)开户➕入金10万以上
(2)提供测试账号、安装配置流程、量化会员资料。
2.VIP服务

3.VIP福利
惊喜佣金
添加量化讨论群
量化工具全套资料库
提供服务器托管模式:ptrade策略+ldp极速柜台+vip定向服务器(限50人)

|