松鼠Quant | 专注量化交易
松鼠QuantVIP俱乐部

SF06_RE | 基于双均线系统的动量和趋势跟踪策略

发表时间:2025-01-17 11:30作者:松鼠Quant

大家好!SF系列策略推出以来累计阅读量6万,是备受粉丝喜欢的量化系列,有很多老策略因为年代久远、软件更新等原因无法正常使用。我们决定对SF系列重制、优化代码结构、工作区重制使策略能够开箱即用。


SF系列与算法系列源码已经全部重制完成(可以打包)

1.tb重做了工作区888合约,部分代码重写。

2.增加了python代码。

3.文华8代码更新。


PS:全部策略都重制了,只是帖子需要一个个发,2024年8月份之后领取过的不需要再找小松鼠重复领取了。


策略概览

SF06_RE是一个基于双均线系统的智能交易策略,结合动量和趋势跟踪,通过动态跟踪止损来管理风险。

图片

策略思想:


传统的双均线交易系统是通过快速均线与慢速均线的交叉来捕捉趋势;当快速均线上穿慢速均线的时候,出现买入信号,指示有一波上涨趋势;当快速均线下穿慢速均线的时候,出现卖出信号,指示有一波下跌趋势。


然而,双均线交易系统在趋势行情中能获得较大的收益;由于市场只有20%的趋势行情,80%是振荡行情,双均线交易系统容易发出假信号导致过多的亏损。


为了将假趋势信号过滤掉,可以将双均线与通道结合起来,此时的“通道”充当二次滤网,虽然在一定程度上过滤了假趋势信号使在振荡行情中减少了损失,但是同时在真趋势行情中也损失了一部分利润;降低风险的同时也降低了利润。


核心模块

  1. 参数配置模块

    • Fast期:95

    • RL比率:3

    • RS比率:4

    • 初始资金:100000

    • 跟踪止损比例:30-100(步长5)

    • 均线参数

  2. 指标计算模块

    • AvgL1/AvgL2:高点均线

    • AvgS1/AvgS2:低点均线

    • SlowL = Fast × RL

    • SlowS = Fast × RS

    • 长期均线系统

    • 双均线高低点

    • ATR波动率指标

  3. 交易信号模块

    • 收盘价<AvgS1

    • AvgS1<AvgS2

    • 收盘价<Fast周期前价格

    • 前K线位于均线通道上方

    • 收盘价>AvgL1

    • AvgL1>AvgL2

    • 收盘价>Fast周期前价格

    • 前K线位于均线通道下方

    • 多头入场条件

    • 空头入场条件

  4. 风险控制模块

    • 动态跟踪止损

    • 最高最低价跟踪

    • 头寸规模管理

策略逻辑流程

  1. 初始化阶段

    • 设置数据源(后复权)

    • 配置自动换仓

    • 设置交易时段

    • 初始化变量

  2. 运行阶段

    markdown

    复制

    每个交易周期:
    1. 计算基础数据(头寸、ATR)
    2. 更新均线指标
    3. 检查开仓条件
    4. 更新跟踪止损价格
    5. 检查止损条件

策略特点

  • 均线趋势:利用多重均线系统捕捉趋势

  • 动态止损:基于价格波动的跟踪止损

  • 动量确认:结合价格动量提高信号可靠性

  • 自动化处理:完善的换仓和复权机制

优化建议

  1. 参数优化

    • Fast周期可根据市场周期特征调整

    • 跟踪止损比例可根据波动率动态调整

  2. 信号增强

    • 可考虑加入成交量过滤

    • 增加趋势强度确认

  3. 风控增强

    • 增加固定止损保护

    • 添加最大持仓时间限制

实盘应用注意事项

  1. 市场选择

    • 适合趋势明显的市场

    • 建议在波动率适中的品种上使用

  2. 资金管理

    • 严格控制单笔风险

    • 合理设置跟踪止损比例

  3. 监控优化

    • 定期检查均线系统效果

    • 评估止损触发的合理性

策略监控与维护

  1. 日常监控

    • 跟踪均线趋势信号质量

    • 观察止损触发情况

  2. 定期维护

    • 均线参数优化

    • 止损参数调整

代码实现要点

python

# 核心指标计算
def calculate_indicators(data):
    # 均线系统计算
    data['SlowL'] = int(Fast * RL)
    data['SlowS'] = int(Fast * RS)

    # 双均线高低点
    data['AvgL1'] = data['High'].rolling(Fast).mean()
    data['AvgL2'] = data['High'].rolling(data['SlowL']).mean()
    data['AvgS1'] = data['Low'].rolling(Fast).mean()
    data['AvgS2'] = data['Low'].rolling(data['SlowS']).mean()

    # 交易条件
    data['Condition1'] = (data['Close'] > data['AvgL1']) & \
                        (data['AvgL1'] > data['AvgL2']) & \
                        (data['Close'] > data['Close'].shift(Fast))

    return data


图片

图片

图片

图片

图片


总结

SF06_RE策略通过双均线系统和动态跟踪止损,提供了一个完整的趋势跟踪交易系统。策略的成功关键在于均线参数的选择和止损设置的合理性。建议交易者在实盘应用前,充分测试参数设置并理解市场特性。特别注意在不同市场环境下调整跟踪止损比例,以适应市场波动特征。


2025松鼠Quant俱乐部:
源码类

1.原创策略源码(每月1期)。

2.选参数-参数可视化及筛选工具(源码)。

3.选品种-多维度品种筛选(源码)。

4.论文、杂志、研报代码复现(源码)。

服务类

5.订单流图表交易-交易利器.

6.专属数据库-增加开平换统计数据。

7.制作自己的Ai投研助手(系列课程)。

社群类

1.贡献策略或课程,免年费或付费。

2.期货大赛量化组挂名松鼠Quant,量化组排名前200名,免年费。

3.基于python实盘与回测框架。


图片

图片

-------------往期精彩内容-------------



分享到: