这是一个基于动量因子+动态止损的ETF轮动策略,让我详细解析其原理: 1. 策略核心思想 资产配置理念 分散投资:选择4类不同风险属性的ETF 黄金ETF(大宗商品)- 避险资产 纳指100ETF(海外资产)- 全球化配置 创业板100ETF(成长股)- 高风险高收益 上证180ETF(价值股)- 稳健蓝筹 轮动逻辑:始终持有当前动量最强的ETF,实现"强者恒强" 2. 动量因子计算(核心算法) 动量评分机制 python # 关键指标计算: 1. 对数价格序列:y = np.log(df.close) 2. 时间序列:x = np.arange(df.log.size) 3. 线性回归:slope, intercept = np.polyfit(x, y, 1) 4. 年化收益:math.pow(math.exp(slope), 250) - 1 5. 判定系数R²:衡量趋势稳定性 6. 最终得分 = 年化收益 × R² 动量因子优势 年化收益:捕捉价格趋势方向 R²判定系数:过滤噪音,确保趋势质量 综合评分:既要有涨幅,也要有稳定的趋势线 3. 双层风控体系 第一层:持有期止损 python def evaluate_etf_worth(m_etf, is_hold=1): # 对于已持仓的ETF: cur2yes = cur_p/g.etf_info[m_etf][-2] # 当日涨跌幅 if cur2yes <= 0.96: # 单日下跌4%立即止损 is_worth = 0 第二层:买入前筛选 python # 对于候选买入的ETF: cur_p >= np.mean(g.etf_info[m_etf][-4:]) # 价格高于4日均线 4. 交易决策流程 决策树逻辑: 计算动量排名 → 选出最优ETF 检查当前持仓 → 判断是否需要卖出 双层风控验证 → 确保买入质量 执行调仓操作 → 完成轮动 卖出条件(满足任一): 动量排名不再是第一 单日跌幅超过4%(硬止损) 调仓至新的动量冠军 买入条件(全部满足): 动量排名第一 价格在4日均线之上 不是刚卖出的ETF(避免频繁交易) 5. 策略特点分析 优势: 趋势跟踪:抓住强势资产的主升浪 严格风控:4%硬止损控制最大回撤 分散风险:跨市场、跨资产类别配置 量化决策:避免情绪化交易 风险控制亮点: 硬止损:单日大跌立即离场 软止损:跌破均线不买入 动量过滤:只做趋势明确的品种 轮动机制:永远站在强势一方 6. 策略改进空间 可能的优化方向: 参数优化:25日动量周期、4日均线参数 仓位管理:当前全仓单品种,可考虑分仓 止损优化:结合波动率调整止损阈值 择时增强:加入市场状态判断 这个策略本质是动量趋势跟踪+严格风控的组合,通过量化方法在多个资产间不断切换到表现最好的品种,同时用严格的止损保护本金,适合趋势明显的市场环境。