6.3 随机价格序列
6.3.1 收益率服从正态分布的价格序列
现代的金融量化理论大多建立在有效市场的证券收益率服从正态分布的假设基础上。若随机变量X的概率密度函数为


其中σ>0,μ为分布的参数,则称X服从正态分布,记为X~N(μ,σ2),其期望E(X)=μ,方差var(X)=σ2。特别地,当μ=0,σ=1时,称X服从标准正态分布,记为X~N(0, 1)。
正态分布具有优良的数学性质,正态分布的和或差仍为正态分布,正态分布的倍数仍为正态分布。以正态分布为基础,金融量化的逻辑性严密很多。生成收益率服从正态分布的价格序列,首先生成服从正态分布的收益率序列,根据价格与收益率之间的关系,计算出相应的随机价格序列:
Pt=Pt-1x(1+Rt)=P0x(1+Rt)…(1+Rt)。
编写生成收益率服从正态分布的价格序列函数:
Price=RandnPrice(Price0,mu,sigma)
Price=RandnPrice(Price0,mu,sigma,N)
输入参数如下。
● Price0:初始价格。
● mu:正态分布均值。
● sigma:正态分布方差。
● N:随机数个数。
输出参数Price:收益率服从正态分布的价格序列。
函数RandnPrice.M代码如下:

上述函数中,nonnrnd为生成符合正态分布的随机序列,cumprod表示累乘。


6.3.2 具有相关性的随机序列
在实际问题中,组合的价格由多种资产构成,为测试策略的有效性就要生成多种资产各自的价格序列。若假设每种资产的相关系数为零,就可以直接反复使用RandnPrice函数,但这样的模拟忽略了资产之间的相关性。如何生成收益率服从正态分布且具有一定相关性的随机价格序列,下面引入RandnPriceWithCov 函数,其函数语法为:
Price=RandnPriceWithCov(Price0, mu, sigma, N)
输入参数如下。
● Price0:初始价格向量。
● mu:正态分布均值。
● sigrna:正态分布协方差矩阵。
● N:随机数个数。
输出参数Price:收益率服从正态分布的价格序列。
函数RandnPriceWithCov.M代码如下:


结果生成两个500个交易日收益率服从正态分布的价格序列,如图6-12所示。
