- 移除CSV本地缓存(cache_dir、_cache_path、_premium_cache_path、_save_premium_cache) - 每次运行直接从API获取数据,简化DataCache类 - 修复_get_etf_prices中open/close为None时的空值处理(中证指数API不提供OHLC) - 修复pct_change的FutureWarning(显式传fill_method=None) - 更新trade_cost注释
187 lines
5.9 KiB
YAML
187 lines
5.9 KiB
YAML
# ETF轮动策略配置(V2 框架)
|
||
#
|
||
# 配置版本: 2.0.0
|
||
# 最后更新: 2024-04-16
|
||
# 策略名称: rotation
|
||
# 描述: 全球资产大类轮动策略 - 复现 V1 结果
|
||
|
||
# ============================================================
|
||
# 元数据
|
||
# ============================================================
|
||
metadata:
|
||
version: "2.0.0"
|
||
strategy: "rotation"
|
||
description: "全球资产大类轮动策略 V2 - 复现 V1 结果"
|
||
last_updated: "2024-04-16"
|
||
|
||
# ============================================================
|
||
# 资产池配置(扁平化设计:严格对齐 V1 config.yaml)
|
||
# ============================================================
|
||
asset_pools:
|
||
assets:
|
||
# 中国A股指数
|
||
"399006.SZ":
|
||
name: "创业板指"
|
||
group: "A"
|
||
signal_source: "399006.SZ"
|
||
trade_source: "159915.SZ"
|
||
description: "创业板指数"
|
||
|
||
"H30269.CSI":
|
||
name: "中证红利低波"
|
||
group: "A"
|
||
signal_source: "H30269.CSI"
|
||
trade_source: "512890.SH"
|
||
description: "红利低波指数"
|
||
|
||
# 全球市场
|
||
"NDX":
|
||
name: "纳指100"
|
||
group: "US"
|
||
signal_source: "NDX"
|
||
trade_source: "513100.SH"
|
||
description: "纳斯达克100指数"
|
||
|
||
"N225":
|
||
name: "日经225"
|
||
group: "JP"
|
||
signal_source: "N225"
|
||
trade_source: "513520.SH"
|
||
description: "日经225指数"
|
||
|
||
"GDAXI":
|
||
name: "德国DAX"
|
||
group: "EU"
|
||
signal_source: "GDAXI"
|
||
trade_source: "513030.SH"
|
||
description: "德国DAX指数"
|
||
|
||
"HSI":
|
||
name: "恒生指数"
|
||
group: "HK"
|
||
signal_source: "HSI"
|
||
trade_source: "159920.SZ"
|
||
description: "恒生指数"
|
||
|
||
"HSTECH.HK":
|
||
name: "恒生科技"
|
||
group: "HK"
|
||
signal_source: "HSTECH.HK"
|
||
trade_source: "513130.SH"
|
||
description: "恒生科技指数"
|
||
|
||
# 商品(使用 COMEX/WTI 期货替代上期所主力合约,数据更长)
|
||
"GC=F":
|
||
name: "黄金"
|
||
group: "COMMODITY"
|
||
signal_source: "GC=F"
|
||
trade_source: "518880.SH"
|
||
description: "COMEX黄金期货(2000年至今)"
|
||
|
||
"CL=F":
|
||
name: "原油"
|
||
group: "COMMODITY"
|
||
signal_source: "CL=F"
|
||
trade_source: "160723.SZ"
|
||
description: "WTI原油期货(2000年至今)"
|
||
|
||
"HG=F":
|
||
name: "有色金属"
|
||
group: "COMMODITY"
|
||
signal_source: "HG=F"
|
||
trade_source: "159980.SZ"
|
||
description: "COMEX铜期货(2000年至今)"
|
||
|
||
# 防御类资产:短债指数
|
||
# 931862.CSI = 中证0-9个月国债指数(短债指数)
|
||
# 数据范围:2007-12-31开始,约19年数据
|
||
# 久期:极短(<1年),波动极小,熊市防御效果最佳
|
||
# 收益归因:标的收益约17%,决策收益约83%
|
||
# 注意:无对应ETF可交易,直接使用指数数据计算动量和收益
|
||
"931862.CSI":
|
||
name: "短债指数"
|
||
group: "BOND"
|
||
signal_source: "931862.CSI"
|
||
trade_source: "931862.CSI"
|
||
description: "中证0-9个月国债指数,久期<1年,防御配置"
|
||
|
||
# ============================================================
|
||
# 基准配置
|
||
# ============================================================
|
||
benchmark:
|
||
code: "000300.SH"
|
||
name: "沪深300"
|
||
|
||
# ============================================================
|
||
# 回测配置
|
||
# ============================================================
|
||
backtest:
|
||
start_date: "2020-01-10" # 与 V1 保持一致(第一个完整交易日)
|
||
# end_date: "2026-05-22" # 与 V1 保持一致
|
||
|
||
# ============================================================
|
||
# 因子配置
|
||
# ============================================================
|
||
factor:
|
||
type: "weighted_momentum" # 加权动量
|
||
n_days: 25 # 25 天窗口
|
||
|
||
# ============================================================
|
||
# 轮动配置
|
||
# ============================================================
|
||
rotation:
|
||
select_num: 3 # 选择 Top-3
|
||
diversified: true # 强制分散化:每个大类只选 Top 1
|
||
|
||
# 阈值配置(V3 动态阈值)
|
||
threshold:
|
||
mode: "dynamic" # 动态阈值模式
|
||
fixed_value: 0.0 # 固定阈值(mode=fixed时使用)
|
||
|
||
# 动态阈值配置(使用短债动量作为阈值)
|
||
dynamic:
|
||
reference: "931862.CSI" # 阈值参考标的(短债指数)
|
||
ratio: 1.0 # 阈值 = 短债动量 × ratio
|
||
fallback_enabled: true # 参考不可用时是否回退
|
||
fallback_value: 0.0 # 回退值
|
||
|
||
# ============================================================
|
||
# 调仓配置
|
||
# ============================================================
|
||
rebalance:
|
||
min_hold_days: 1
|
||
score_threshold: 0.0
|
||
trade_cost: 0.001 # 万1 交易成本(场内ETF万0.5免5)
|
||
|
||
# ============================================================
|
||
# 溢价控制配置
|
||
# ============================================================
|
||
premium_control:
|
||
enabled: false # 启用溢价控制
|
||
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 # 不启用
|
||
|
||
# ============================================================
|
||
# 数据配置
|
||
# ============================================================
|
||
data:
|
||
sources:
|
||
- type: "flask_api"
|
||
enabled: true
|
||
url: "${FLASK_API_URL}"
|
||
timeout: 120
|