第二章:风险与收益基础
各位同学,欢迎来到第二章。这一章我们聊聊最基础、也最容易被忽视的东西——风险与收益。
说实话,我刚入行那会儿,觉得量化投资就是找策略、写代码、跑回测。风险?不就是个数字嘛。直到有一次,我亲手把一个看似完美的策略推上线,结果市场风格一换,三天亏掉半年的利润。嗯,从那以后,我才真正开始敬畏「风险」这两个字。
2.1 风险的定义与类型
先问一个问题:什么是风险?
很多人第一反应是「亏钱的可能性」。这个答案对,但不全对。在金融学里,风险更准确的定义是:实际收益偏离预期收益的不确定性。说白了,就是「你猜不到结果会怎样」。
我个人习惯把风险分成两大类:
- 系统性风险:也叫市场风险,躲不掉的那种。比如金融危机、利率突变、战争。你买股票,大盘跌你也跌,这就是系统性风险。
- 非系统性风险:跟具体资产相关的风险。比如公司爆雷、行业政策变化。这类风险可以通过分散投资来降低。
我在项目中遇到过一位客户,重仓某只科技股,理由是「我看好这家公司的技术」。结果行业监管一出,股价腰斩。这就是典型的非系统性风险没管好。
再细一点,风险还可以分成:
- 价格风险:资产价格波动带来的风险
- 流动性风险:想卖的时候卖不掉
- 信用风险:交易对手违约
- 操作风险:系统故障、人为失误
2.2 收益的度量
收益怎么算?很多人觉得简单:赚了多少就是收益。但做量化,我们需要更精确的度量方式。
最常用的几个指标:
- 简单收益率:(期末价格 - 期初价格) / 期初价格。直观,但多期累加时会有偏差。
- 对数收益率:ln(期末价格 / 期初价格)。数学性质好,时间可加性,我平时做分析更爱用这个。
- 年化收益率:把不同周期的收益统一到一年。方便比较不同策略。
举个例子:
# 简单收益率 vs 对数收益率
import numpy as np
prices = [100, 105, 110, 108, 112]
simple_returns = [(prices[i] - prices[i-1]) / prices[i-1] for i in range(1, len(prices))]
log_returns = [np.log(prices[i] / prices[i-1]) for i in range(1, len(prices))]
print("简单收益率:", simple_returns)
print("对数收益率:", log_returns)
你看,短期两者差别不大,但拉长时间,对数收益率的累加更符合实际。
2.3 风险与收益的权衡
金融里有个铁律:高收益必然伴随高风险。这不是鸡汤,是数学。
你想想看,如果有一个策略能稳定年化20%且几乎没有回撤,那所有人都会把钱投进去,直到收益率被拉低到合理水平。所以,市场上不存在「低风险高收益」的免费午餐。
那怎么衡量这个权衡关系?
我个人最常用的指标是夏普比率:
夏普比率 = (策略收益率 - 无风险利率) / 策略波动率
说白了,就是「每承担一单位风险,能多赚多少超额收益」。夏普比率越高,说明策略的性价比越好。
| 夏普比率 | 评价 |
|---|---|
| < 0.5 | 一般,不如买理财 |
| 0.5 - 1.0 | 还不错,可以接受 |
| 1.0 - 2.0 | 优秀,值得关注 |
| > 2.0 | 极其罕见,小心过拟合 |
2.4 无风险利率与风险溢价
无风险利率,理论上是指「没有任何风险」的投资回报率。现实中,我们通常用短期国债收益率来近似。
为什么它重要?因为它是所有资产定价的锚点。
你想想看,如果无风险利率是3%,你投资股票只赚4%,那多出来的1%就是风险溢价——你承担额外风险换来的补偿。
风险溢价 = 资产预期收益率 - 无风险利率
这个溢价越高,说明市场认为这个资产的风险越大。
我在项目中遇到过一件事:2020年疫情初期,美股暴跌,风险溢价飙升到历史极值。那时候很多人恐慌抛售,但如果你冷静想想,高溢价意味着未来潜在回报也高。嗯,事后看,那确实是一个不错的入场点。
知识体系总览
下面这张图,是我自己梳理的本章知识结构。你可以把它当作一个思维导图来用。
这张图把本章四个核心模块串起来了。你可以看到,风险、收益、权衡、无风险利率,它们之间是相互关联的。做资产配置,本质上就是在这些要素之间找平衡。
好了,第二章就到这里。记住一句话:不懂风险,就别谈收益。下一章我们开始讲资产配置的经典模型,那才是真正动手的地方。
公众号:蓝海资料掘金营,微信deep3321