📑 查看全课大纲(第 10 / 38 节)
- 1.课程介绍与学习目标
- 2.量化交易的发展
- 3.主观投资与量化投资的关系
- 4.认识一个量化策略(1)
- 5.认识一个量化策略(2)
- 6.理工生做量化的优势
- 7.量化交易系统的基本架构
- 8.必要的交易基础知识及参考资料
- 9.上节课思考题及本节课内容介绍
- 10.技术指标简介
- 11.基于MACD的交易信号开发(1)
- 12.基于MACD的交易信号开发(2)
- 13.基于RSI的交易信号开发
- 14.基于BOLL的交易信号开发
- 15.基于分形的交易信号开发
- 16.总结及下节课预告
- 17.开发环境安装
- 18.获取指数和个股历史行情数据
- 19.修复行情数据中的问题
- 20.抓取财报数据、数据定时更新
- 21.实现低PE股票池(1)
- 22.实现低PE股票池(2)
- 23.实现低PE策略的回测(1)
- 24.实现低PE策略的回测(2)
- 25.风险控制综述
- 26.风险控制中的止盈止损
- 27.仓位管理的工程实现
- 28.完整策略介绍-基础策略
- 29.策略的分步优化
- 30.策略评价指标(1)
- 31.策略评价指标(2)
- 32.如何评价策略
- 33.如何优化策略
- 34.tick数据的意义
- 35.tick数据的介绍及使用
- 36.Hans123策略
- 37.经典买入三法策略
- 38.量化系统的完整研发和系统搭建
技术指标简介
约 23 分钟
📺 正在播放小象官方高清录播(支持倍速与清晰度调节)
技术指标简介与分类哲学
小象实战讲义 · 初阶量化交易:策略编写及系统搭建 本讲义仅用于编程与量化方法教学,不构成任何投资建议。
在传统主观交易向现代量化交易转型的过程中,技术指标(Technical Indicators) 是构建择时信号系统最常见的数理工具。从数学与信号处理的本质来看,技术指标既不是预测未来的”水晶球”,也不是神秘的玄学,而是对原始行情数据(价、量、时、空、持仓量)进行特定数学变换后的衍生数值序列或数字滤波器。
本讲系统梳理从底层行情数据到最终交易执行的四步决策链条;深入解析技术指标的四大经典家族(均线型、趋势型、摆动型、能量型)的物理内涵与适用市场环境;并引入量价分析的经典基石——威科夫三大定律(供需关系、因果关系、努力与结果),指导量化开发者如何科学组合多维指标,避免同质化特征过拟合。
💡 核心导读
- 量化交易决策的四步时序链条:
- 四大技术指标家族的本质与适用场景:
- 均线型(MA, EXPMA, BBI):反映特定周期内的平均持仓成本,提供趋势基准;
- 趋势型(MACD, SAR, ASI, DMI):适用于单边趋势行情,检测趋势的启动、发展与反转;
- 摆动型(KDJ, RSI, BOLL, WR):适用于箱体震荡行情,度量超买超卖与均值回归;
- 能量型(OBV, VOL, VR):度量成交动能,验证”量在价先、量价配合”的持续性。
- 多指标特征工程的核心禁忌:
- 严禁同质化堆叠:切忌在模型中同时堆入 80 条不同周期的均线或 10 种同构趋势指标;
- 跨类别正交选取:多指标合成或机器学习特征提取时,必须从趋势、摆动、能量与均线家族中均衡选取低相关性特征。
- 威科夫量价三定律(Wyckoff Laws):
- 供需关系(Supply vs Demand):买盘与卖盘供求失衡是价格位移的唯一直接动力;
- 因果关系(Cause vs Effect):趋势形成前的横盘准备期决定了后市波动幅度(“横有多长,竖有多高”);
- 努力与结果(Effort vs Result):成交量剧增而价格止步不前(放量滞涨),暗示潜在变盘与主力派发。
┌─────────────────────────────────────────────────────────────┐
│ 技术指标四大分类体系与应用 │
└──────────────────────────────┬──────────────────────────────┘
│
┌───────────────┬─────────────┴─────────────┬───────────────┐
▼ ▼ ▼ ▼
┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ 均线型 (MA) │ │ 趋势型(MACD)│ │ 摆动型(RSI) │ │ 能量型(OBV) │
├─────────────┤ ├─────────────┤ ├─────────────┤ ├─────────────┤
│ • 平均成本 │ │ • 单边趋势 │ │ • 震荡超买卖│ │ • 量在价先 │
│ • 动态支撑 │ │ • 启动与转折│ │ • 均值回归 │ │ • 动能验证 │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘一、量化交易决策的四步流程
在量化系统中,从数据接入到订单成交遵循严密的流水线处理:
① 基础数据层 ── 价(Close/High/Low)、量(Volume)、时(Timestamp)、空(振幅)、仓(Open Interest)
② 特征指标层 ── 通过数学公式或滑动窗口计算衍生数值序列 (如 12 日 EMA、20 日布林通道)
③ 信号判定层 ── 设定边沿触发条件 (如 MACD 黄金交叉、RSI 上穿 20 阈值、BOLL 下轨突破)
④ 执行路由层 ── 输出买卖动作 (买开、卖开、买平、卖平),经头寸与风控模块校验后报单二、威科夫量价三大定律与背离识别
1. 供需关系(Supply vs Demand)
- 股票与衍生品本质是流动性筹码。当买盘意愿(需求)显著超越卖盘挂单(供应)时,买方必须主动向上扫单才能成交,推动价格上升;反之,供应过剩则迫使卖方下砸出货引发下跌。
2. 因果关系(Cause vs Effect)
- 价格的重大趋势运动在爆发前通常需要充分的筹码沉淀与换手吸筹(“准备阶段”)。横盘震荡蓄势越充分(因),后续单边趋势的持续动能越强(果)。
3. 努力与结果(Effort vs Result)
- 成交量(Volume)代表市场资金投入的努力,价格涨跌幅代表最终呈现的结果;
- 放量滞涨(Effort without Result):如果在上升趋势末期,成交量出现成倍激增(努力极大),但收盘价涨幅却趋近于零(结果微弱),表明买方力量被天量潜在抛盘全数吸收,是典型的变盘预警信号。
📝 动手练一练
下面我们用 Python 编写一段代码,实现威科夫量价定律中**“努力与结果(放量滞涨)“的量化检测器**,结合成交量异动与价格涨跌幅,自动识别潜在的量价背离变盘点:
import pandas as pd
import numpy as np
def demonstrate_wyckoff_effort_vs_result():
"""
演示威科夫量价三定律之'努力与结果 (Effort vs Result)'量化检测:
1. 计算价格涨跌幅与成交量环比增幅
2. 计算能量型指标 OBV (能量潮)
3. 量化识别'高位放量滞涨 (买方努力极大但价格涨幅衰竭)'的潜在变盘信号
"""
np.random.seed(42)
dates = pd.date_range("2023-01-01", periods=6, freq="D")
# 模拟价格与成交量: 前期温和放量上涨,最后阶段成交量暴增但价格涨幅停滞
closes = np.array([10.0, 10.5, 11.2, 11.8, 11.9, 11.95])
volumes = np.array([10000, 12000, 15000, 18000, 35000, 42000]) # 成交量大幅激增
df = pd.DataFrame({'Close': closes, 'Volume': volumes}, index=dates)
df['Price_Change_Pct'] = df['Close'].pct_change() * 100.0
df['Volume_Change_Pct'] = df['Volume'].pct_change() * 100.0
# 计算能量型指标: OBV (On Balance Volume)
obv = [0]
for i in range(1, len(df)):
if df['Close'].iloc[i] > df['Close'].iloc[i-1]:
obv.append(obv[-1] + df['Volume'].iloc[i])
elif df['Close'].iloc[i] < df['Close'].iloc[i-1]:
obv.append(obv[-1] - df['Volume'].iloc[i])
else:
obv.append(obv[-1])
df['OBV'] = obv
# 量化判定'努力与结果背离': 成交量环比增幅 > 50% 且 价格涨幅 < 1.0%
df['Effort_No_Result'] = (df['Volume_Change_Pct'] > 50.0) & (df['Price_Change_Pct'] < 1.0)
print("================ 威科夫量价背离: 努力与结果检测 ================")
print(df[['Close', 'Price_Change_Pct', 'Volume', 'Volume_Change_Pct', 'OBV', 'Effort_No_Result']])
print("----------------------------------------------------------------")
stagnant_dates = df[df['Effort_No_Result']].index.strftime('%Y-%m-%d').tolist()
print(f"检测到'高位放量滞涨 (努力与结果背离)'日期: {stagnant_dates}")
print("量化启示: 成交量暴增而价格涨不动,暗示供应涌出与主力派发,需提前做好风控!")
print("================================================================")
if __name__ == "__main__":
demonstrate_wyckoff_effort_vs_result()运行结果输出:
================ 威科夫量价背离: 努力与结果检测 ================
Close Price_Change_Pct Volume Volume_Change_Pct OBV Effort_No_Result
2023-01-01 10.00 NaN 10000 NaN 0 False
2023-01-02 10.50 5.000000 12000 20.000000 12000 False
2023-01-03 11.20 6.666667 15000 25.000000 27000 False
2023-01-04 11.80 5.357143 18000 20.000000 45000 False
2023-01-05 11.90 0.847458 35000 94.444444 80000 True
2023-01-06 11.95 0.420168 42000 20.000000 122000 False
----------------------------------------------------------------
检测到'高位放量滞涨 (努力与结果背离)'日期: ['2023-01-05']
量化启示: 成交量暴增而价格涨不动,暗示供应涌出与主力派发,需提前做好风控!
================================================================本章小结
- 理性看待技术指标:指标是对基础行情的数学变换与特征提取,其有效性建立在投资者情绪与供需博弈的逻辑之上。
- 多维度低相关组合:构建多因子信号系统时,严禁同质化堆叠单一指标,必须在均线、趋势、摆动与能量四大家族间均衡分布。
- 掌握威科夫三大关系:供需失衡驱动价格、准备过程孕育趋势、努力结果衡量背离,三者是量化择时因子的核心底层逻辑。
📋 行动清单 (Action Checklist)
- 运行本讲放量滞涨检测代码,调整
Volume_Change_Pct与Price_Change_Pct阈值,观察背离敏感度; - 列出自己最常使用的 3 个技术指标,分析它们分别属于哪一分类家族,是否存在同质化;
- 阅读下一讲内容,掌握指数加权移动平均(EMA)在 MACD 指标中的数学推导公式。
— 小象教研组
配套学习资源与课件
🎁 免费学习资源
领取《小象 11GB VIP 课件资料包与大厂真题手册》
包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。
- ✔完整 Python / 数据分析 Jupyter 实战源码
- ✔大厂真实业务数据集与练习题
- ✔微信扫码添加课程顾问,免费获取网盘下载链接
微信扫码添加顾问