QMT中的基本面数据获取:接入财务因子进行价值选股
发布时间:7小时前阅读:5

纯技术指标的策略容易过拟合,加入基本面因子可以提高策略的稳健性。QMT本身不提供财务数据,但允许用户导入外部数据。本文介绍如何在QMT中接入财务因子,实现价值选股策略。
第一步,获取财务数据。可以使用免费源如Tushare Pro、AkShare,或者付费数据服务。以Tushare为例,注册后获取token,通过Python脚本下载季度财务数据,包括PE、PB、ROE、营收增长率等。将这些数据保存为CSV文件,按日期分文件或单文件追加。
第二步,数据预处理。财务数据有披露日期,并非报告期结束就可以使用。需维护“实际可用日期”表,确保策略不会用到未披露的数据。建议在每天盘后更新最新财报数据,生成当天的因子快照。
第三步,导入QMT策略。在QMT策略的init函数中,加载历史因子数据(如factor_df = pd.read_csv('factor.csv', index_col=0))。在handle_bar中,根据当前日期获取当天对应的因子值。例如:
`python
def init(context):
context.factor_data = pd.read_csv('factors.csv', parse_dates=['date'])
context.factor_data.set_index('date', inplace=True)
def handle_bar(context):
today = context.now.date()
if today in context.factor_data.index:
factors = context.factor_data.loc[today]
选择ROE>15%且PE<20的股票
selected = factors[(factors['ROE']>15) & (factors['PE']<20)]
买入选中的股票
for stock in selected.index:
order_target_percent(stock, 1/len(selected))
`
第四步,定期更新因子文件。写一个外部脚本,每天收盘后运行,获取最新财报数据并更新CSV文件。QMT策略在次日开盘时加载更新后的数据。
价值选股策略示例:每月调仓,选择ROE(净资产收益率)最高的前20%股票,等权买入。历史回测表明,高ROE组合长期跑赢大盘。还可以加入PE、股息率等过滤。
注意事项:财务数据可能存在延迟和错误,建议交叉验证。另外,因子回测要注意幸存者偏差,必须包含退市股票。
国金证券的QMT支持自定义数据接入,10万资金即可开通。量化社群中有现成的财务数据下载脚本和因子回测框架。同时,两融全线上办理,价值选股策略使用融资需谨慎,因为杠杆会放大基本面变差的风险。基本面量化是机构常用方法,个人投资者也可以尝试。
温馨提示:投资有风险,选择需谨慎。


问一问

+微信
分享该文章
