Sunday Quant Scientist · 第 2 章 技术指标计算 章节摘要:本章是流水线的第二个工位——把原始行情算成技术指标。指标是策略的"语言":趋势策略看均线/MACD,震荡策略看 RSI,风控看 ATR。本章手写四大经典指标,理解公式而非黑盒调用:EMA 与卡尔曼滤波的平滑对比(QS004)、ATR 波动率与 True Range(QS009)、RSI 超买超卖的 gain/loss 分离(QS010)、MACD 趋势动量加因子验证彩蛋(QS013),最后用 mplfinance 一行画专业 K 线(QS021)。读完本章,你能手写常见指标,并知道 pandas 的 shift/ewm/rolling 怎么用在时序计算上。
章节摘要:本章是流水线的第二个工位——把原始行情算成技术指标。指标是策略的"语言":趋势策略看均线/MACD,震荡策略看 RSI,风控看 ATR。本章手写四大经典指标,理解公式而非黑盒调用:EMA 与卡尔曼滤波的平滑对比(QS004)、ATR 波动率与 True Range(QS009)、RSI 超买超卖的 gain/loss 分离(QS010)、MACD 趋势动量加因子验证彩蛋(QS013),最后用 mplfinance 一行画专业 K 线(QS021)。读完本章,你能手写常见指标,并知道 pandas 的 shift/ewm/rolling 怎么用在时序计算上。
手写指标的核心技巧:shift(1) 取前值、ewm 指数加权、rolling 窗口聚合、clip 分离涨跌。
阅读完本章,你应当能够:
clip(lower=0)/clip(upper=0) 优雅分离涨跌算 RSI。手造数据对比 SMA(等权)/EMA(指数衰减)/一维卡尔曼滤波(预测-更新递归);卡尔曼增益的物理含义;adjust=False 的递归 EMA。配图 images/qs004-ema-kalman-compare.png。
ATR:True Range = max(H-L, |H-前收|, |L-前收|)再滚动均值;RSI:diff 后 clip 分离 gain/loss,RS=avg_gain/avg_loss,RSI=100-100/(1+RS);Wilder 原版用 EMA,脚本简化用 SMA。gridspec_kw 控制子图比例。
MACD 三件套(快慢 EMA 差 + 信号线 EMA + 柱状图);shift(1) 对比识别金叉死叉;因子验证彩蛋:5 日前瞻收益 shift(-5) + rolling(30).corr(MACD) 看滚动相关性——指标到底有没有预测力。
mpf.plot 的 type 参数(candle/line/renko/ohlc)+ mav 均线 + volume 量 + show_nontrading;日线 vs 5 分钟日内;renko 砖形图只看价格变动不看时间的独特性。依赖最少最易跑。
前置知识:第 1 章(拿到行情数据);pandas 的 shift/rolling/ewm。
后续延伸:第 4 章用指标做因子分析;第 5 章用指标做机器学习特征。