📑 查看全课大纲(第 7 / 59 节)
- 1.量化投资必备基础知识
- 2.趋势型策略及模型原理
- 3.均值回复型策略及模型原理
- 4.配对交易策略及模型原理
- 5.量化策略研发流程与基本技能
- 6.常用的量化平台概述及如何选择
- 7.如何量化一个主观策略思路
- 8.常用技术指标及指标计算过程
- 9.如何编写指标代码
- 10.指标的物理意义
- 11.技术指标的应用技巧
- 12.更多的交易决策
- 13.编写程序去量化一个趋势型技术指标
- 14.编写趋势型技术指标的性能评价
- 15.策略对交易成本和持仓周期的影响
- 16.股票池策略的原理及基本框架
- 17.基于多因子分析的股票池设计与实现
- 18.股票池的性能评估
- 19.使用定制化财务因子构建股票池
- 20.趋势型策略原理及股票池机制的设计
- 21.趋势型择时信号的设计方法与编程实现
- 22.趋势型策略的回测与性能评估
- 23.优化趋势型策略的思路及方法
- 24.量化体系中的风险控制思想
- 25.风险的度量-波动率
- 26.常用的风险控制方法
- 27.实现止盈止损模块以提高策略性能
- 28.策略性能的评估与优化
- 29.探讨波动率与风险的关系
- 30.量化策略中的经典资金管理模型
- 31.用python编程实现资金管理模块
- 32.构建一个完善的量化交易策略
- 33.趋势型量化策略必备的期货知识
- 34.期货量化工具介绍
- 35.商品期货趋势型策略原理
- 36.用TB编写商品期货趋势型策略(上)
- 37.用TB编写商品期货趋势型策略(下)
- 38.分析优化商品期货趋势型策略的方法思路
- 39.期货交易策略的注意事项
- 40.均值回复型策略的原理
- 41.A股市场有没有稳定的均值回复效应?
- 42.编写一个均值回复型股票量化策略
- 43.编写多空组合策略进行策略改进
- 44.在策略中实现头寸管理进行策略优化
- 45.套利策略原理及常见套利类型
- 46.用MC开发一个跨品种套利交易策略(上)
- 47.用MC开发一个跨品种套利交易策略(下)
- 48.统计套利之股票配对交易策略
- 49.实盘中的细节问题:加减仓
- 50.关于高频交易
- 51.如何评价实盘量化策略的性能
- 52.量化系统的工作过程及研发流程
- 53.运气or实力
- 54.量化实盘交易需要满足什么条件
- 55.未来函数的坑
- 56.实盘数据接口异常的自动报警
- 57.交易系统的压力测试
- 58.自动运行的交易策略,什么时候需要人工干预
- 59.预案准备和实盘心理建设
如何量化一个主观策略思路
约 9 分钟
📺 正在播放小象官方高清录播(支持倍速与清晰度调节)
如何量化一个主观策略思路
小象实战讲义 · 进阶量化交易实战:迭代式的量化策略研发 本讲义仅用于编程与量化方法教学,不构成任何投资建议。
在从人工主观交易向程序化量化交易跨越的征途中,绝大多数交易者面临的第一道天堑是语言与思维范式的转换。主观交易者习惯使用”放巨量”、“底部横盘突破”、“主力资金强势介入”或”质地优良的白马股”等充满主观色彩的描述。然而,在量化系统的世界里,计算机不理解模糊的形容词,也不存在虚无缥缈的盘感,代码的世界里只允许存在严格的定量数值、关系比较运算符(, , , , )与布尔逻辑组合(AND / OR / NOT)。本讲系统阐述如何将主观模糊经验彻底转化为可验证、无歧义、严谨的量化算法模型。
💡 核心导读
- 量化思维第一铁律:彻底消灭”形容词”与”模糊感觉”:
- 主观形容词 定量关系运算符:
- “放巨量” ;
- “低位窄幅横盘” ;
- “大阳线强势突破” ;
- 主观感觉 统计学概率与因子度量:
- “市场情绪高涨” 全市场换手率处于近 1 年 80% 分位以上且上涨家数占比 ;
- “公司质地优良” 且 扣非净利润连续 3 年增速 且 资产负债率 。
- 主观形容词 定量关系运算符:
- 主观交易系统量化转化的四大标准构件:
- 市场状态定义(Market Regime):通过波动率与均线斜率切分当前属于牛市、熊市或震荡市;
- 触发事件与入场判定(Entry Triggers):严密的时间戳与一阶差分金叉/突破判断;
- 退出矩阵(Exit Matrix):明确硬性止损线、跟踪止盈线与持仓时间上限(Time Stop);
- 头寸与风险预算(Position Sizing):根据 ATR 动态风险分配资金,坚决杜绝固定手数。
┌─────────────────────────────────────────────────────────────┐
│ 主观交易向定量算法转化四阶模型 │
└──────────────────────────────┬──────────────────────────────┘
│
┌───────────────┬─────────────┼─────────────┬───────────────┐
▼ ▼ ▼ ▼ ▼
┌─────────────┐ ┌───────────┐ ┌───────────┐ ┌───────────┐ ┌─────────────┐
│ 1. 状态定义 │ │ 2. 触发条件│ │ 3. 仓位管理│ │ 4. 退出矩阵│ │ 5. 算法闭环 │
├─────────────┤ ├───────────┤ ├───────────┤ ├───────────┤ ├─────────────┤
│ • 振幅<15% │ │ • 突破高点│ │ • CPR 模型│ │ • 跌破止损│ │ • 向量化 │
│ • 过滤杂波 │ │ • 放量>2x │ │ • 锁定1%风│ │ • 跟踪止盈│ │ • 杜绝未来函│
└─────────────┘ └───────────┘ └───────────┘ └───────────┘ └─────────────┘一、主观概念定量化映射字典
| 主观口语描述 | 致命缺陷 | 工业级量化严密定义 |
|---|---|---|
| “底部放量大涨” | 什么是底?多少算大? | 过去 60 日最低价上浮 10% 范围内,当日成交量超 20 日均量 2.5 倍,收盘涨幅 |
| “均线多头排列” | 几根均线?什么顺序? | 且 斜率大于 0 |
| “低估值高分红” | 缺乏绝对阈值标准 | 动态市盈率 且 股息率 且 过去 3 年连续分红 |
| “破位果断止损” | 极易受心理侥幸干扰 | 收盘价跌破建仓日前低(或跌破买入价向下 )毫秒级挂单清仓 |
import pandas as pd
import numpy as np
def check_ma_bullish_alignment(close_series):
"""
量化检测均线多头排列: MA5 > MA10 > MA20 > MA60 且 MA60 向上
"""
ma5 = close_series.rolling(5).mean()
ma10 = close_series.rolling(10).mean()
ma20 = close_series.rolling(20).mean()
ma60 = close_series.rolling(60).mean()
is_aligned = (ma5 > ma10) & (ma10 > ma20) & (ma20 > ma60)
is_ma60_rising = ma60 > ma60.shift(1)
return is_aligned & is_ma60_rising二、主观突破策略向自动化状态机重构
通过引入结构化有限状态机(FSM),将主观盯盘过程固化为无缝运行的程序:
def quantify_breakout_signals(df, box_len=20, vol_mult=2.0):
"""
标准量化箱体突破检测逻辑
"""
res = df.copy()
high_box = res['high'].rolling(box_len).max().shift(1)
low_box = res['low'].rolling(box_len).min().shift(1)
vma = res['volume'].rolling(box_len).mean().shift(1)
# 箱体收敛
box_width = (high_box - low_box) / (low_box + 1e-6)
is_consolidating = box_width < 0.15
# 放量突破
is_volume_spike = res['volume'] >= (vol_mult * vma)
is_price_breakout = res['close'] > high_box
res['buy_signal'] = is_consolidating & is_volume_spike & is_price_breakout
return res📝 动手练一练
下面我们用 Python 编写一段 主观策略定量化转换测试引擎,模拟验证如何将”底部放量突破”主观形态转化为 100% 确定性的计算机代码执行:
import pandas as pd
import numpy as np
def quantify_subjective_breakout_strategy(df):
"""
主观'底部放量突破'彻底定量化算法:
1. 底部箱体定义: 过去 20 日最高价与最低价振幅 < 15% (低波盘整)
2. 放巨量定义: 当日成交量 > 过去 20 日均量的 2.0 倍 (增量资金入场)
3. 快速突破定义: 当日收盘价突破过去 20 日最高价
"""
res = df.copy()
# 1. 20 日通道与振幅
res['high_20'] = res['high'].rolling(20).max().shift(1)
res['low_20'] = res['low'].rolling(20).min().shift(1)
res['box_amplitude'] = (res['high_20'] - res['low_20']) / (res['low_20'] + 1e-6)
# 2. 成交量放量倍数
res['vma_20'] = res['volume'].rolling(20).mean().shift(1)
res['vol_ratio'] = res['volume'] / (res['vma_20'] + 1e-6)
# 3. 定量化三元条件判定 (无任何形容词)
cond_box = res['box_amplitude'] < 0.15 # 箱体振幅 < 15%
cond_vol = res['vol_ratio'] >= 2.0 # 放量 >= 2.0 倍
cond_breakout = res['close'] > res['high_20'] # 突破过去 20 日高点
res['buy_signal'] = cond_box & cond_vol & cond_breakout
return res
def test_subjective_quant_run():
np.random.seed(42)
dates = pd.date_range("2023-01-01", periods=60, freq="B")
# 模拟前 30 日低波横盘 (10.0 ~ 10.8), 第 31 日放量 3 倍大阳线突破
p = np.concatenate([
np.random.uniform(10.0, 10.8, 30),
[11.5], # 突破日
np.linspace(11.6, 13.0, 29)
])
vol = np.random.uniform(5000, 10000, 60)
vol[30] = 25000.0 # 放量 3 倍
df = pd.DataFrame({
'open': p - 0.05,
'high': p + 0.10,
'low': p - 0.10,
'close': p,
'volume': vol
}, index=dates)
signals = quantify_subjective_breakout_strategy(df)
hits = signals[signals['buy_signal']]
print("================ 主观策略定量化转换测试报告 ================")
print(f"全周期 Bar 数量: {len(df)} 根 | 触发定量买入信号: {len(hits)} 次")
for dt, row in hits.iterrows():
print(f" - 触发日期: {dt.strftime('%Y-%m-%d')} | 价格: {row['close']:.2f} 元 | 箱体振幅: {row['box_amplitude']*100:.2f}% | 放量倍数: {row['vol_ratio']:.2f}x")
print("----------------------------------------------------------")
print("量化精髓: 策略代码中绝无形容词与主观感觉,只有清晰的数学关系与逻辑算子!")
print("==========================================================")
if __name__ == "__main__":
test_subjective_quant_run()运行结果输出:
================ 主观策略定量化转换测试报告 ================
全周期 Bar 数量: 60 根 | 触发定量买入信号: 1 次
- 触发日期: 2023-02-13 | 价格: 11.50 元 | 箱体振幅: 9.68% | 放量倍数: 3.36x
----------------------------------------------------------
量化精髓: 策略代码中绝无形容词与主观感觉,只有清晰的数学关系与逻辑算子!
==========================================================本章小结
- 坚持无形容词法则:任何模糊的主观直觉必须拆解为明确的数值区间与关系表达式。
- 构建四阶闭环架构:严谨定义状态、触发点、头寸风险与退出矩阵,杜绝盘中临时主观干预。
- 夯实第一章全景基石:完成多资产认知、趋势与均值回复原理、配对套利、研发流程与平台选型的全面筑基。
📋 行动清单 (Action Checklist)
- 运行本讲定量化测试代码,观察系统如何精准捕捉 2023-02-13 突破日的定量买点;
- 复盘第一章全部 7 篇讲义,建立完整的主观向定量化转型的知识图谱;
- 预习第二章《从技术的角度重新认识技术指标》,开启技术指标数学物理内涵与编程实现的深度进阶。
— 小象教研组
配套学习资源与课件
- 第1章课件:实战量化投资必备基础知识(PDF · 4.5MB)下载
🎁 免费学习资源
领取《小象 11GB VIP 课件资料包与大厂真题手册》
包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。
- ✔完整 Python / 数据分析 Jupyter 实战源码
- ✔大厂真实业务数据集与练习题
- ✔微信扫码添加课程顾问,免费获取网盘下载链接
微信扫码添加顾问