4.3.1.1 风险管理:活下来比赚钱重要
发布时间:2026/9/5 1:55:53 作者:尧图编辑部 阅读量:1,286

亏50%需要涨100%才能回本。——问你一个问题。你的策略年化收益20%。厉害吗厉害。但你的策略最大回撤60%。你能承受吗大部分人会说能我扛得住真扛得住吗账户从100万跌到40万。跌了60%。你看着屏幕。手心出汗。心跳加速。会不会继续跌要不要割肉会不会归零你睡不着觉。你吃不下饭。你半夜三点起来看美股。你扛得住吗扛不住。大部分人扛不住。——然后你割了。40万变成30万。亏了70%。第二天市场反弹。你的策略涨回来了。但你已经不在场了。你亏了70%。永远亏了。——这就是风险管理的意义。活下来。不是赚最多。是活下来。活着才有机会。死了什么都没了。——风险度量三个指标怎么衡量风险三个指标。最大回撤。VaR。CVaR。——最大回撤。从最高点到最低点的跌幅。你的账户从100万涨到150万。然后跌到80万。最大回撤是多少(80 - 150) / 150 -46.7%不是从100万算。是从最高点算。这是你承受的最大痛苦。——怎么计算// python# 计算累计收益曲线cumulative_returns (1 daily_returns).cumprod()# 计算历史最高点cummax cumulative_returns.cummax()# 计算回撤drawdown (cumulative_returns - cummax) / cummax# 最大回撤max_drawdown drawdown.min()print(f最大回撤: {max_drawdown:.2%})简单。但你必须算。不算你不知道自己会亏多少。——VaRValue at Risk。在95%的置信度下你一天最多亏多少VaR(95%) -5%意思是95%的情况下你一天亏损不会超过5%。但还有5%的情况呢可能亏10%。可能亏20%。可能亏50%。VaR告诉你正常情况下的最大损失。但不正常情况呢VaR不管。这就是VaR的局限。——怎么计算// python# 方法1历史模拟法var_95 daily_returns.quantile(0.05)print(f95% VaR: {var_95:.2%})# 方法2参数法假设正态分布import numpy as npfrom scipy.stats import normmean daily_returns.mean()std daily_returns.std()var_95 norm.ppf(0.05, mean, std)print(f95% VaR: {var_95:.2%})简单。但你要知道VaR的局限。它不告诉你黑天鹅会怎样。——CVaRConditional Value at Risk。在超过VaR的情况下你平均亏多少VaR(95%) -5%。意思是5%的情况下亏损超过5%。那这5%的情况下平均亏多少CVaR -8%。意思是在不正常情况下你平均亏损8%。这才是真正的风险。——怎么计算// python# 计算CVaRcvar daily_returns[daily_returns var_95].mean()print(fCVaR: {cvar:.2%})CVaR比VaR更保守。更真实。更值得关注。——风险承受力测试问你一个问题。你的账户从100万跌到70万。你怎么办A. 恐慌卖出。B. 持有不动。C. 加仓买入。选A你的风险承受力 20%。选B你的风险承受力 30%。选C你的风险承受力 40%。——大部分人选A或B。少部分人选C。选C的人要么是疯子要么是真正理解量化的人。为什么因为他们知道回撤是暂时的。策略是有效的。历史是验证过的。所以他们敢加仓。——你的风险承受力是多少根据你的答案选择对应的最大回撤限制。承受力 20%最大回撤限制15%。承受力 30%最大回撤限制25%。承受力 40%最大回撤限制35%。超过限制停止策略。重新审视。不要硬扛。硬扛的结果是割肉。割肉的结果是永久亏损。——2024微盘股踩踏讲个真事。2024年1月。微盘股崩了。一周跌40%。很多人的策略是买入最小市值的100只股票。回测年化30%。漂亮。但他们没想过如果微盘股集体崩了怎么办结果呢一周亏40%。最大回撤50%。很多人割肉了。割在最低点。然后市场反弹。但他们已经不在了。——这就是风险管理的意义。不是赚最多。是活下来。如果你的策略没有风控。早晚有一天你会遇到黑天鹅。黑天鹅来的时候你会亏到怀疑人生。然后割肉。然后永远亏。——怎么避免三个规则。规则一设置最大回撤限制。你的风险承受力是多少设定一个最大回撤。超过就停止。不停止你会硬扛。硬扛会割肉。割肉会永久亏损。规则二分散投资。不要全仓一只股票。不要全仓一个行业。不要全仓一个策略。分散。分散。分散。规则三压力测试。问自己如果市场跌30%我的策略会怎样如果流动性枯竭我的策略会怎样如果黑天鹅来了我的策略会怎样答不上来你的策略有隐患。——实操风险检查模块// pythonclass RiskManager:def __init__(self, max_drawdown0.25, var_confidence0.95):self.max_drawdown max_drawdownself.var_confidence var_confidenceself.peak 0def check_drawdown(self, current_value):检查最大回撤if current_value self.peak:self.peak current_valuedrawdown (current_value - self.peak) / self.peakif drawdown -self.max_drawdown:print(f警告最大回撤 {drawdown:.2%} 超过限制 {-self.max_drawdown:.2%})return Falsereturn Truedef check_var(self, returns):检查VaRvar returns.quantile(1 - self.var_confidence)print(f{self.var_confidence:.0%} VaR: {var:.2%})return vardef check_cvar(self, returns):检查CVaRvar self.check_var(returns)cvar returns[returns var].mean()print(fCVaR: {cvar:.2%})return cvar# 使用示例risk_manager RiskManager(max_drawdown0.25)# 每日检查if not risk_manager.check_drawdown(portfolio_value):stop_trading() # 停止交易简单。但你必须有。没有风控模块的策略是定时炸弹。——总结一下。风险管理干什么活下来。不是赚最多。是活下来。三个指标•最大回撤你的最大痛苦•VaR正常情况下的最大损失•CVaR不正常情况下的平均损失三个规则•设置最大回撤限制•分散投资•压力测试没有风控的策略是定时炸弹。早晚有一天你会遇到黑天鹅。黑天鹅来的时候你会亏到怀疑人生。然后割肉。然后永远亏。别做这种人活着才有机会。OVER。