From e6898a851cc756e756ff374913942ec8fd980f74 Mon Sep 17 00:00:00 2001 From: aszerW Date: Wed, 25 Mar 2026 22:01:22 +0800 Subject: [PATCH] =?UTF-8?q?feat(config):=20=E4=BC=98=E5=8C=96ETF=E8=BD=AE?= =?UTF-8?q?=E5=8A=A8=E7=AD=96=E7=95=A5=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将候选池指数列表升级为包含名称、对应ETF代码及市场的详细映射结构 - 支持多市场ETF映射,包括A股、港股、美股、商品及加密货币市场 - 新增主市场配置及跨境ETF溢价控制机制,防止高溢价买入 - 溢价控制支持启用开关、不同市场阈值及降权模式 - 明确交易成本、缓存使用及交易日历设置,增强策略灵活性和稳定性 --- config/strategies/rotation.yaml | 137 ++++++++++++++++++++++++++------ 1 file changed, 113 insertions(+), 24 deletions(-) diff --git a/config/strategies/rotation.yaml b/config/strategies/rotation.yaml index 6d05204..7b56e2b 100644 --- a/config/strategies/rotation.yaml +++ b/config/strategies/rotation.yaml @@ -1,43 +1,111 @@ # ETF轮动策略配置 # ==================== 候选池配置 ==================== -# A股全行业指数配置(Tushare格式:XXXXXX.SH / XXXXXX.SZ) -# 格式: {代码: 名称} +# 指数-ETF映射配置 +# index: 指数代码(用于计算因子信号) +# etf: ETF代码(用于实际交易和收益计算),null表示直接交易指数/加密货币 code_list: # 中国A股指数 (使用 Tushare) - 主市场,交易日基准 # 宽基指数 - "000300.SH": "沪深300" - "000905.SH": "中证500" - "000852.SH": "中证1000" - "399006.SZ": "创业板指" - "000015.SH": "上证红利" + "000300.SH": + name: "沪深300" + etf: "510300.SH" # 华泰柏瑞沪深300ETF + market: "A" + "000905.SH": + name: "中证500" + etf: "510500.SH" # 南方中证500ETF + market: "A" + "000852.SH": + name: "中证1000" + etf: "512100.SH" # 南方中证1000ETF + market: "A" + "399006.SZ": + name: "创业板指" + etf: "159915.SZ" # 易方达创业板ETF + market: "A" + "000015.SH": + name: "上证红利" + etf: "510880.SH" # 华泰柏瑞红利ETF + market: "A" # 金融 - "399986.SZ": "中证银行" + "399986.SZ": + name: "中证银行" + etf: "512800.SH" # 华宝银行ETF + market: "A" # 消费 - "399997.SZ": "中证白酒" + "399997.SZ": + name: "中证白酒" + etf: "512690.SH" # 鹏华酒ETF + market: "A" # 医药健康 - "399989.SZ": "中证医疗" + "399989.SZ": + name: "中证医疗" + etf: "512170.SH" # 华宝医疗ETF + market: "A" # 科技信息 - "000935.SH": "中证信息" + "000935.SH": + name: "中证信息" + etf: "512330.SH" # 南方信息ETF + market: "A" # 新能源 - "399976.SZ": "新能源车" + "399976.SZ": + name: "新能源车" + etf: "515030.SH" # 华夏新能源ETF + market: "A" # 周期资源 - "399395.SZ": "国证有色" - "399998.SZ": "中证煤炭" - "399813.SZ": "细分化工" - "000937.SH": "中证能源" + "399395.SZ": + name: "国证有色" + etf: "159880.SZ" # 有色ETF + market: "A" + "399998.SZ": + name: "中证煤炭" + etf: "515220.SH" # 煤炭ETF + market: "A" + "399813.SZ": + name: "细分化工" + etf: "516120.SH" # 化工ETF + market: "A" + "000937.SH": + name: "中证能源" + etf: "159930.SZ" # 能源ETF + market: "A" # 其他行业 - "399967.SZ": "中证军工" - "000949.SH": "中证农业" - "399702.SZ": "国债指数" + "399967.SZ": + name: "中证军工" + etf: "512660.SH" # 军工ETF + market: "A" + "000949.SH": + name: "中证农业" + etf: "159825.SZ" # 农业ETF + market: "A" + "399702.SZ": + name: "国债指数" + etf: "511010.SH" # 国债ETF + market: "A" + # 全球市场指数 (使用 YFinance) - 非主市场,数据会前向填充到A股交易日 - "HSTECH": "恒生科技" # 港股 - "NDX": "纳指100" # 美股 - "GC=F": "黄金" # 黄金期货 (COMEX) + "HSTECH": + name: "恒生科技" + etf: "513180.SH" # 华夏恒生科技ETF + market: "HK" + "NDX": + name: "纳指100" + etf: "159501.SZ" # 嘉实纳指100ETF(流动性好) + market: "US" + "GC=F": + name: "黄金" + etf: "518880.SH" # 华安黄金ETF + market: "COMMODITY" # 加密货币 (使用 CCXT/OKX 现货) - 通过 SSH->HTTP 代理访问 - "BTC": "比特币" # OKX 现货 - "ETH": "以太坊" # OKX 现货 + "BTC": + name: "比特币" + etf: null # 无ETF,直接交易 + market: "CRYPTO" + "ETH": + name: "以太坊" + etf: null # 无ETF,直接交易 + market: "CRYPTO" # 主市场配置(用于确定交易日历) primary_market: @@ -71,6 +139,27 @@ rebalance_threshold: 0.0 # 单次换仓成本(双边,含佣金+滑点) trade_cost: 0.001 +# ==================== 溢价控制配置 ==================== +# 跨境ETF溢价过滤机制(防止高溢价买入) +premium_control: + enabled: true + default_threshold: 0.02 # 默认溢价阈值 2% + mode: "filter" # "filter"(完全排除) 或 "penalize"(降权) + penalty_factor: 0.5 # 降权模式下的惩罚系数 + + # 按市场类型覆盖配置 + market_overrides: + A: # A股 ETF + enabled: false # 不启用(溢价通常 < 0.5%) + HK: # 港股 ETF + enabled: true + threshold: 0.03 # 阈值 3% + US: # 美股 ETF + enabled: true + threshold: 0.02 # 阈值 2% + COMMODITY: # 商品 ETF + enabled: false + # ==================== 数据缓存 ==================== # 是否使用本地缓存(True=优先从本地读取) use_cache: true