python蒙特卡洛模拟欧式看跌_用于金融的python——蒙特卡洛法估计欧式看涨期权...

本文介绍了使用Python进行金融数据分析,特别是通过蒙特卡洛模拟方法来估算欧式看跌期权的价值。详细阐述了蒙特卡洛模拟的步骤,欧式期权的概念,以及B-S模型在期权定价中的应用。并提供了两种不同写法的Python代码示例,演示了如何计算期权的现值。
摘要由CSDN通过智能技术生成

本篇及接下来的几篇主要学习关于金融的python的基础语言、语法。

1.1《python金融数据分析》这本书一上来就举了一个金融现象——通过蒙特卡洛模拟方法模拟估计欧式看涨期权的价值(一步步慢慢来介绍)

1.1.1蒙特卡洛模拟方法(MATLAB课最近涉及了一些):可以把蒙特卡罗解题归结为三个主要步骤:构造或描述概率过程;实现从已知概率分布抽样;建立各种估计量。

详情看维基百科https://en.wikipedia.org/wiki/Monte_Carlo_method

1.1.2欧式期权:期权是一种金融合约,这一合约赋予其持有人在约定的时间以约定的价格买入或卖出标的资产的权利。期权的行权方式主要有美式期权和欧式期权。欧式期权指期权买方只能选择合约到期日行使权利,在合约到期日之前不能行权。

这个链接讲的美式期权与欧式的一些区别与利弊https://jingyan.baidu.com/article/c843ea0bd297dc77931e4afc.html

1.1.3看涨期权:指期权买入方按照一定的价格,在规定的期限内享有向期权卖方购入某种商品或期货合约的权利,但不负担必须买进的义务。看涨期权又称“多头期权”、“延买权”、“买权”。

看跌期权:指期权买方按照一定的价格,在规定的期限内享有向期权卖方出售商品或期货的权利,但不负担必须卖出的义务。看跌期权又称“空头期权”、“卖权”和“延卖权”。在看跌期权买卖中,买入看跌的投资者是看好价格将会下降,所以买入看跌期权;而卖出看跌期权方则预计价格会上升或不会下跌。

1.1.4B-S模型(Black-Scholes Option Pricing Model):参考https://wiki.mbalib.com/wiki/Black-Scholes%E6%9C%9F%E6%9D%83%E5%AE%9A%E4%BB%B7%E6%A8%A1%E5%9E%8B

已知BSM中期权潜在风险遵循几何布朗运动,

初始股票指数水平

欧式看涨期权的行权价格

到期时间

固定无风险短期利率

%

固定波动率

%

在BSM中,到期指数水平是随机变量,到期指数水平,z是标准正态的分布的随机变量

1.1.5蒙特卡洛估值过程的算法描述:

(1)从N(0,1)中取I个随机数z(i),i=1,2····I

(2)计算所有到期指数水平

(3)计算到期时期权的所有内在价值

(4)通过蒙特卡洛估算函数估计期权现值

代码

From *

当我们使用from * 的时候,会取得模块顶层左右赋值的变量名的拷贝。(就是方便不用一直写np.)

from numpy import *

S0=100

K=105

T=1.0

r=0.05

sigma=0.2

I=1000000

z=random.standard_normal(I)

ST=S0*exp((r-0.5*sigma**2)*T+sigma*sqrt(T)*z)

hT=maximum(ST-K,0)

c0=exp(-r*T)*sum(hT)/I

print(c0)

常规写法

import numpy as np

S0=100

K=105

T=1.0

r=0.05

sigma=0.2

I=1000000

z=np.random.standard_normal(I)

ST=S0*np.exp((r-0.5*sigma**2)*T+sigma*np.sqrt(T)*z)

hT=np.maximum(ST-K,0)

c0=np.exp(-r*T)*np.sum(hT)/I

print (c0)

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值