
FinceptTerminal AI Quant Lab 实战指南基于 Qlib 与 RDAgent 的自动化量化研究体系【免费下载链接】FinceptTerminalFinceptTerminal is a modern finance application offering advanced market analytics, investment research, and economic data tools, designed for interactive exploration and>项目地址: https://gitcode.com/GitHub_Trending/fi/FinceptTerminalAI Quant Lab 是 FinceptTerminal 内置的量化研究实验室它以微软开源量化平台 Qlib 为底层引擎、以 RDAgent 研发智能体为自动化大脑覆盖数据加工、因子挖掘、模型训练、回测、组合优化与知识沉淀的完整闭环。读完本文你将掌握 AI Quant Lab 的 15 模块划分与核心 API、Qlib 全套工作流的配置方法以及如何通过 CLI 与 Qt/C 界面驱动这条假设生成→验证→沉淀的自动化策略生产线。系统总览两大支柱组成的量化研究流水线AI Quant Lab 由两条技术线协同组成详见 fincept-qt/scripts/ai_quant_lab/README.md组件模块规模职责Qlib Integration15 个 Python 模块完整的 Qlib 覆盖——回测、机器学习、强化学习、高频交易、在线学习RDAgent System4 个核心模块假设生成、知识库、提案系统与研发自动化其核心价值在于把研究员提出假设→手动写因子→训练模型→回测验证的传统流程改造为LLM 生成策略假设→自动化因子构造→自动调参与回测→结果回写知识库的迭代闭环。仓库内实际文件均位于 fincept-qt/scripts/ai_quant_lab/ 目录RDAgent 侧的实现则落在 fincept-qt/scripts/agents/rdagents/ 目录下loops、config、cli、mcp_server 等供上层应用调用。Qlib 模块全景从基础回测到 100% 覆盖核心模块模块文件用途Advanced Backtestqlib_advanced_backtest.py多因子回测引擎Data Processorsqlib_data_processors.py数据清洗、标准化、特征提取Evaluationqlib_evaluation.py策略绩效评估与指标计算Feature Engineeringqlib_feature_engineering.pyAlpha 因子构造与特征选择Portfolio Optimizationqlib_portfolio_opt.py组合构建与风险管理Reportingqlib_reporting.py绩效报告与可视化另有 qlib_reporting_legacy.py 兼容旧版Strategyqlib_strategy.py交易策略实现Serviceqlib_service.py面向 C 集成的主服务接口进阶模块面向策略全生命周期模块文件用途Reinforcement Learningqlib_rl.pyRL 交易智能体PPO、DQN、A2C、SAC、TD3Online Learningqlib_online_learning.py实时模型更新、增量学习、概念漂移检测High Frequency Tradingqlib_high_frequency.py高频交易、订单簿动态、做市策略Meta Learningqlib_meta_learning.py模型选择、集成方法、AutoMLRolling Retrainingqlib_rolling_retraining.py自动化模型重训调度Advanced Modelsqlib_advanced_models.py时序模型LSTM_TS、Transformer_TS、Localformer 等主服务接口qlib_service.py 源码级剖析qlib_service.py 是整个 AI Quant Lab 的中枢它把 Qlib 的数据、模型、回测能力封装为统一的QlibService类并暴露一套 JSON 化的 CLI 命令供 Qt/C 界面PythonRunner调用。环境初始化与数据前提QlibService.__init__接受两个关键参数def __init__(self, provider_uri: str ~/.qlib/qlib_data/us_data, region: str us):provider_uriQlib 数据目录默认指向~/.qlib/qlib_data/us_data美国市场数据regionus或cn分别对应REG_US与REG_CN决定交易日历、价格字段等市场约定。值得注意的是模块对 Qlib 采用可选依赖设计try/except包裹全部导入若环境未安装 Qlib 或未下载数据QLIB_AVAILABLE置为False其余接口仍能返回状态信息而非崩溃。数据未下载时接口会提示执行官方下载命令python -m qlib.run.get_data qlib_data --target_dir ~/.qlib/qlib_data/us_data --region us模型注册表16 种开箱即用的算法list_models()返回 16 个预置模型按类型可分为四族树模型LightGBMnum_leaves210, max_depth8, learning_rate0.05、XGBoostmax_depth6, lr0.1、CatBoostdepth6, lr0.03, iterations1000线性基准Linearalpha0.001神经网络LSTM、GRU、ALSTM注意力 LSTM、Transformerd_model64, nhead4、TCN、AdaRNN、HIST、TabNet、SFM、GATs、ADD集成Double Ensemble默认组合 lightgbm lstm。每个模型都带有中文场景化的元信息适用场景、可用性标记、推荐超参可直接渲染成量化面板的模型选择列表。list_models()返回结构包含success、models、count、available_count与model_types分组便于前端按类型过滤。数据处理器与因子库get_data_handlers()暴露四套因子处理器处理器因子数说明Alpha158158动量、波动率、成交量等技术因子窗口 [5, 10, 20, 30, 60]Alpha360360扩展时间窗 截面特征窗口 [5, 10, 20, 30, 60, 120, 240]Alpha158vwap158Alpha158 VWAP 偏离/动量特征Alpha360vwap360Alpha360 VWAP 扩展特征get_factor_library()则优先从 Qlib 的Alpha158DL/Alpha360DL实时拉取真实的因子表达式失败时回退到内置的规范表达式库例如KMID ($close-$open)/$open RSV5 ($close-Min($low,5))/(Max($high,5)-Min($low,5)1e-12) CORR5 Corr($close,Log($volume1),5) CNTP5 Mean($closeRef($close,1),5)这套先读真实配置、失败再回退的策略保证了界面永不空窗。训练管线中的关键细节train_model()是整个管线的核心源码中有几个重要设计股票池归一化内置pool_names {sp500, nasdaq100, all, csi300, csi500, csi100}股票池名与小写 ticker 统一转小写处理处理器自动切换ALPHA360_MODELS {adarnn, gats, add, sfm}这四类模型会把特征重塑为d_feat6, len_seq60的时序格式因此自动改用 Alpha360 处理器且必须额外传入fit_start_time/fit_end_timeHIST 特例HIST 模型需要 CSI300 的stock2concept.npy与stock_index.npy映射文件源码中显式探测~/.qlib/qlib_data/下这两份数据自动 80/20 切分CLI 层在未显式给出验证集时会按日期区间自动计算 80% 训练 / 20% 验证切分点模型持久化save_model/load_model借助 Qlib 的to_pickle/load序列化能力保存后可脱离训练会话复用。回测引擎的撮合配置run_backtest()内置了贴近真实交易的默认交易所配置default_exchange { limit_threshold: 0.095, # 涨跌停阈值 9.5% deal_price: close, # 以收盘价成交 open_cost: 0.0005, # 开仓成本 5bp close_cost: 0.0015, # 平仓成本 15bp min_cost: 5.0, # 单笔最低手续费 trade_unit: 100, # 一手 100 股 cash_limit: None # 不设现金上限 }支持topk_dropout按信号持有 Top-K 并定期淘汰与enhanced_indexing跟踪基准的同时争取超额收益两类策略topk默认 50、n_drop默认topk // 5。此外还提供calculate_ic()直接基于 SciPy 计算 Pearson IC 与 Spearman Rank IC用于因子有效性检验。完整的 CLI 命令集CLI 以 JSON 参数传递、JSON 结果返回命令清单如下命令用途关键参数check_status检查 Qlib/模型/处理器可用性无list_models/get_data_handlers/get_factor_library/get_strategies查询各类资源无get_data拉取行情instruments, start_date, end_date, fields, freqcreate_dataset构建数据集instruments, start_time, end_time, handler_type, segmentstrain_model训练模型model_type, instruments, train_start/end, valid_start/end, handler_type, model_configpredict模型推理model_id, instruments, start_date, end_daterun_backtest历史回测model_id, strategy_type, benchmark, topk, n_drop, accountget_factor_analysis因子/模型绩效分析model_id, analysis_type(ic/returns/risk)get_feature_importance特征重要性model_idsave_model/load_model模型持久化model_id, pathget_calendar交易日历start_date, end_date, freqget_instruments股票池成分marketget_data内部还会对日期做日历钳制clamp当请求区间超出本地数据范围时自动收敛到实际可用区间并返回warning字段避免因日期越界直接失败。完整工作流AI Quant Lab 把一次策略研究组织为从数据到知识沉淀的流水线┌─────────────────┐ │ Market Data │ ← Stock prices, fundamentals └────────┬────────┘ │ ▼ ┌─────────────────┐ │ Data Processing │ ← Clean, normalize, extract features └────────┬────────┘ │ ▼ ┌─────────────────┐ │ RDAgent │ ← Generate hypotheses │ Hypothesis Gen │ └────────┬────────┘ │ ▼ ┌─────────────────┐ │ Feature Eng │ ← Create alpha factors └────────┬────────┘ │ ▼ ┌─────────────────┐ │ Model Training │ ← Train ML models └────────┬────────┘ │ ▼ ┌─────────────────┐ │ Strategy │ ← Trading signals └────────┬────────┘ │ ▼ ┌─────────────────┐ │ Backtest │ ← Historical simulation └────────┬────────┘ │ ▼ ┌─────────────────┐ │ Portfolio Opt │ ← Optimal weights └────────┬────────┘ │ ▼ ┌─────────────────┐ │ Evaluation │ ← Performance metrics └────────┬────────┘ │ ▼ ┌─────────────────┐ │ Knowledge Base │ ← Store results └─────────────────┘核心能力清单数据加工标准化Z-score、Min-Max、稳健缩放Robust缺失值前向填充、插值异常检测统计方法、孤立森林特征提取量价特征、技术指标。因子工程Alpha 因子158 内置因子对应 Alpha158/Alpha360 处理器技术指标MACD、RSI、布林带、ATR市场微观结构VWAP、价差、流动性自定义因子基于$open/$close/$high/$low/$volume等字段的自由表达式。回测仿真真实感模拟滑点、交易成本、市场冲击多频率日线、小时线、分钟线仓位约束多空限制、杠杆上限风险管理止损、止盈、回撤限制。组合优化均值-方差优化Markowitz 有效前沿风险平价等风险贡献最小方差组合最大 Sharpe 组合自定义目标函数。模型库30 算法线性Ridge、Lasso、ElasticNet树模型XGBoost、LightGBM、CatBoost神经网络MLP、LSTM、GRU、Transformer、ALSTM时序模型LSTM_TS、GRU_TS、Transformer_TS、Localformer、TCTS进阶架构HIST、KRNN、IGMTF、TRA、Sandwich集成Stacking、Blending、自适应随机森林强化学习PPO、DQN、A2C、SAC、TD3。评估指标收益年化收益、累计收益、日收益风险波动率、最大回撤、VaR、CVaR风险调整Sharpe、Sortino、Calmar 比率交易质量胜率、盈利因子、换手率。RDAgent从人写策略到AI 研发策略假设生成LLM 驱动的交易假设生成识别市场状态、挖掘新 Alpha、套用策略模板研发循环由 fincept-qt/scripts/agents/rdagents/loops.py 落地提供build_factor_loop()、build_model_loop()、build_quant_loop()三套循环构建器分别对应因子研发、模型研发与量化全流程研发。知识库沉淀成功策略、验证过的 Alpha 因子、失败案例分析、累积的交易经验形成持续进化的研究记忆。提案系统策略按潜力排序、自动化回测、超参搜索、多策略集成组合。LLM 后端配置rdagents/config.pyfincept-qt/scripts/agents/rdagents/config.py 负责把 Fincept 的 LLM 配置翻译成 RDAgent 依赖的环境变量env_vars[CHAT_MODEL] litellm_model # 模型名litellm 前缀化 env_vars[OPENAI_API_KEY] api_key # 所有 provider 统一走 litellm env_vars[CHAT_OPENAI_BASE_URL] base_url # OpenAI 兼容自定义端点 env_vars[EMBEDDING_MODEL] text-embedding-3-small # 默认嵌入模型关键设计点内置 provider 前缀映射如anthropic/、deepseek/、groq/、mistral/、together_ai/、openrouter/等自动为模型名加上 litellm 前缀MiniMax、DeepSeek 等走 OpenAI 兼容协议的自建端点时使用原始模型名并注入 base URLAnthropic 额外写入ANTHROPIC_API_KEY重复调用时自动清除残留的CHAT_OPENAI_BASE_URL避免串配置。loops 侧还支持把 MCP 工具注入研发循环enable_mcp/mcp_port18765让智能体在执行循环过程中调用外部工具集。使用示例Qlib 回测README 提供了高层调用示意from ai_quant_lab.qlib_service import run_backtest results run_backtest( strategytop_k, universecsi300, start_date2020-01-01, end_date2023-12-31, top_k30 ) print(fSharpe Ratio: {results[sharpe]}) print(fAnnual Return: {results[annual_return]})结合源码可以确认完整的调用路径是先在QlibService上完成train_model获得model_id再调用run_backtest(model_id..., strategy_typetopk_dropout, benchmarkSH000300, topk50, account100000000)top_k风格策略对应策略注册表中的topk_dropoutqlib_service.py 中STRATEGIES_AVAILABLE部分。因子工程from ai_quant_lab.qlib_feature_engineering import create_alpha_factors factors create_alpha_factors( datastock_data, factors[momentum, value, quality] )RDAgent 假设生成from ai_quant_lab.rd_agent_service import generate_hypothesis hypothesis generate_hypothesis( market_regimebull_market, asset_classequities, timeframedaily ) print(fHypothesis: {hypothesis[description]}) print(fFactors: {hypothesis[factors]})从仓库结构看generate_hypothesis的完整实现对应 RDAgent 研发循环实际落地由 agents/rdagents/loops.py 的循环构建器与 agents/rdagents/mcp_tools.py、agents/rdagents/task_manager.py 配合完成假设生成后会自动进入因子构造→回测→知识沉淀的迭代。组合优化from ai_quant_lab.qlib_portfolio_opt import optimize_portfolio weights optimize_portfolio( returnsexpected_returns, covariancecov_matrix, methodmax_sharpe, constraints{long_only: True} )配置指南Qlib 配置数据源Yahoo Finance、CSV、数据库实际由provider_uri指向的本地 Qlib 数据目录承载需预先用python -m qlib.run.get_data下载股票池CSI300、SP500 或自定义源码内置sp500/nasdaq100/all/csi300/csi500/csi100池名频率1min、5min、1dayfreq参数基准用于对比的指数如SH000300。RDAgent 配置LLM 模型通过 agents/rdagents/config.py 配置支持 OpenAI、Anthropic、MiniMax、DeepSeek、OpenRouter、Together、Fireworks、Groq、Mistral、Cohere默认gpt-4o本地可经 Ollama 接入知识库SQLite、向量数据库假设数量单轮生成的假设个数评估标准Sharpe、收益、回撤循环构建器的target_ic参数即用于设定因子质量门槛。技术栈明细框架Qlib微软量化平台ML 库XGBoost、LightGBM、CatBoost、PyTorchRL 库Stable-Baselines3、Gymnasiumqlib_rl.py 直接导入PPO, DQN, A2C, SAC, TD3与DummyVecEnv/SubprocVecEnv/EvalCallback在线学习River增量 ML数据处理Pandas、NumPy优化SciPy、cvxpyLLMOllama本地、OpenAI API存储SQLite知识库、MLflow实验追踪语言Python 3.11性能优化手段数据缓存Pickle、HDF5 加速重复加载并行处理多核回测GPU 加速PyTorch 神经网络训练SFM 封装类即通过torch.cuda.is_available()自动选择cuda:0或cpu向量化NumPy/Pandas 批处理运算。与 FinceptTerminal 的集成方式AI Quant Lab 的全部服务通过 C 命令层暴露给桌面端qlib_service.py主 Qlib 接口qlib_rl.py强化学习智能体qlib_online_learning.py在线/增量学习qlib_high_frequency.py高频交易操作qlib_meta_learning.py元学习与 AutoMLqlib_rolling_retraining.py自动化重训qlib_advanced_models.py进阶神经网络RDAgent 接口经由 agents/rdagents/ 的 loops/config/cli/mcp_server。这些 Python 脚本由 Qt/C 应用通过PythonRunner调用。从 fincept-qt/src/python/PythonRunner.cpp 可以看到运行器对ai_quant_lab/前缀脚本做了专门处理并在注释中标注了qlib_rl.pyRL 训练会长时间流式输出进度、qlib_rolling_retraining.py等长任务脚本。Qt 侧的量化工作台界面集中在 fincept-qt/src/screens/ai_quant_lab/AIQuantLabScreen、QuantModulePanel 及其回测/因子/模型展示面板负责把上述 CLI 的 JSON 输出渲染为可视化模块。v2.0 新增能力速览强化学习qlib_rl.py算法PPO、DQN、A2C、SAC、TD3交易环境连续/离散动作空间特性组合优化、风险调整奖励、Sharpe 优化训练Stable-Baselines3 集成、模型保存/加载。在线学习qlib_online_learning.py增量训练实时模型更新漂移检测ADWIN 概念漂移算法模型线性、树模型、自适应随机森林滚动更新自动化重训调度。高频交易qlib_high_frequency.py订单簿模拟买卖价动态、深度管理微观结构特征价差、VWAP、深度失衡做市Avellaneda-Stoikov 模型毒性流检测识别知情交易延迟优化超低延迟执行。元学习qlib_meta_learning.py模型选择自动化模型对比集成加权集成、StackingAutoML超参数优化数据集选择基于 IC 的数据集筛选。滚动重训qlib_rolling_retraining.py自动化调度小时级、日级、周级重训窗口管理滚动窗口训练历史追踪重训绩效日志。进阶模型qlib_advanced_models.py时序LSTM_TS、GRU_TS、Transformer_TS注意力Localformer、TCTS进阶架构HIST、KRNN、IGMTF。快速上手路径安装 Python 3.11 与 Qlib 依赖XGBoost/LightGBM/CatBoost、PyTorch、Stable-Baselines3、River 等下载市场数据python -m qlib.run.get_data qlib_data --target_dir ~/.qlib/qlib_data/us_data --region us运行python qlib_service.py check_status确认 Qlib 与各模型/处理器可用性按create_dataset → train_model → predict → run_backtest顺序在 CLI 层走通最小闭环配置 RDAgent 的 LLM 环境变量agents/rdagents/config.py启动因子/模型研发循环在 FinceptTerminal 的 AI Quant Lab 面板中观察结果策略与因子自动沉淀至知识库。说明以上流程以当前仓库实际代码为准。Qlib 数据下载与模型训练依赖本地环境安装情况未安装 Qlib 时接口会返回明确的可用性状态与错误提示不影响桌面端其他功能运行。【免费下载链接】FinceptTerminalFinceptTerminal is a modern finance application offering advanced market analytics, investment research, and economic data tools, designed for interactive exploration and>项目地址: https://gitcode.com/GitHub_Trending/fi/FinceptTerminal创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。