随机变量是根据偶然性取值的变量。我们在谈到随机变量时,通常是以“概率分布”的形式来描述他们。也即:随机变量落在每一个可能的值上的概率。典型的例子就是掷骰子,它有着同等的概率生成数字1到6。
一般我们会把随机变量划分为两类:
1、离散型随机变量
2、连续型随机变量
处理这两类随机变量的方式有所不同,但他们依据的原理是相同的。我们很容易便能看到基于随机变量的模型在金融领域是如何派上用场的:金融资产价格的波动(这里指股价),常常按照“确定模型”和“随机模型”两者之一来解读。而随机模型是通过随机变量来表示。在随机模型中,我们在每个时间单位对随机变量进行采样,根据这些采样结果得到随机模型的参数,从将其作为一种金融工具来预测股价的变动。使用这种分析模式,是因为金融资产中的大部分价格波动无法通过确定性模型给出合理的解释。
随机变量遵从“概率分布”的,它是用来描述随机变量的函数。这个概率分布函数囊括了随机变量所有可能的取值情况下,所对应的概率。对于给定的随机变量 X ,我们用符号P(X = x)表示随机变量 X = x 的概率。对于离散型随机变量,我们可以进一步简写为 p(x) 代替 P(X = x) 。这也被称为概率质量函数(probability mass function,以下简称 PMF )。而对于连续性随机变量我们不能使用 PMF ,这在后续章节会做进一步说明,我们只能使用概率密度函数 probability density function,以下简称 PDF )。概率分布函数又是 Black - Scholes 定价模型与二项式定价模型(典型的有资本资产定价模型 CAPM )的基础。同样的,如果你需要运算蒙特卡洛模拟,你也需要理解概率分布函数。
对于每个特定的概率分布函数( PDF ),都有与之对应的累计分布函数( CDF ),用符号 P(X ≤ x) 表示随机变量X小于等于某一特定值的概率,我们同样进一步简写为F(x) 代替 P(X ≤ x)。对于离散型随机变量,我们对所有自变量值 ≤x 时,对应的PDF概率值进行求和,得到 F(x) 的概率值;对于连续性随机变量,我们对所有自变量值 ≤x 时,对应的PDF曲线进行“积分”,得到 F(x) 的概率值。
离散型随机变量
离散型随机变量,是定义在一个可以穷尽的结果集中的变量。对于随机变量可能出现的值,都有一个单独的与之对应的概率。考虑一下抛硬币或是掷骰子,它们都是遵循最基本的等概率均匀分布的离散型随机变量。前者有两种可能出现的结果,正面或反面,对应发生的概率都是1/2。然而,离散型随机变量并非总是等概率分布的,而是由变量的概率质量函数p(x)决定的。函数为概率分布域中的每个点给出其可能出现的概率(质量)。
概率函数有两个基本属性:
1、0 ≤ p(x) ≤ 1
2、对于结果集中的所有情况,它们对应的概率之和为1
第一点,对于随机变量出现的所有可能情况(比如骰子中的点数:1、2、3、4、5、6),每种情况对应的概率一定介于 0(一定不出现)和 1(100%会出现)之间。
第二点,由于离散型随机变量结果集已经穷尽了所有可能出现的情况,因此总体来看,他们的并集是一个必然事件。(还是拿骰子举例:骰子每次投掷出现的结果必然是落在数字1到6之间,也就是100%会落在1到6中的某个数字。当数字1出现的概率为 1/6 时,意味着可能出现其他5个数字的概率为 5/6 )
下面我们来看一些比较著名的离散概率分布例子。
离散型随机变量的均匀分布
均匀分布是概率分布中最基本的类型。在离散型的均匀分布中,所有的结果都被赋予了同等权重(概率)。好比我们之前说的掷骰子,它有6个面,分别代表了从1到6不等的数字,每一个面可能出现的机会都是1/6。PMF就是取固定值的方式来表示:p(x) = 1/6 ,对于均匀随机变量 X 的所有可能出现的情况,均成立。
我们知道每次掷骰子,各个面出现的机会都是同等的。我们先进行了十次投掷并将结果绘制成上图所示,可以看到每个面出现的次数并不均匀(数字6出现了4次、数字五出现了2次,其他均出现了1次)。然后,我们逐步增加实验次数。随着掷骰子次数不断增加,各个面出现的次数将会显得越来越“均匀”,直到最后几乎相同。
在进行了10000次的实验后,我们可以很容易的发现:对于随机变量X可能出现的所有结果,其对应的概率p(x) = 1/6。进一步地,通过掷骰子实验,我们对其概率分布函数和累积分布函数总结如下:
通过上表,我们验证了概率分布函数符合了前文所说的2个基本条件:每一种结果(骰子点数)出现的概率都落在了 [0,1] 的区间内;CDF证明了对于结果集中的所有情况,它们对应的概率之和为1
这里我们再来具体说一下CDF,其同样具备两个属性:
1. 对于每个可能出现的结果 X = x,对应的 CDF 取值均落在 [0,1] 之间。这一点与 PDF 是相同的。
2. 对于每个可能出现的结果 X = x,对应的 CDF 取值呈现非下降趋势。也即保持递增或维持不变。
当尝试对其他非均匀类型的概率分布进行采样时,我们仍是由基于均匀分布的情况出发,按照某种相互组合的方式,获得合适的样本。由于这样采样会非常低效。我们将使用内建的Numpy函数来简化采样过程。
二项式分布
二项式分布被描述为“非成即败”,在投资领域中往往能派上大用场。因为我们做出的很多抉择都是基于此的二元选择。当我们进行单次的“成/败”实验时,我们把它叫做伯努利实验。对于伯努利实验中的随机变量,我们会得到两个可能的结果:
我们用Y = 1代表成功,在单次试验中成功事件发生的概率用 p 表示。因此,“失败”的概率是 1-p 。
二项式分布是通过进行 n 次伯努利实验得到的,实验中“成功”的次数落在 [0,n] 的整数之间。每一次伯努利实验中,“成功”的概率(p)是相同的,并且每次实验都是相互独立不受影响的。我们可以用 n 和 p 来描述整个二项式随机变量,用符号 X ~ B(n, p) 标记,意为:X 是有关参数 n 和 p 的二项式随机变量。
为了定义二项式随机变量的概率函数,我们需要能够从所有实验次数中选出“成功”的那部分。这个想法运用了组合论中的组合思想。这个组合是指从集合中选择项目的所有可能的方式,而无关乎选择的顺序。举例来说,如果我们有6个彩球,我们从中挑出2个,我们用$\binom{6}{2}$符号表示所有可能的组合,通过计算得到:
这里,! 表示阶乘,运算规则为:n ! = n (n-1) (n-2) ... 1。由此我们进一步得到了组合的通用计算公式:
我们使用上述符号的目的,是从二项式随机变量中选出所有可能的“成功”事件组合。选出这个组合的目的,是计算有多少种不同的方式可以达到相同的结果。所得概率函数为:
关于方程可以这样理解,我们先只考进行 n 次独立的伯努利试验,有 x 次成功的概率是:
在此基础上,我们再考虑要达到规定的成功次数,可能的组合有多少种(比如5次实验中成功3次,可以是第1,2,3次成功、第4,5次失败,或是1,3,5次成功、第2,4次失败等等),然后两者相乘即为概率结果。这里 $X$ 是基于伯努利分布 B(n, p) 的二项随机变量。
我们拿股价变动举例,无论股价上涨还是下跌,概率均为 p = 0.5 。我们把上涨认作“成功”,记作 U,下跌认作“失败”,记作D。这样,我们就能用二项随机变量来分析每一次实验“成功”的概率。考虑以下情况:我们进行 n=5 次“伯努利股价”实验:实验的内容是观察股价随时间推移,股价5个交易日的波动情况,上涨(“成功”)或是下跌(“失败”),下表显示了股价“成功”次数的概率分布:
观察表格结果,我们发现在 p = 0.50 时,二项分布 p(x) 是对称的。这是由于我们将股价上涨/下跌认为是等概率的事件,这里唯一影响概率大小的就是满足条件的“组合数”的多少,可以看到组合数一列自身也呈现对称。当我们对 p 值进行微调,将得到非对称的概率分布。
现在我们给出基于上述假设X~B(5, 0.5)的图形化展现结果:
再次的,在采样时,您所采集的样本越多(实验次数越多),得到的结果分布与理论上的就越一致:
假设我们修改参数,将概率调整为$p = 0.25$,那么要满足股价5天全部下跌的事件概率变为了:
这会使得我们的分布函数向着“股价上涨次数较少”的一侧移动。
将概率从 0.5 调整为 0.25 ,显然使得我们的二项分布变得非对称了。我们可以把这个伴随有二项式随机变量 x 的实验结果,进一步扩展到我们称之为“股价波动的二项式模型”的框架中。这是期权定价所用到的基础之一。在二项式模型中,假设任何给定的时间段内,股价向上/向下的移动,是由各自的概率来决定的。那么股票价格将转变为一个关于二项式随机变量的函数、股价上涨/下跌的幅度、以及初始股价的参数求解问题。我们可以改变这些参数,以便近似模拟不同的“股价分布情况”。
连续型随机变量
连续型随机变量不同于离散型随机变量,它存在无限多的结果(无限可分),这些结果无法被穷尽。我们给出某一个结果对应的概率是没有意义的(因为连续型随机变量产生的结果是无限的,落在任何一个“可能的结果”上的概率几乎都为0)。
为此,我们可以变换一种方式——给出落在结果区间范围上的概率,而非给出单个结果的概率,来解决这个问题。这个方法运用到了微积分。当然你无须太过担心技术方面的问题,本章介绍中由于我们使用到了采样技术,实际上并不会真正涉及到微积分的计算。
如前所述,讨论连续型随机变量为某个“结果”的概率,类似 P(X = 0), 是没有意义的。取而代之的,我们通常是会去给出随机变量落在某个区间范围内的概率,类似 P(-1 < X < 1)。不同于离散型随机变量使用概率质量函数来进行描述,对于连续型随机变量来说,我们定义了一个 概率密度函数(以下简称PDF),fx(x) ,因此我们可以得到:
之前已经提到过,离散型分布下,随机变量结果集对应的各自概率之和一定为 1。与之类似,这里我们要求:
值得注意的是,由于连续型分布中的每个点所对应的概率都为0,所以概率分布函数在某个区间范围边界点上的概率为0。因此你也就理解了下面的等式:
并且,如果 PDF 包含了连续型随机变量所有可能结果,那么对函数“积分”(对随机变量所有可能出现的结果的概率进行加总)得到的值应为1。
连续型随机变量的均匀分布
均匀分布也可在连续型随机变量的范围内给出定义。我们不妨设两个常数 a 和 b,分别代表了随机变量结果集范围中的最大值和最小值,那么随机变量的 PDF 就是:
因为函数是定义在连续的区间内,概率密度函数将会覆盖随机变量落在a 和 b之前所有的可能情况。
我们来通过图形化,观察一个连续型随机变量基于均匀分布的例子:
通过图示我们看到,连续型随机变量和离散型随机变量的均匀分布是相类似的:对于所有“可能的结果 / 结果区间”,概率都是恒定的。唯一的区别在于,讨论连续型随机变量在某一点上的概率是没有意义的。
由恒定值的概率密度函数出发,不难求得均匀分布的连续型随机变量,其累计密度函数为:
再次,我们通过图形化来观察一下:
连续型随机变量的正态分布
正态分布是统计学中最为重要和常见的一种分布。许多经典的统计检验方法,都是基于正态为假设的,这些检验方法被广泛应用于金融领域。
正态分布的背后有着中心极限定理(CLT)作为支撑,该定理指出,当独立试验的样本量足够多时,这些样本呈现正态分布。也正因此,正态分布常被用于某些交易算法策略之中。例如配对交易算法,通过搜索配对股票并对其协整化,并将配对股票之间的价差波动看做是服从正态分布,从而预测股价走势(配对交易会在后序章节进行介绍)。
谈到正态随机变量,我们一般通过均值和方差(标准差的平方)来进行描述。具体为,我们通过符号 X ~ N(μ, σ2) 来标记随机变量 X 是正态随机变量。在现代投资组合理论中,股票的涨跌幅通常被认为是服从正态分布的。正态随机变量的一个主要特性是:由多个正态随机变量通过线性关系叠加后形成的新随机变量,仍然是正态随机变量。基于这个特性,如果我们把含有多个股票的投资组合看做一个整体,那么它的收益率无疑是服从正态分布的(上一讲我们已经说过,单个股票的每日收益是服从正态分布的),计算平均收益和方差将会很有意义。
直到刚才,我们一直在讨论的是单个变量的概率分布。当我们想要一次性地描述多个随机变量时,就好像刚才谈到的投资组合中的多个股票那样,我们可以观察多变量分布(以下简称多元分布)。想要完整的描述多元正态分布,是通过对其中每一个变量统计均值、方差和显著相关性来实现的。多元正态分布的这些“统计描述”指标,对于确定投资组合的特征是至关重要的,因为整体投资组合的方差取决于其所包含的所有证券的方差及这些证券的相关性。
正态随机变量的概率密度函数表达式为:
随机变量的取值范围定义在:-∞ < x < +∞。当正态分布的参数均值μ = 0,并且标准差 σ = 1 时,我们称其为标准正态分布。
下面我们给出正态分布的图形化展现:
通过观察可以发现,正态分布呈现出类似“钟型”的曲线。通过改变正态分布的均值与标准差参数,我们可以改变钟型曲线的宽度与高度。随着标准差变大,钟型曲线会变得更扁平,意味着样本相对于均值的离散程度更大(图中绿线)。
在金融领域中,我们并不直接对股价进行正态分布的建模,而是对股票的日收益率进行建模。这是由于:股价永远是大于0的正数,而正态分布能够取得实数轴上的所有值,从这个角度来说,股价日收益率比股价本身更为适合用正态分布建模。在已知正态分布的均值与方差的前提下,我们可以得出以下结论:
当观测集服从正态分布时,
1、68%的观测值落在均值 ± 1个标准差的范围区间 (μ±σ)
2、95%的观测值落在均值 ± 2个标准差的范围区间 (μ±2σ)
3、99%的观测值落在均值 ± 3个标准差的范围区间 (μ±3σ)
这些结论对于后续理解置信区间是很重要的,后者与正态分布密切相关。当谈到样本分布的均值和方差时,我们往往会去观察“以均值为中心,向两侧延展开”的这些置信区间。
运用中心极限定理,我们能够对各种不同的随机变量进行标准化处理,将他们转变为正态随机变量。在统计学中有一个常用的工具——标准正态概率表,它能够根据给定的随机变量为某一值时(X = x),检索到标准正态累积密度函数对应的值 F(X ≤ x)。通过标准化转换为“正态随机变量”后,我们能够方便地对照着概率表检索到概率值。
具体操作上,我们对每一个样本采取“减去样本均值后,再除以样本标准差”的方式来实现标准化的过程,将随机变量 X 转变为正态随机变量 Z:
现在让我们先来看一个随机变量服从二项分布的例子 X ~ B(n, p)。二项式分布的均值 μ = np,方差 σ2 = np(1 - p):
接着我们将二项式随机变量 X 按照之前介绍的标准化方法转变为正态随机变量 Z:
这个“标准化转换”的方法非常重要。通过将随机变量转变为我们熟悉的分布 —— 正态分布,我们能够轻松地回答那些之前围绕原始变量的任何概率方面的问题。然而,前提是这依赖于足够大的样本量。
我们假定股票日收益率基于正态分布,不妨用 Y 来代表股价。我们将运用程序函数模拟股票日收益率,并将其可视化如下:
进一步地,此时我们引入另一个“股票 Z”,同样模拟出 Z 股票的日收益率(同样基于正态分布):
接下来,我们创建一个投资组合 W,构建方法是对股票 Y 和 Z 以加权平均的方式进行组合:
让我们把这三只“股票”放在一起对比观察一下:
注意,我们新构建的投资组合日收益率,也是正态分布的:
正态分布被广泛地应用于金融领域,尤其在风险管理与投资组合理论中,有大量的文献介绍了如何运用正态分布从风险分析到股价建模。
概率分布拟合
现在我们将尝试对股票日收益率进行概率分布拟合。我们取得特斯拉的日收益率数据,对其应用正态分布拟合。首先要检查的是,日收益率是否真的呈现概率分布的属性。为此,我们将使用 Jarque-Bera 检验,检验结果P值如果大于阈值,则服从正态分布。
从运行结果来看,过低的P值“拒绝”了正态分布的假设。通过上图我们可以发现,拒绝的原因是峰值太大(正态分布的峰值应为3)。
我们假设收益率是正态分布的,以便我们可以继续进行分布拟合。接下来我们计算出序列的样本均值与方差。
现在让我们来看一下,如何对这些样本实际值(股价收益率)进行理论上的正态曲线拟合:
如先前所说,正因为实际日收益曲线拥有“高峰值” 5.20 (高于正态分布要求的峰值3),因此并非是正态分布的。过高的峰值在图中以曲线的高度来体现。而进行正态分布拟合后,我们得到的“理论收益曲线”拥有比实际收益曲线低得多的峰值,这是符合逻辑的。
定价模型和收益率模型之所以建模困难,正是由于无法确定它们背后遵循何种概率分布。在金融领域,许多理论和框架都要求数据与正态分布相关,这也是为何正态分布如此普遍的原因。举例来说,Black-Scholes期权定价模型就假设了股价是基于对数正态分布的。然而在现实世界,寻找那些完美服从正态分布假设的真实数据,是非常困难的。在策略的实现上,你不应假设数据样本服从那些它们本不具备的分布规律,除非有很充分的理由。
一般来说,当尝试对真实数据进行概率分布拟合时,我们已经预先假设了其遵循某一种特殊的概率分布(或某几种特殊概率分布中的一种)。接下来我们会采用一系列的检测来决定哪一种分布假设是最合适的。另外,随着新的样本数据不断产生并加入进来,需要及时地更新均值与标准差的参数假设。甚至当这些新加入的样本足以影响原有的概率分布假设时(例如存在一个与原假设不同的概率分布假设,更符合新的样本数据时),予以替换。
应各位朋友建议,关注微信公众号“数据夕拾”,后台回复“随机变量”,获取独家中英原版PDF文档。