|
|
最近在回测一个老掉牙但意外好用的策略——双均线交叉。发现很多新人一上来就搞机器学习,结果被市场教做人。今天分享下怎么用不到50行代码实现这个经典策略,适合刚入门的朋友练手。
核心逻辑很简单:
1. 计算5日和20日简单移动平均线
2. 当短周期均线上穿长周期均线时做多
3. 当短周期均线下穿长周期均线时平仓
关键代码片段(需要自己补全数据接口部分):
```python
# 计算均线
df['ma5'] = df['close'].rolling(5).mean()
df['ma20'] = df['close'].rolling(20).mean()
# 生成信号
df['signal'] = np.where(df['ma5'] > df['ma20'], 1, 0)
df['signal'] = df['signal'].diff()
# 这里记得处理手续费和滑点
```
实测在震荡市表现不错,但趋势行情会连续止损。建议搭配波动率过滤器使用,比如当ATR小于历史30分位数时才触发交易。
最近三个月用这个策略跑沪深300,年化能到18%左右(未扣除手续费)。注意!实盘前一定要做参数鲁棒性检验,别问我怎么知道的...
下期可能会讲怎么用布林带改良这个策略,有兴趣的可以留言讨论。再次声明,本帖仅供学习交流,盈亏自负。 |
|