# ETF轮动策略配置 # ==================== 候选池配置 ==================== # 指数-ETF映射配置 # index: 指数代码(用于计算因子信号) # etf: ETF代码(用于实际交易和收益计算),null表示直接交易指数/加密货币 code_list: # 中国A股指数 (使用 Tushare) - 主市场,交易日基准 # 宽基指数 "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 # 金融 "399986.SZ": name: "中证银行" etf: "516310.SH" # 华宝银行ETF market: "A" # 消费 "399997.SZ": name: "中证白酒" etf: "512690.SH" # 鹏华酒ETF market: "A" # 医药健康 "399989.SZ": name: "中证医疗" etf: "512170.SH" # 华宝医疗ETF market: "A" # 科技信息 "000935.SH": name: "中证信息" etf: "512330.SH" # 南方信息ETF market: "A" # 新能源 "399976.SZ": name: "新能源车" etf: "515030.SH" # 华夏新能源ETF market: "A" # 周期资源 "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": 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.HK": name: "恒生科技" etf: "513180.SH" # 华夏恒生科技ETF market: "HK" "NDX": name: "纳指100" etf: "159501.SZ" # 嘉实纳指100ETF(流动性好) market: "US" "AU.SHF": name: "黄金" etf: "518880.SH" # 华安黄金ETF market: "FUTURES" # 期货合约,交易时间含夜盘,数据逻辑类似加密货币 # 加密货币 (使用 CCXT/OKX 现货) - 通过 SSH->HTTP 代理访问 "BTC": name: "比特币" etf: null # 无ETF,直接交易 market: "CRYPTO" "ETH": name: "以太坊" etf: null # 无ETF,直接交易 market: "CRYPTO" # 主市场配置(用于确定交易日历) primary_market: source: "Tushare" # 以A股交易日为基准 code: "000300.SH" # 基准指数 # 基准指数配置 benchmark: code: "000300.SH" # 中国A股指数使用 Tushare 格式 name: "沪深300指数" # ==================== 回测参数 ==================== start_date: "2020-01-01" # end_date: "2025-03-17" # ==================== 因子参数 ==================== # 动量/趋势窗口期(天数) n_days: 25 # 因子类型:'momentum'(N日涨幅)或 'slope_r2'(斜率×R²) factor_type: "slope_r2" # ==================== 轮动参数 ==================== # 每次轮动选中的ETF数量(1=全仓单一品种) select_num: 5 # ==================== 调仓控制 ==================== # 最低调仓周期(交易日):持仓至少持有 N 天后才允许换仓 rebalance_days: 1 # 调仓得分阈值:新组合总得分需超过当前组合 X% 才触发调仓 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 # ==================== 数据源配置 ==================== # 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 代理端口