【量化纯GET实战 #11】移动均线 MA:5 日 / 20 日 / 60 日怎么算怎么用
均线就是"滑动平均"
移动均线(MA)是把最近 N 天收盘价取平均,随新数据滚动。MA5 看短线、MA20 看中短线、MA60 看长线。实现只需要一个滑动窗口求和再除以窗口长度。
python
import requests
BASE = "https://api.momaapi.com"
LICENCE = "你的魔码证书"
bars = requests.get(f"{BASE}/hsstock/history/600519/d/n/{LICENCE}",
params={"st":"20250101","et":"20250401"}).json()
closes = [b["c"] for b in bars]
def ma(arr, w):
out = []
for i in range(len(arr)):
s = arr[max(0, i+1-w):i+1]
out.append(round(sum(s)/len(s), 3))
return out
ma5, ma20 = ma(closes, 5), ma(closes, 20)
print("末日 MA5:", ma5[-1], "MA20:", ma20[-1])
print("MA5 末5:", ma5[-5:])
print("MA20 末5:", ma20[-5:])
运行结果(真实返回):
text
末日 MA5: 11.7 MA20: 11.665
MA5 末5: [11.748, 11.726, 11.698, 11.682, 11.7]
MA20 末5: [11.606, 11.621, 11.638, 11.652, 11.665]
怎么用
最经典的信号是"金叉/死叉":短期均线上穿长期均线叫金叉(偏多),下穿叫死叉(偏空)。第 14 篇我们用它写一个完整回测。