Files
etf/config/strategies/rotation.yaml
aszerW e7dca3fec8 fix(core): 修正中国A股指数判断逻辑及更新指数配置
- 在中国A股指数判断中增加对中证指数(.CSI)的支持
- 替换创业板指配置中的红利指数代码和对应ETF信息
- 更新中证银行ETF代码为最新的华宝银行ETF编码
2026-03-27 22:37:41 +08:00

176 lines
5.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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"
"000922.CSI":
name: "中证红利"
etf: "515180.SH" # 红利ETF博时
market: "A"
# 金融
"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'斜率×
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 代理端口