Skip to content

Alpha158 改进实验 ​

本案例比较适配后的 Qlib Alpha158 基线、两个新增风险因子与排名保留策略。控制变量与独立确认方法见实验设计。

本页只保留 2026-10-10 在 45 机器用提交 8fc1174 完成的一组实验:Alpha158、risk 因子、3 日排名保留策略。两条模型流程从同一数据快照重跑 ETL、训练、预测和回测;策略复用本次因子模型预测。买入费用 0.05%,卖出费用 0.15%,其他参数保持原设定。算法与参数接口见各插件 README。

共同设定 ​

设定值
数据 / 股票池Tushare;沪深市场,排除北交所; 11,446,950 行,5,477 只股票;158 / 171 ETL 特征; min_history_coverage=0.8.
训练 / 标签[20150101,20230101); label_return_rank; trim_tail=0.025; label_winsorize_tail=0.025; validation_ratio=0.10; 剔除跨训练截止日的标签。
样本 / 验证refit=5,838,557; tuning=5,010,901; validation=823,601; validation_start=20220316
模型parameter_preset=axonx; learning_rate=0.03; num_leaves=31; max_depth=-1; min_data_in_leaf=20; bagging_fraction=0.9; bagging_freq=1; lambda_l1=lambda_l2=0; random_seed=42; num_threads=8.
训练轮数num_boost_round=1000; early_stopping_rounds=50; 按验证 L2 选轮数,再重拟合全部训练样本。
预测 / 回测pred_start=20230101; pred_end=20261008; as_of_date=20261008; 909 个市场日; top_ns=[20,30]; index_codes=[]; minimum_index_weight_coverage=0.98.
费用 / 年化buy_cost_rate=0.0005; sell_cost_rate=0.0015; 不设最低金额费用; annualization_days=252; annual_risk_free_rate=0.012.
成交同收盘报价代理;先卖后买;未成交目标不补位;不强制期末清仓;共用基础 ETL 行情、日历和标签。

方案设定 ​

方案特征context_groupsfeature_fraction选定轮数验证 RankIC退出
Alpha158158—0.94220.10789holding_days=1
风险因子160risk1.04260.11321holding_days=1
3 日策略160risk1.04260.11321minimum_holding_days=3

策略使用 replacement_fraction=0.2、rank_buffer=1,Top20/Top30 每日每侧最多成交 4/6 只,首次建仓豁免。因子只选择两个 risk 特征;context_windows=[10] 不改变 risk 组的固定窗口。

指标口径 ​

IC/RankIC 为信号日合格股票预测与有效次日标签的每日 Pearson/Spearman 相关均值;RankICIR 使用日 RankIC 的均值除以样本标准差,再乘 sqrt(252)。净年化为复利净收益按 252 日年化;净夏普比率扣除日化无风险收益,波动率使用样本标准差。回撤峰值包含初始权益 1;换手与费用按前日权益归一化。

市场均值是有效前向标签股票的等权收益;HS300 是权重覆盖至少 98% 的成分加权代理。净超额为组合净日收益减基准日收益;净 IR 为其均值/样本标准差 × sqrt(252),净超额年化与回撤使用超额复利曲线。超额指标仅用共同基准有效日期。

基线与风险因子的信号质量

三组实验的净年化收益

整体信号与 Top20 ​

指标Alpha158风险因子3 日策略
整体信息系数(IC)0.05300.05450.0545
整体秩信息系数(RankIC)0.09230.09660.0966
整体秩信息比率(RankICIR,年化)12.881714.285914.2859
净年化收益7.67%9.03%32.37%
净累计收益30.56%36.60%174.99%
净夏普比率0.36190.40521.1575
净年化波动率28.20%28.53%26.19%
最大回撤-38.65%-40.69%-24.91%
日收益胜率53.47%53.47%55.89%
日均双边换手198.83%199.35%40.01%
日均费用 / 前日权益0.1989%0.1994%0.0400%
已完成交易18,03218,0793,624
相对市场均值的净超额年化收益-3.50%-1.88%18.64%
相对市场均值的净信息比率-0.1422-0.06651.4543
相对市场均值的净超额最大回撤-28.51%-21.71%-18.63%
相对沪深 300 代理的净超额年化收益2.74%4.07%26.04%
相对沪深 300 代理的净信息比率0.23400.29361.2697
相对沪深 300 代理的净超额最大回撤-31.94%-29.37%-23.96%

Top30 ​

方案净年化净夏普最大回撤换手净 IR:市场均值净 IR:HS300
Alpha1580.97%0.1308-40.60%199.02%-0.5956-0.0792
风险因子4.25%0.2472-41.41%199.37%-0.42650.0822
3 日策略29.30%1.0884-25.53%40.03%1.40811.1909

Top20 分年净年化 ​

年份交易日Alpha158风险因子3 日策略
2023242-9.13%-10.06%9.71%
20242425.06%10.52%17.73%
202524348.57%56.63%72.52%
2026182-9.31%-14.73%39.42%

结果限制 ​

本次只运行既定三组配置,没有重新筛选候选,也没有独立确认窗口。基础/因子模型的 feature_fraction 为 0.9/1.0,差异不能单独归因于新增因子。2026 为不完整年度;成交使用同收盘报价代理。三个回测状态均为 incomplete_market_data,缺行情可能延迟退出并保留旧估值。

这些结果比较的是 AxonX 插件配置,不能据此认定优于原始 Qlib 基准。数据、标签、训练与交易协议存在差异,详见与原始 Qlib 的差异。

复现 ​

固定同一份数据快照,每次提交后保存 Task/Run ID,等待成功再提交下游。远程命令使用同一 --target。固定持有回测分别对基础与因子预测执行一次;基础版使用 qlib_a158_backtest。

bash
# 基础模型:158 个特征
axonx submit --task qlib_a158_etl --input-dir '<same_data_snapshot>' --start-date 20150101 --end-date 20261008
axonx submit --task qlib_a158_train --source-tasks '<base_etl_task_id>' \
  --train-start 20150101 --train-end 20230101 --label-column label_return_rank \
  --parameter-preset axonx --feature-fraction 0.9 --random-seed 42 --num-threads 8
axonx submit --task qlib_a158_predict --source-tasks '<base_train_task_id>' \
  --pred-start 20230101 --pred-end 20261008

# 因子模型:158 个基础特征加两个风险因子
axonx submit --task qlib_factor_etl --input-dir '<same_data_snapshot>' --start-date 20150101 --end-date 20261008
axonx submit --task qlib_factor_train --source-tasks '<factor_etl_task_id>' \
  --train-start 20150101 --train-end 20230101 --label-column label_return_rank \
  --parameter-preset axonx --context-groups risk --context-windows '[10]' \
  --feature-fraction 1.0 --random-seed 42 --num-threads 8
axonx submit --task qlib_factor_predict --source-tasks '<factor_train_task_id>' \
  --pred-start 20230101 --pred-end 20261008

# 固定持有:分别对基础和因子预测执行一次
axonx submit --task qlib_factor_backtest --source-tasks '<factor_predict_task_id>' \
  --top-ns '[20,30]' --holding-days 1 --buy-cost-rate 0.0005 --sell-cost-rate 0.0015 \
  --as-of-date 20261008 --annualization-days 252 --annual-risk-free-rate 0.012 \
  --market-file '<base_etl_market_path>' --calendar-file '<base_etl_calendar_path>' \
  --labels-file '<base_etl_labels_path>'

# 策略版本:复用因子预测,采用选中的 3 日策略
axonx submit --task qlib_strategy_backtest --source-tasks '<factor_predict_task_id>' \
  --top-ns '[20,30]' --minimum-holding-days 3 \
  --replacement-fraction 0.2 --rank-buffer 1 --buy-cost-rate 0.0005 --sell-cost-rate 0.0015 \
  --as-of-date 20261008 --annualization-days 252 --annual-risk-free-rate 0.012 \
  --market-file '<base_etl_market_path>' --calendar-file '<base_etl_calendar_path>' \
  --labels-file '<base_etl_labels_path>'

任务来源 ​

执行工作区:45 机器 /nas/jinli.yl/data/axon;原始产物保存在该工作区。仅列本次实验记录。

阶段Task IDRun ID
base_etletl#qlib_a158_etl#fees-1010-base-etl41fb603467ac4e78acc68294ae7d2699
base_traintrain#qlib_a158_train#fees-1010-base-traineff2152ad9a244cb95a91f834e41a33a
base_predictpredict#qlib_a158_predict#fees-1010-base-predictc9eaa50835004b9284897e5f2ad001e6
base_backtestbacktest#qlib_a158_backtest#fees-1010-base-backtestb7ca108ed67a4ef4b38968f0770430bc
factor_etletl#qlib_factor_etl#fees-1010-factor-etl1d17d053b24b4e58b2175184372ea718
factor_traintrain#qlib_factor_train#fees-1010-factor-trainc3ec05d4cbac4905b5603d9d6d2b07b1
factor_predictpredict#qlib_factor_predict#fees-1010-factor-predictf541bb3b20eb406fb9dfb5c9c4f705a4
factor_backtestbacktest#qlib_factor_backtest#fees-1010-factor-backtest3d0a9f5a718a4bb4a6f14873cad8e8ad
strategy_backtestbacktest#qlib_strategy_backtest#fees-1010-strategy-backtest51c8cf5fca3d47cf95c6f4965e0c0302
共同输入SHA-256
market5416cdf28fdd8bfb0280afa5d080fd7db0c6e50b82373cd024e910229c8dbc17
calendarb8048084ff1abafa81b97af01a58b7c8addf96fb061b7898127035e61408e731
labels52e832db44e3a961942c7d6e485b355378dea081c8b53ca34cf01aa2b1d0bda6

三个回测共用上述输入摘要;因子与策略共用预测摘要。核心/插件版本 0.1.1/0.2.0,Python 3.12.14、Polars 1.44.2、LightGBM 4.7.0。

Agent-native quant research.