第11章 蒙特卡罗模拟和期权定价

风险和收益之间的平衡是金融领域的核心问题。金融风险往往源自未来的不确定性。例如,在评估项目未来的盈利时,必须预测在项目的生命周期里影响项目利润的许多因素,如年销售额、产品价格、原材料价格、员工工资增长率、通货膨胀率、借款成本、新增股权成本和其他经济与行业因素,等等。蒙特卡罗模拟可以用来模拟未来可能发生的事件及其结果。本章重点介绍蒙特卡罗模拟在期权定价中的应用,包括以下主要内容。

  • 产生服从标准正态分布和正态分布的随机数
  • 产生服从均匀分布的随机数
  • 利用蒙特卡罗模拟估算的值
  • 产生服从泊松分布的随机数
  • 可重复和不可重复的随机取样
  • 模拟服从对数正态分布的股票价格
  • 模拟股票价格变动路径及终端价格
  • 寻找有效的投资组合和有效组合的边界
  • 使用蒙特卡罗模拟计算欧式期权价格
  • 路径独立与路径依赖期权
  • 预测长期回报率
  • 奇异期权简介
  • 具有浮动执行价格的回望式期权的定价
  • Sobol序列

正态分布在金融计算中有着重要作用,主要因为许多金融理论包括期权理论的教学模型都假设股票回报率服从正态分布。以下两行代码产生服从标准正态分布的随机数。

>>>import scipy as sp
>>>x=sp.random.standard_normal(size=10)

NumPy模块的random()函数利用Mersenne Twister PRNG算法生成了SciPy/NumPy模块中的基本随机数。该随机算法运算速度相当快。使用print()函数来打印前几个值,代码如下。

>>>print(x[0:5])
[-0.55062594 -0.51338547 -0.04208367 -0.66432268 0.49461661]
>>>

也可以使用以下代码来产生标准正态分布的随机数。 ...

Get Python金融实战 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.