Files
etf/config/strategies/rotation.yaml
aszerW 6454e6823f fix(datasource): 修正混合数据源导入路径错误
- 修正 strategies.rotation.engine 中 hybrid_source 模块导入路径错误
- 新增 core.datasource 目录下多个数据源实现模块
- 增加 Akshare 数据源支持 A股指数数据拉取
- 实现数据缓存管理机制,支持本地数据缓存读写
- 新增 YFinance 数据源,支持通过 SSH 隧道访问美股和港股数据
- 实现混合数据源支持 A股/Tushare、港美股/YFinance、加密货币/CCXT 的统一访问
- 集成 SSH 隧道管理,支持 SOCKS5 转 HTTP 代理转发
- 新增 socks2http.py 代理转发工具,解决 CCXT 仅支持 HTTP 代理问题
- 修改 rotation.yaml 加密货币注释,明确使用 OKX 现货和 SSH->HTTP 代理访问
- 删除.gitignore中无用的 data/ 忽略规则,保留 test/ 文件夹忽略规则
2026-03-25 01:32:33 +08:00

87 lines
3.0 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轮动策略配置
# ==================== 候选池配置 ====================
# A股全行业指数配置Tushare格式XXXXXX.SH / XXXXXX.SZ
# 格式: {代码: 名称}
code_list:
# 中国A股指数 (使用 Tushare) - 主市场,交易日基准
# 宽基指数
"000300.SH": "沪深300"
"000905.SH": "中证500"
"000852.SH": "中证1000"
"399006.SZ": "创业板指"
"000015.SH": "上证红利"
# 金融
"399986.SZ": "中证银行"
# 消费
"399997.SZ": "中证白酒"
# 医药健康
"399989.SZ": "中证医疗"
# 科技信息
"000935.SH": "中证信息"
# 新能源
"399976.SZ": "新能源车"
# 周期资源
"399395.SZ": "国证有色"
"399998.SZ": "中证煤炭"
"399813.SZ": "细分化工"
"000937.SH": "中证能源"
# 其他行业
"399967.SZ": "中证军工"
"000949.SH": "中证农业"
"399702.SZ": "国债指数"
# 全球市场指数 (使用 YFinance) - 非主市场数据会前向填充到A股交易日
"HSTECH": "恒生科技" # 港股
"NDX": "纳指100" # 美股
"GC=F": "黄金" # 黄金期货 (COMEX)
# 加密货币 (使用 CCXT/OKX 现货) - 通过 SSH->HTTP 代理访问
"BTC": "比特币" # OKX 现货
"ETH": "以太坊" # OKX 现货
# 主市场配置(用于确定交易日历)
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
# ==================== 数据缓存 ====================
# 是否使用本地缓存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 代理端口