📑 查看全课大纲(第 25 / 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.量化系统的完整研发和系统搭建
风险控制综述
约 16 分钟
📺 正在播放小象官方高清录播(支持倍速与清晰度调节)
风险控制综述:截断亏损与让利润奔跑
小象实战讲义 · 初阶量化交易:策略编写及系统搭建 本讲义仅用于编程与量化方法教学,不构成任何投资建议。
在投资界流传着一句历经百年市场牛熊淘洗的名言——“截断亏损,让利润奔跑(Cut losses short, let profits run)“。许多初学者误以为量化交易的圣杯在于寻找胜率高达 80% 以上的神奇预测指标;然而在专业量化对冲基金中,决定投资组合能否长期生存、穿越极端黑天鹅事件的真正核心,是严格的风险控制(Risk Control)体系。
本讲系统阐述风险控制在量化交易系统中的底层哲学地位;深度剖析**“火鸡故事”(反归纳黑天鹅与止盈逻辑)与”鳄鱼法则”(断臂求生与止损本质)** 两大经典风控寓言;并全面梳理目标盈利法、最大亏损法、技术信号止损与浮动跟踪止盈(Trailing Stop)的方法论体系。
💡 核心导读
- 风险控制的终极目标:保住本金与长期生存:
- 数学亏损对称性陷阱:亏损 50% 需要上涨 100% 才能回本,亏损 80% 需要上涨 400% 才能回本;
- 风控的核心职责:在市场极端不利时,通过程序化纪律强制平仓,确保单次或单周亏损被锁定在可承受的微小阀值内,杜绝账户发生永久性本金损失。
- 两大经典寓言背后的量化启示:
- 火鸡的故事(The Turkey Problem / 塔勒布黑天鹅):
- 火鸡被农夫喂养了 1000 天,每天都在通过经验归纳证明”农夫是友善的”,直到感恩节前一天归纳法彻底破产;
- 量化启示:过去的平稳盈利不代表未来没有断崖风险,当市场估值与波动率过度亢奋累积时,必须通过**目标止盈(Take-Profit)**果断落袋为安;
- 鳄鱼法则(The Crocodile Rule):
- 假定一只鳄鱼咬住了你的脚,若你用手试图去掰开鳄鱼的嘴,鳄鱼便会顺势同时咬住你的手与脚;你越挣扎,被咬得越深;
- 量化启示:唯一生存法则就是牺牲一只脚(立刻止损离场)。切忌在破位亏损时盲目主观抗单或加仓摊平,必须严格执行量化止损。
- 火鸡的故事(The Turkey Problem / 塔勒布黑天鹅):
- 三大经典止盈止损量化模型:
- 固定比例止盈 / 止损(Fixed Target & Stop):以买入成本为基准,上涨达到 止盈,下跌达到 止损;
- 技术信号止盈 / 止损(Signal-based Exit):跌破关键支撑位或发生均线死叉时离场;
- 浮动/跟踪止盈(Trailing Stop):从买入后的历史最高价格回撤达到指定比例(如 )时触发止盈,兼具锁利与让利润充分奔跑的特性。
┌─────────────────────────────────────────────────────────────┐
│ 量化交易风控决策金字塔 │
└──────────────────────────────┬──────────────────────────────┘
│
┌─────────────────────────────┼─────────────────────────────┐
▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ 1. 目标盈利法 │ │ 2. 鳄鱼法则止损 │ │ 3. 浮动跟踪止盈 │
├──────────────────┤ ├──────────────────┤ ├──────────────────┤
│ • 达到目标收益率 │ │ • 触碰最大亏损线 │ │ • 记录持仓最高点 │
│ • +15% 自动落袋 │ │ • -5% 强制清仓 │ │ • 顶峰回撤 8% 离场│
│ • 防范火鸡黑天鹅 │ │ • 拒绝侥幸抗单 │ │ • 锁定大部分盈利 │
└──────────────────┘ └──────────────────┘ └──────────────────┘一、为什么风控需要程序化而非人工主观?
行为经济学(Prospect Theory)表明,人类天生存在**“损失厌恶(Loss Aversion)“与”处置效应(Disposition Effect)”**:
- 赚钱时急于卖出(害怕浮盈回吐),亏损时死扛不卖(幻想回本);
- 量化风控的最大价值,在于用冷酷的计算机代码剥离人性的贪婪与恐惧,实现规则触发即 100% 毫秒级无条件执行。
二、四大止盈止损方法全景对比
| 风控方法 | 触发判定规则 | 优点 | 潜在代价 |
|---|---|---|---|
| 目标盈利法 | 锁定既得利润,防范极端逆转 | 可能错失超级大牛股后续主升浪 | |
| 最大亏损法 | 严格截断单笔最大亏损风险 | 震荡市中可能被局部洗盘打出止损 | |
| 跟踪止盈法 | 让利润最大化奔跑,动态锁定顶峰收益 | 离场点位略低于最高点 | |
| 技术信号法 | 价格跌破均线或支撑位 | 顺应市场趋势结构变化 | 指标本身存在一定滞后性 |
📝 动手练一练
下面我们用 Python 编写一段 固定止盈与固定止损双轨风控评估脚本,通过「冲高止盈」与「破位止损」两个独立场景,演示风控系统如何在触发离场信号的当刻立即终止监控、退出持仓状态机,杜绝同一笔持仓被重复报单:
import pandas as pd
import numpy as np
def evaluate_risk_control(entry_price, current_prices, take_profit_pct=0.15, stop_loss_pct=0.05):
"""
固定止盈 (Take Profit) 与 固定止损 (Stop Loss) 双轨风控引擎
- 目标止盈线: entry_price * (1 + take_profit_pct)
- 硬性止损线: entry_price * (1 - stop_loss_pct)
- 离场信号触发后立即 break: 同一笔持仓只执行一次离场动作, 绝不重复报单
"""
tp_price = entry_price * (1.0 + take_profit_pct)
sl_price = entry_price * (1.0 - stop_loss_pct)
records = []
for p in current_prices:
ret = (p - entry_price) / entry_price * 100.0
if p >= tp_price:
action = "TAKE_PROFIT (止盈离场)"
elif p <= sl_price:
action = "STOP_LOSS (鳄鱼法则止损)"
else:
action = "HOLD (持仓观察)"
records.append({'Price': p, 'Return_Pct': ret, 'Action': action})
# 风控状态机关键纪律: 触发离场即终止对这笔持仓的监控
if p >= tp_price or p <= sl_price:
break
df = pd.DataFrame(records)
print(f"买入成本价: {entry_price:.2f} 元 | 止盈目标价(+{take_profit_pct*100:.0f}%): {tp_price:.2f} 元 | 止损底线(-{stop_loss_pct*100:.0f}%): {sl_price:.2f} 元")
return df
def test_risk_run():
entry = 10.0
print("================ 场景一: 冲高止盈轨迹 ================")
# 模拟买入后价格冲高, 在 11.6 元触发止盈 (此后 11.2/10.9 与本笔持仓无关)
prices_up = [10.2, 10.8, 11.6, 11.2, 10.9]
res_up = evaluate_risk_control(entry, prices_up, take_profit_pct=0.15, stop_loss_pct=0.05)
print(res_up)
print("\n================ 场景二: 破位止损轨迹 ================")
# 模拟买入后价格破位, 在 9.4 元触发止损 (8.8/8.2 不再被重复记录)
prices_down = [9.8, 9.4, 8.8, 8.2]
res_down = evaluate_risk_control(entry, prices_down, take_profit_pct=0.15, stop_loss_pct=0.05)
print(res_down)
print("------------------------------------------------------------")
print("量化启示: 触发离场信号后立即 break——11.6 元止盈落袋后不再盯盘, 9.4 元止损后 8.8 元的重复报单被彻底阻断!")
print("============================================================")
if __name__ == "__main__":
test_risk_run()运行结果输出:
================ 场景一: 冲高止盈轨迹 ================
买入成本价: 10.00 元 | 止盈目标价(+15%): 11.50 元 | 止损底线(-5%): 9.50 元
Price Return_Pct Action
0 10.2 2.0 HOLD (持仓观察)
1 10.8 8.0 HOLD (持仓观察)
2 11.6 16.0 TAKE_PROFIT (止盈离场)
================ 场景二: 破位止损轨迹 ================
买入成本价: 10.00 元 | 止盈目标价(+15%): 11.50 元 | 止损底线(-5%): 9.50 元
Price Return_Pct Action
0 9.8 -2.0 HOLD (持仓观察)
1 9.4 -6.0 STOP_LOSS (鳄鱼法则止损)
------------------------------------------------------------
量化启示: 触发离场信号后立即 break——11.6 元止盈落袋后不再盯盘, 9.4 元止损后 8.8 元的重复报单被彻底阻断!
============================================================本章小结
- 牢记截断亏损铁律:数学亏损具有极度不对称性,必须用程序化硬性止损杜绝侥幸抗单。
- 警惕火鸡黑天鹅:不可依赖历史平稳表象,当利润达到预期或泡沫积聚时适时止盈。
- 程序化执行战胜人性:量化系统的核心优势在于摒弃主观情绪纠结,严格按既定风控阈值机械化执行。
📋 行动清单 (Action Checklist)
- 运行本讲风控评估代码,测试将止损比例调整为 3% 与 8% 时的触发表现;
- 检视自己历史交易记录,统计是否存在单笔严重亏损吞噬全月利润的非理性操作;
- 预习下一讲,深入学习浮动/跟踪止盈(Trailing Stop)与均线技术止损的工程实现。
— 小象教研组
配套学习资源与课件
🎁 免费学习资源
领取《小象 11GB VIP 课件资料包与大厂真题手册》
包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。
- ✔完整 Python / 数据分析 Jupyter 实战源码
- ✔大厂真实业务数据集与练习题
- ✔微信扫码添加课程顾问,免费获取网盘下载链接
微信扫码添加顾问