# ETF轮动策略配置 # ==================== 候选池配置 ==================== # 指数-ETF映射配置 # index: 指数代码(用于计算因子信号) # etf: ETF代码(用于实际交易和收益计算),null表示直接交易指数/加密货币 code_list: # 中国A股指数 "399006.SZ": name: "创业板指" etf: "159915.SZ" market: "A" "H30269.CSI": name: "中证红利低波" etf: "512890.SH" market: "A" # 全球市场 "NDX": name: "纳指100" etf: "513100.SH" market: "US" "N225": name: "日经225" etf: "513520.SH" market: "JP" "GDAXI": name: "德国DAX" etf: "513030.SH" market: "EU" "HSI": name: "恒生指数" etf: "159920.SZ" market: "HK" "HSTECH.HK": name: "恒生科技" etf: "513130.SH" market: "HK" # 商品 & 固收 # 使用 COMEX/WTI 期货替代上期所主力合约(数据更长) "GC=F": # COMEX黄金期货(2000年至今) name: "黄金" etf: "518880.SH" # 国内黄金ETF market: "COMMODITY" "CL=F": # WTI原油期货(2000年至今) name: "原油" etf: "160723.SZ" # 国内原油ETF market: "COMMODITY" # 使用 COMEX 铜期货替代上期所主力合约(数据更长) "HG=F": # COMEX铜期货(2000年至今) name: "有色金属" etf: "159980.SZ" # 国内有色金属ETF market: "COMMODITY" # 防御类资产:短债指数 # 931862.CSI = 中证0-9个月国债指数(短债指数) # 数据范围:2007-12-31开始,约19年数据 # 久期:极短(<1年),波动极小,熊市防御效果最佳 # # 【收益归因实证分析结论】 # 分析方法:将持有债券期间的收益分解为两部分 # 1. 标的收益:债券本身的价格上涨(年化约3%) # 2. 决策收益:持有债券期间避免持有股票带来的损失 # # 实证结果(2002-2026回测区间): # - 标的收益占比:约17%(债券本身增长贡献) # - 决策收益占比:约83%(避险决策贡献) # # 核心结论: # 短债指数在轮动策略中的价值主要来自"正确避险决策", # 而非债券本身的价格增长。这验证了动量轮动策略的 # 核心逻辑:通过仓位选择规避下跌风险,而非依赖标的本身收益。 # # 收益对比(策略净值): # - 使用931862.CSI(短债):净值264.54,收益26354% # - 使用000012.SH(综合国债):净值216.30,收益21530% # - 短债防御效果更好,收益高18.2% # # 注意:无对应ETF可交易,直接使用指数数据计算动量和收益 "931862.CSI": name: "短债指数" etf: null market: "BOND" # 000012.SH(上证国债指数)配置已注释,原因: # 1. 000012.SH是综合国债指数(包含短债到长债),无对应ETF # 2. 之前错误映射到511520.SH(政金债ETF),指数-ETF不匹配 # 3. 收益低于短债指数(216.30 vs 264.54) # "000012.SH": # name: "上证国债指数" # etf: "511520.SH" # market: "BOND" # 主市场配置 primary_market: source: "Tushare" code: "000300.SH" # 基准指数配置 benchmark: code: "000300.SH" name: "沪深300" # ==================== 回测参数 ==================== start_date: "2002-01-01" # ==================== 因子参数 ==================== # 动量/趋势窗口期(天数) n_days: 25 # 因子类型:'momentum', 'slope_r2', 'weighted_momentum' factor_type: "weighted_momentum" # 动态周期参数 (匹配 JoinQuant 策略) auto_day: false min_days: 20 max_days: 60 # ==================== 轮动参数 ==================== select_num: 3 # 强制分散化:每个大类只选 Top 1 diversified: true # 动量最低阈值:标的动量得分需>=此值才考虑入选(年化收益率*R²) # 设置为0表示过滤负动量标的,更高阈值虽能改善回撤但可能错过正动量机会 min_score: 0.0 # V3: 动态阈值配置(替代固定 min_score: 0.0) # 使用短债动量作为动态 min_score:标的动量 < 短债动量 → 不持有 bond_threshold: enabled: true # true=V3动态阈值, false=退化为V2固定阈值 bond_code: "931862.CSI" # 阈值参考标的(短债指数) ratio: 1.0 # 阈值 = 短债动量 × ratio fill_bond: true # 选出不足select_num只时,用短债填充空余仓位 # ==================== 调仓控制 ==================== # 最低调仓周期(交易日):持仓至少持有 N 天后才允许换仓 rebalance_days: 1 # 调仓得分阈值:新组合总得分需超过当前组合 X% 才触发调仓 rebalance_threshold: 0.0 # 单次换仓成本(双边,含佣金+滑点) trade_cost: 0.001 # ==================== 溢价控制配置 ==================== # 跨境ETF溢价过滤机制(防止高溢价买入) premium_control: enabled: true default_threshold: 0.10 # 默认溢价阈值 10% mode: "filter" # "filter"(完全排除) 或 "penalize"(降权) penalty_factor: 0.5 # 降权模式下的惩罚系数 # 按市场类型覆盖配置 market_overrides: A: # A股 ETF enabled: false # 不启用(溢价通常 < 0.5%) HK: # 港股 ETF enabled: true threshold: 0.10 # 阈值 10% US: # 美股 ETF enabled: true threshold: 0.10 # 阈值 10% COMMODITY: # 商品 ETF enabled: false # ==================== 数据缓存 ==================== # 是否使用本地缓存(True=优先从本地读取) use_cache: true # ==================== 数据源配置 ==================== # Flask API 服务配置(优先使用远程 API 获取数据) flask_api: enabled: true # 是否启用 Flask API url: "https://k3s.tokenpluse.xyz" # Flask API 服务地址 # SSH 隧道配置(用于网络受限环境,通过境外服务器访问 yfinance) ssh_tunnel: enabled: true # 是否启用 SSH 隧道 host: "8.218.167.69" # SSH 服务器地址(阿里云香港 ECS IP) port: 22 # SSH 端口 username: "root" # SSH 用户名 key_path: "hk_ecs.pem" # SSH 私钥路径(相对于项目根目录) local_port: 1080 # 本地 SOCKS5 代理端口