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