随机过程对定量融资的许多方面都颇有用,包括但不限于衍生品订价,风险管理和投资管理。这些应用程序将在本文后面进一步详细讨论。本节介绍了量化融资中使用的一些流行的随机过程及其在Python中的实现。机器学习
模型参数类包含如下随机过程使用的全部参数。为了便于理解,这些参数的前缀是它们所用的随机过程的名称。随机过程的校准将涉及寻找与某些历史数据相符的参数值。工具
下面的代码使用Matplotlib来绘制一组随机过程。学习
布朗运动 是由悬浮在气体或液体中的颗粒表现出的随机运动。这种随机运动是由颗粒与液体或气体中的原子或分子碰撞引发的。布朗运动以植物学家罗伯特·布朗的名字命名,他观察了1827年的随机运动。 优化
在实践中,布朗运动不用于模拟资产价格。我将其包含在内,由于它是本文中讨论的每一个其余随机过程的基础。spa
def plot\_stochastic\_processes(processes, title): """ 此方法绘制具备指定标题的随机过程列表 :return:绘制两个图 """ plt.style.use(\['bmh'\]) fig, ax = plt.subplots(1) fig.suptitle(title, fontsize=16) ax.set_xlabel('Time, t') ax.set_ylabel('Simulated Asset Price') x_axis = numpy.arange(0, len(processes\[0\]), 1) for i in range(len(processes)): plt.plot(x_axis, processes\[i\]) plt.show()
如下是此方法生成的输出示例。code
def brownian\_motion\_log_returns(param): sqrt\_delta\_sigma = math.sqrt(param.all\_delta) * param.all\_sigma return nrand.normal(loc=0, scale=sqrt\_delta\_sigma, size=param.all_time) def brownian\_motion\_levels(param): return convert\_to\_prices(param, brownian\_motion\_log_returns(param))
几何布朗运动(GBM)由费舍尔布莱克和迈伦斯科尔斯推广,他们在1973年的论文“期权订价和公司负债”中使用它来推导出Black Scholes方程。几何布朗运动基本上是布朗运动,具备漂移份量和波动率份量。公式以下orm
其中是资产价格S在时间t的变化 ; μ是每一年预期的百分比漂移,dt表明时间,σ是资产价格中预期的每日波动率,Wt是Wiener过程,也称为布朗运动。以下所示,布朗运动代码用于几何布朗运动方法以构造Wt的序列。ip
如下是此方法生成的输出示例。请注意,平均而言,生成的路径随着时间的推移而向上漂移,而且可能的收盘价格变化较大。在这个例子中,路径以每一年14%的平均速率增加,所以预期收益率等于14%,分别为三年和一年(800天)。rem
使用几何布朗运动随机过程模拟资产价格。get
Robert C. Merton是最先解决Fisher Black和Myron Scholes提出的几何布朗随机过程当中一些局限性的学者之一。1997年,默顿和斯科尔斯因其工做得到了诺贝尔经济学奖。
其中是具备速率泊松过程λ和ÿ是对数正态分布的随机变量。
请注意,因为跳跃扩散过程引入了向下的不连续或跳跃,所以资产的平均预期收益率略低。
使用默顿跳跃扩散几何布朗运动随机过程模拟资产价格。
原始的几何布朗运动随机过程假设随时间的波动是恒定的。在1990年代早期,Steven Heston放宽了这个假设,并将几何布朗运动模型扩展到包括随机波动率。
请注意,随着时间的推移,资产价格会变得更加不稳定,从而致使潜在资产价格在预测结束时飙升。出现这种现象是由于我将长期平均波动率设定为远高于起始波动率的数字。
使用Heston随机波动率几何布朗运动随机过程模拟资产价格。
在COX INGERSOLL ROSS(CIR) 随机过程是用来描述一段时间的利率变化。
其中是Wiener过程,a是过程均值回复的速率(较大的数字致使更快的均值回复过程),b是长期平均利率,σ是过程的波动率。CIR随机过程以下。
利用Cox Ingersoll Ross均值回归随机过程模拟利率。
Ornstein Uhlenbeck过程以Leonard Ornstein和George Eugene Uhlenbeck命名。Ornstein Uhlenbeck随机过程与CIR过程之间的区别在于CIR过程将随机份量乘之前一个利率值的平方根。
其中是Wiener过程,a是过程均值回复的速率(较大的数字致使更快的均值回复过程),b是长期平均利率,σ是过程的波动率。
利用Ornstein Uhlenbeck均值回归随机过程模拟利率。
随机过程在量化金融中的最大应用是衍生品订价。
当对衍生品进行订价时,大多数量子将使用两种方法中的一种。要么为他们订价创建Black Scholes模型,要么他们将使用模拟方法来估计导数的值。这两种技术都严重依赖于使用随机过程来模拟底层证券。
===
Black Scholes模型用于在一组假设下对特定类型的衍生品合约进行订价。这些假设包括:(1)存在无风险利率,任何金额能够借入或借出,(2)基础价格根据几何布朗运动随机过程,(3)进化基础不支付股息,(4)市场上没有套利机会,(5)市场交易成本为零,(6)能够买入或卖出任何数量。
在这些假设下,能够导出着名的Black Scholes偏微分方程。
Black Scholes公式以及各类形式期权订价公式的推导,是过去三十年中衍生品交易所大量增加的主要缘由。
鉴于Black Scholes公式隐含的局限性和假设,一般采用蒙特卡罗方法(模拟)来为更少的简化假设。
这两个选项在计算复杂性和时间之间进行权衡。每次想要对导数进行订价时,使用模拟方法计算复杂度更高,可是为替代随机过程推导Black Scholes偏微分方程的“等价”更加耗时,而后仍然找到封闭形式的衍生品订价式。所以,大多使用模拟方法。
想要这样作的缘由以下图所示。事实上,你如何选择和校准你的随机过程将对期权的预期收益产生重大影响。
红色椭圆形显示市场跳跃的位置 。
===
套期保值是风险管理战略。可对冲风险包括股票风险,利率风险,货币风险,信用风险,波动风险和商品风险。套期保值是经过投资与投资组合中的基础负相关的资产来完成的。最简单的例子是在股票上买入看跌期权。当股票表现不佳时,看跌期权表现良好,而总体投资组合并无像没有对冲时那样糟糕。净效应是收益降低。
公司和基金将尝试肯定投资组合所面临的风险因素并对冲这些风险因素。
除了我上面提到的问题以外,还有一些额外的“现实世界”问题。一个例子是通常成本和套期保值程序的复杂性(套期保值可能很是昂贵)。对于组织而言,问题在于,在出现不利损失的状况下,对冲风险或仅仅保留更多资本是否更合理。近年来,诸如Solvency II和Basel III等法规要求银行,对冲基金和保险公司预留更多资金来支持其投资组合。储备一般保留在高流动性证券中,预期收益很低,如国库券。
随机过程对于描述咱们世界中的随机过程很是有用。它们用于工程,遗传学,物理学和定量金融。数量使用随机过程来预测市场可能的回报和利率随时间的变化。随机过程一般与蒙特卡罗方法结合使用。
最受欢迎的看法