欢迎光临
我们一直在努力

Quant入门认知(三)--移动平均线策略

Quant认知(三)–移动平均线策略

📑 目录

  • 1️⃣ 趋势 vs 噪声 —— 你每天看到的是什么?
  • 2️⃣ 为什么需要“移动平均”
  • 3️⃣ 移动平均线的两个关键参数
  • 4️⃣ 金叉与死叉 —— 趋势转折的“信号灯”
  • 5️⃣ 第一个量化策略(规则)
  • 6️⃣ 专业可视化 —— 一张图看懂一切

1️⃣ 趋势 vs 噪声

直观比喻

  • 趋势:像海浪的大方向(涨潮或退潮),持续几天甚至几周。
  • 噪声:像水面的小波纹,一天内上蹿下跳,不代表方向变了。

三种市场状态

状态特征直觉
上涨趋势 价格整体向上,低点越来越高 赚钱效应,偏乐观
下跌趋势 价格整体向下,高点越来越低 亏损风险,偏悲观
噪声/横盘 价格来回震荡,没有明确方向 容易反复被“骗线”

趋势描述价格变化的较长期方向;噪声则是短期、难以解释或预测的价格波动。横盘是一种市场状态,而不是噪声本身

2️⃣ 为什么需要“移动平均”

问题

每天收盘价受消息、大单、情绪影响,太“毛刺”,直接看会头晕。

解决方案

对最近 N 个价格进行平滑处理,降低短期价格波动对观察结果的影响。

生活类比

  • 看天气不能只看今天温度(波动大),要看最近一周平均温度(更稳)。
  • 移动平均就是“温度的7天滑动均值”。

代码实现(pandas)

df['MA5'] = df['Close'].rolling(5).mean() # 5日均线
df['MA20'] = df['Close'].rolling(20).mean() # 20日均线

  • rolling(n):取最近 n 天窗口
  • .mean():计算算术平均

3️⃣ 移动平均线的两个关键参数

均线含义特点
MA5(短期) 最近5天收盘价平均 敏感,紧跟价格,但容易有假信号
MA20(中期) 最近20天收盘价平均 平滑,更稳定,但反应慢(滞后)

4️⃣ 金叉与死叉 —— 趋势转折的“信号灯”

当短期均线(MA5)和长期均线(MA20)相遇交叉时,产生经典信号:

交叉方向名称市场解读策略动作
MA5 从下往上穿过 MA20 金叉(Golden Cross) 短期力量转强,可能进入上涨 买入参考 📈
MA5 从上往下穿过 MA20 死叉(Death Cross) 短期力量转弱,可能进入下跌 卖出参考 📉

如何用代码检测金叉/死叉

df['spread'] = df['MA5'] – df['MA20'] # 差值
df['cross'] = np.sign(df['spread']).diff() # 符号变化
# cross > 0 → 金叉(由负转正)
# cross < 0 → 死叉(由正转负)

金叉≠必然赚钱,死叉≠必然亏钱。后面章节会用回测验证真实效果。

spread = MA5 − MA20。spread 从负变正,表示发生金叉;从正变负,表示发生死叉。

5️⃣ 第一个量化策略(规则)

把上面的直觉写成 if 规则(伪代码):

如果 MA5 > MA20:
持仓(买入)
否则:
空仓(卖出)

在代码里变成 signal 列

df['signal'] = (df['MA5'] > df['MA20']).astype(int)
# signal = 1 → 持仓;signal = 0 → 空仓

交易记录

df['trade'] = 0
df.loc[df['cross'] > 0, 'trade'] = 1 # 金叉日 → 买入
df.loc[df['cross'] < 0, 'trade'] = –1 # 死叉日 → 卖出

6️⃣ 专业可视化 —— 一张图看懂一切

一张好的策略图应包含:

  • 价格(灰色细线)
  • 两条均线(橙色 MA5,蓝色 MA20)
  • 金叉 ▲(绿色向上三角)
  • 死叉 ▼(红色向下三角)
  • 下方色带:蓝色表示持仓,白色表示空仓

这样一眼就能看出:

  • 什么时候买(金叉 + 持仓开始)
  • 什么时候卖(死叉 + 持仓结束)
  • 中间持有过程是否赚钱(看价格涨跌) 在这里插入图片描述
赞(0)
未经允许不得转载:171主机测评 » Quant入门认知(三)--移动平均线策略
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址