在量化投资领域,寻找有效的选股因子(Alpha Factor)是获取超额收益的关键。传统上,因子挖掘依赖于研究员的经验、金融理论以及大量的试错。然而,随着人工智能技术的发展,尤其是大型语言模型(LLM)的崛起,为因子工程带来了新的可能性。 本文将介绍如何在 QuantML-Qlib 平台中, 利用DeepSeek自动化挖掘和改进因子。
本框架的核心思想是利用 DeepSeek 模型的自然语言理解和生成能力,结合 QuantML-Qlib 强大的数据处理和因子计算功能,实现以下目标:
- 因子优化 (Factor Optimization): 对已有的因子表达式进行改进,提升其预测能力(如 RankIC)。
- 因子生成 (Factor Generation): 基于现有因子或从零开始,创造全新的、具有潜力的高性能因子。
- 因子验证 (Factor Validation): 评估因子在不同市场环境或参数下的稳健性。
- 与 DeepSeek 模型集成:
- 通过
set_deepseek_api_key设置 API 密钥,连接到 DeepSeek 服务。 query_deepseek方法负责将构造好的指令(Prompt)发送给 DeepSeek 模型,并获取其返回的建议或新因子表达式。parse_deepseek_response用于解析模型返回的文本,智能地提取出核心的因子表达式字符串。- 基于 QuantML-Qlib 的因子计算与评估:
- 框架深度整合了 QuantML-Qlib。
load_qlib_operators加载 QuantML-Qlib 提供的常用因子计算算子(如Mean,Std,Ref,Corr等)以及 TALib上百个算子。 _get_factor_data和_get_label_data方法利用 Qlib 的D.features接口高效获取因子值和未来收益率(标签)数据。- 核心评估指标是 RankIC (秩相关系数) 和 ICIR (信息系数的信息比率)。这些指标用于衡量因子的选股能力和稳定性。
- 自动化因子优化流程 (
factor_optimization): - 输入一个原始因子表达式。
- 框架计算其初始性能 (RankIC)。
- 通过
build_optimization_prompt构建特定的指令,要求 DeepSeek 模型基于现有变量和算子,提出改进建议以提升 RankIC。 - 迭代地与 DeepSeek 交互,获取优化后的表达式,计算新性能。
- 如果新因子的 RankIC 显著提升(超过预设阈值)或达到最大迭代次数,则停止优化,并返回**因子。
- 自动化因子生成流程 (
factor_generation): - 可以提供一组参考因子及其性能。
- 通过
build_generation_prompt构建指令,要求 DeepSeek 生成新的因子表达式,目标是达到指定的 ICIR 阈值,并与现有因子保持较低的相关性。 check_low_correlation方法用于计算新因子与已有因子之间的相关性,确保新因子的独特性。- 迭代生成、评估、检查相关性,直到找到满足条件的因子或达到最大迭代次数。
- 因子稳健性验证 (
factor_validation): - 允许用户测试一个因子表达式在不同参数(特别是时间窗口
%d)下的表现。 - 框架会替换表达式中的窗口期参数,重新计算不同窗口下的 RankIC 和 ICIR。
- 最终提供因子在不同窗口下的性能统计,如 RankIC/ICIR 的均值、标准差、变异系数等,帮助判断因子的稳定性。
- 缓存机制:
- 为了提高效率,框架内置了缓存机制 (
_factor_data_cache,_label_data_cache)。对于相同的因子表达式、时间范围、股票池和频率组合,计算过的数据会被缓存,避免重复计算,尤其是在迭代优化或多次验证时能显著加速。clear_cache方法可以手动清除缓存。 - 灵活的配置:
- 可以设置默认的回测时间段、股票池(如 “csi300”)、数据频率(“day”)、默认计算窗口期、预测天数等。
- 初始化: 设置 QuantML-Qlib 数据路径,初始化 QuantML-Qlib 环境,创建
FactorEngineeringFramework实例,设置 DeepSeek API Key。 - 优化: 调用
factor_optimization,传入一个基础因子(如Std(\(close, %d)/\)close)。框架会自动与 DeepSeek 交互,尝试找到 RankIC 更高的改进版本。 - 生成: 调用
factor_generation,可以传入一些已知因子作为参考,设定目标 ICIR。框架会驱动 DeepSeek 创造新的因子表达式。 - 验证: 对原始因子、优化后的因子或新生成的因子,调用
factor_validation,传入不同的窗口期列表,检查其稳定性。
以优化因子为例,提供优化目标因子后,运行代码会自动计算目标因子的ICIR,调用V3或者R1模型对因子进行优化,每轮deepseek会提出五个方案,最终在五个方案中选取一个他认为效果最好的方案:
方案1:引入价格趋势方向 表达式: EMA(Std($close,20)/$close,20)*Slope($close,20) 优化逻辑: 将波动率标准化与价格趋势斜率结合,捕捉波动率在趋势中的不对称性。 潜力: -优点:可能提升对趋势延续或反转的预测能力。 -风险:若斜率噪声大,可能引入额外波动。 相关性:与原始因子相关性中等(因引入新变量)。
方案2:相对波动率标准化 表达式: EMA(Std($close,20)/Mean($close,20),20) 优化逻辑: 用窗口期均值代替当前价格$close,减少极端值对分母的影响。 潜力: -优点:更稳定的分母,降低异常值敏感性。 -风险:可能平滑过度,丢失短期信号。 相关性:与原始因子相关性较高(逻辑相似)。
方案3:波动率与成交量结合 表达式: EMA(Std($close,20)/$close*Sign($volume-Ref($volume,20)),20) 优化逻辑: 加入成交量变化方向符号,捕捉量价协同效应。 潜力: -优点:量价结合可能增强因子区分度。 -风险:成交量噪声可能干扰波动率信号。 相关性:与原始因子相关性低(引入新维度)。
方案4:价格高低波动不对称性 表达式: EMA(Std($high-$low,20)/$close,20) 优化逻辑: 改用日内波动(high-low)代替收盘价波动,捕捉日内波动特征。 潜力: -优点:日内波动可能包含更多信息。 -风险:与原始因子逻辑差异较大,需验证稳定性。 相关性:与原始因子相关性低(变量不同)。
方案5:波动率分位数标准化 表达式: EMA(Std($close,20)/Ref($close,20),20) 优化逻辑: 用滞后价格Ref($close,20)作为分母,避免当前价格瞬时影响。 潜力: -优点:减少分母的同步性偏差。 -风险:滞后可能降低因子时效性。 相关性:与原始因子相关性中等。
**方案选择 选择方案3(波动率与成交量结合),因其: 1.与原始因子相关性低(满足要求5)。 2.引入成交量信息,增强逻辑多样性。 3.保持无量纲特性(分母仍为$close)。
最终改进因子 改进后因子表达式: EMA(Std($close,20)/$close*Sign($volume-Ref($volume,20)),20)
因子优化逻辑: -保留原始波动率标准化核心,但叠加成交量变化方向(Sign函数)。 -当成交量上升时,波动率信号被增强;下降时被抑制,反映量价协同效应。
因子解释: -衡量标准化波动率与成交量变化的协同作用。 -正值表示波动率扩大伴随放量,负值表示缩量波动,可能预示不同市场状态。 -仍为无量纲因子(分子分母均为价格/成交量单位)。
提取目标因子后,对因子进行验证,如果不满足条件则进行下一轮改进,直至DeepSeek改进后的因子满足要求为止:
经过10轮之后,最终的因子IC是原始因子IC的1.8倍,效果有了明显的提升。
- 优化代码运行效率
- 校验大模型生成的因子结构
- 多智能体结构
代码见examples/alphazoo/alphagpt/alpha_deepseek.py,QuantML-Qlib已包含40+SOTA模型,各类因子挖掘方案(研报因子复现,GP,RL,LLM等),欢迎加入星球共同测试交流
加入QuantML星球,与800+专业人士一起交流学习:
往期回顾
QuantML-Qlib开发版:
- QuantML-Qlib重磅更新:DeepSeek核心模型结构用于选股
- QuantML-Qlib Factor | 融合TA-Lib100+技术指标,自定义构建AlphaZoo
- QuantML-Qlib Model | 还在使用MSE?试试这些更加适合金融预测的损失函数
- QuantML-Qlib Model | 如何运行日内中高频模型
- QuantML-Qlib Model | 超越GRU,液态神经网络LNN用于股票预测
- QuantML-Qlib Model | 华泰SAM:提升AI量化模型的泛化性能 研报复现
- QuantML-Qlib Model | 华泰AlphaNet模型复现
- QuantML-Qlib Model | 清华大学&华泰证券 在高胜率时交易
- QuantML-Qlib Factor | 高效优雅的因子构建方法:以开源金工切割动量因子为例
- QuantML-Qlib Model | 滚动模型训练
- QuantML-QlibModel | KAN + GRU 时序模型用于股票预测
- QuantML-Qlib开发版 | 蚂蚁&清华 TimeMixer:可分解多尺度融合的时间序列模型用于金融市场预测
- QuantML-Qlib Model | Kansformer:KAN+Transformer时序模型用于股票收益率预测
- QuantML-QlibModel | 使用OPTUNA优化模型超参
- QuantML-QlibDB | Clickhouse 行情存储与读取方案
- QuantML-Qlib LLM | GPT-4o复现因子计算代码
- QuantML-Qlib开发版 | 最新xLSTM用于股票市场预测
- QuantML-Qlib开发版 | 强化学习因子挖掘
- QuantML-Qlib开发版 | 清华大学时序SOTA模型iTransformer用于股票市场预测QuantML-Qlib开发版 | 最新神经网络结构KAN用于因子挖掘
- QuantML-Qlib开发版 | 直接读取pg/mysql/mongodb数据库
- QuantML-Qlib开发版 | MoE混合专家系统用于提升Transformer表现
- QuantML-Qlib开发版 | 一键数据更新
- QuantML-Qlib开发版 | AAAI**论文Informer用于金融市场预测
- QuantML-Qlib开发版 | 取代Transformer的下一代神经网络结构Mamba用于金融市场预测
- QuantML-Qlib开发版 | 时序SOTA模型PatchTST用于金融市场预测
- QuantML-Qlib开发版 | 一行代码运行DLinear模型用于股票预测
研报复现: - 重磅更新!80+量化策略复现(持续更新中)
- BARRA CNE6模型复现
- 研报复现 | QRS择时信号及改进
- 研报复现 | 跳跃因子系列-下
- 研报复现 | 跳跃因子系列-上
- 研报复现 | 锚定反转因子
- 研报复现 | 另类ETF交易策略:日内动量
- 研报复现 | 国盛金工:如何将隔夜涨跌变为有效的选股因子?——基于对知情交易者信息优势的刻画
- 研报复现 | 招商证券:基于鳄鱼线的指数择时及轮动策略
- 研报复现 | 华西金工-股票网络与网络中心度因子研究
- 研报复现 | 基于筹码分布的选股策略
- 研报复现 | 开源金工-高频追涨杀跌因子复现
- 研报复现 | 开源证券 :形态识别,均线的
- 券商研报因子复现及表现研究
前沿论文代码: - DeepSeek-TS+: MLA-Mamba及GRPO用于多序列预测统一框架
- Hummingbot:开源加密货币做市机器人框架
- FinRLlama:基于强化学习和市场反馈的金融情感分析LLM优化方案
- 端到端基于LLM的增强型交易系统
- 基于分层强化学习的日内风险因子挖掘
- DeepScalper:深度强化学习捕捉日内交易的短暂机会
- TradingAgents:基于多智能体LLM的金融交易框架
- Kaggle - Optiver trading at the close第一名解决方案及部分代码
- 量化交易全攻略:从入门到精通的终极指南
- 普林斯顿&牛津大学 | 大模型在金融领域的应用、前景和挑战
- Style Miner:基于强化学习算法的风格因子构造
- AQR创始人Cliff Asness:市场效率下降假说
- 增强动量策略:动量Transformer模型
- XGBoost 2.0 :提升时间序列预测能力
- NIPS 24 | FinCon: 基于LLM的多智能体交易及组合管理框架
- NIPS 24 | CausalStock : 基于端到端因果发现的新闻驱动股价预测模型
- JFE | 高效估计买卖价差的模型、实证与应用
- 超越传统网格交易:新型网格交易系统
- JFE | ETF日内套利研究
- NIPS 24 | 超越CVXPY,新型端到端优化器
- 揭秘Jane Street低延迟系统的优化技巧——减少系统抖动
- 南京大学LAMDA-强化学习DRL挖掘逻辑公式型Alpha因子
- 3万个因子,数据挖掘能超越同行审议的因子吗?
- KDD 24 | 基于增强记忆的上下文感知强化学习的高频交易框架
- FinRobot:用于金融领域的大模型AI平台
- KDD 23 | DoubleAdapt: 显著提升各类模型表现的元学习模型
- 市场微观结构教程:深度订单簿预测
- 基于高频和日频因子的端到端直接排序组合构建模型
- BOA 312页报告:Everything you wanted to know about quant
- 深度学习模型DeepLOB用于订单簿价格预测
- What KAN I say?KAN代码全解析
- 取代MLP?MIT全新神经网络结构KAN,3天1.4k star
- WWW‘24 | FinReport: 结合新闻语义信息的多因子模型显著提升预测准确性
- WWW’24 | UniTime: 融合文本信息的时间序列预测模型
- WWW‘24 | EarnMore: 如何利用强化学习来处理可定制股票池中的投资组合管理问题
- KDD’23 | AlphaMix: 高效专家混合框架(MoE)显著提高上证50选股表现
- IJCAI‘23 | StockFormer: RL+Self-Attention优化摆动交易提高股票预测精度
- AAAI-24 | EarnHFT:针对高频交易的分层强化学习(RL)框架
- AAAI-24 | MASTER 结合市场信息的自动特征选择的股票预测模型,25%年化收益
- COLING 2024 | AlphaFin: 结合深度学习及大模型用于股票预测和金融问答,击败现有预测模型
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/230363.html