1,有一个执行价格为50元,期权价格为6元的看跌期权和另外一个执行价格为60元,期权价格为10元的看涨期权,它们标的股票和到期日均相同。试画出以下投资组合策略的利润函数曲线。

  1. 买入1个看跌期权和1个看涨期权
  2. 买入2个看跌期权和1个看涨期权
  3. 买入3个看跌期权和1个看涨期权
  4. 3条线在同一价格S处相交,求此价格
  1. 运算思想:

第1、2、3小问是在确定价格的情况下,不同的期权组合实质上就是净损益组合;第4小问是在三种期权组合的收益相同时,求执行价格。

(2)运算代码:

#任务一第一、二、三题
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as pltimport matplotlib as mpl
mpl.rcParams["font.sans-serif"]=["SimHei"]
mpl.rcParams["axes.unicode_minus"]=False
#看涨
S1=10
K1=60
ST1=np.linspace(0,100,50)
X1=S1
H1=np.maximum(ST1-K1,0)-X1
plt.plot(ST1,H1)#看跌
S2=6
K2=50
ST2=np.linspace(0,100,50)
X2=S2
H2=np.maximum(K2-ST1,0)-X2
#画图
plt.plot(ST2,H2)
plt.plot(ST2,H1+H2)
#plt.plot(ST2,H1+2*H2)
#plt.plot(ST2,H1+3*H2)plt.grid()
plt.title('买入三个看跌和一个看涨期权的盈亏')
plt.axhline(0,color='r',linestyle="--",alpha=0.8)
plt.legend(loc=1)
plt.xlabel(' 最终股价')
plt.ylabel(' 盈利(美元)')

第四小问:

(3)运算结果:

第一问:

第二问:

第三问:

第四问:

2.某股票当前价格为40元,期末可能上涨20%(即到48元),也可能下跌10%(即到36元)。无风险债券利率3%,债券当前价格为1元,现分别有1份看涨期权和看跌期权,执行价格均为X=45元,期限一年,计算该看涨/看跌期权的价格,并检验期权平价公式。

(1)运算思想:

①根据布莱克-斯科尔斯期权定价模型进行看涨看跌期权价格的运算。

看涨期权价格公式:

看跌期权价格公式:

②数据预处理:

波动率通常定义为价格连续复利收益率的标准差,本次定价过程中标准差:

sigma=0.5*48+0.5*36=42

σ平方= 0.5*0.5*(48-42)*(48-42)+0.5*0.5*(36-42)*(36-42)=18

σ =4.242

(2)代码:

(3)运行结果:

实验感悟:

通过本次实验,我们加深了对于期权平价公式的理解。第一题不同的投资组合带来的不同利润,使我们学习到不同预期、对风险承受能力不同的情况下,选择合适的投资组合至关重要,需要考虑到风险和收益的均衡。Python中的可视化操作使定价过程、利润获取非常直观,这提醒了我们要注意巩固作图的能力。第二题对B-S模型的运用,N(d)模型(标准正态分布小于d的概率)的构造,展现了期权定价和编程密不可分,仅靠人力是无法计算出N(d)。通过不断的做实验,我们金融工程学科、投资学学科的原理、方程都得到了运用,我们切实体会到了金融行业对于编程的要求。

第五节 B-S看涨看跌期权定价相关推荐

  1. 第五节 RabbitMQ在C#端的应用-消息收发

    原文:第五节 RabbitMQ在C#端的应用-消息收发 版权声明:未经本人同意,不得转载该文章,谢谢 https://blog.csdn.net/phocus1/article/details/873 ...

  2. 【java】兴唐课程第五节到第九节知识点总结

    第九节 1. 代码:void readBook(String- bookNames) 表示不确定参数的个数,此时变量为一个数组. 2.当方法中的参数名称(如stuname)和属性名称相同时. this ...

  3. Simulink仿真 第五节 复用器和分路器

    第五节 复用器和分路器 1.复用器(将多个输入信号合并为矢量) Mux 模块可将其输入合并为单个矢量输出.输入可以是标量或矢量信号.所有输入都必须具有相同的数据类型和数值类型.矢量输出信号元素采用输入 ...

  4. Python编程基础:第五十五节 map函数Map

    第五十五节 map函数Map 前言 实践 前言 map函数的作用是将指定函数作用于一个可迭代对象内部的每一个元素,其表达方式为map(function, iterable),第一个位置指定作用函数,第 ...

  5. Python编程基础:第四十五节 方法链Method Chaining

    第四十五节 方法链Method Chaining 前言 实践 前言 方法链是指一个对象一次调用其自身的多个方法,通常写作对象.方法1.方法2.由于这种调用方法看起来像一个链条,所以我们将其称作方法链. ...

  6. Python编程基础:第三十五节 文件删除Delete a File

    第三十五节 文件删除Delete a File 前言 实践 前言 我们这一节来介绍如何删除一个文件,这里需要用到函数os.remove(path)用于删除指定路径下的文件,os.rmdir(path) ...

  7. Python编程基础:第二十五节 args参数*args

    第二十五节 args参数*args 前言 实践 前言 我们目前学习到的函数的参数个数都是固定的,那么我们是否可以指定任意多个参数呢?其实是可以的,这里就用到了args参数,它可以将用户指定的任意多个参 ...

  8. Python编程基础:第十五节 二维列表2D Lists

    第十五节 二维列表2D Lists 前言 实践 前言 列表中的元素可以是任何形式,整型.浮点型.字符串型,甚至是一个列表.当列表的元素也是列表时,我们将其称为二维列表. 实践 我们先来创建多个一维列表 ...

  9. Python编程基础:第五节 用户输入User Input

    第五节 用户输入User Input 前言 实践 前言 为了方便于程序与用户进行交互,我们通常需要获取用户的键盘输入,这里我们就需要用到input()函数.需要注意的是,函数的返回结果均为字符串,如果 ...

  10. 第五节 面向对象相关特性

    第五节  面向对象相关特性 1.命名空间 namespace xueyuan; 2.创建类 class Hello {public function sayHello(){echo "hel ...

最新文章

  1. Ubuntu使用远程桌面
  2. regasm注册com组件
  3. 专业实训题目需求分析
  4. Maven项目不能编译jsp解决方法:Unable to compile class for JSP
  5. 2021暑假每日一题 【week5 完结】
  6. 学习《深度学习入门:基于Python的理论与实现》高清中文版PDF+源代码
  7. Mysqldump命令参数介绍
  8. php pjax数据返回,如何将Pjax整合进网站,实现全站无刷新加载?
  9. 用Java模仿简单的Ping命令
  10. C++低级程序设计支持规则
  11. 图像变换--灰度切割、位图切割
  12. CRNN+CTC (基于CTPN 的end-to-end OCR)
  13. 图画日记怎么画_画画日记(通用10篇)
  14. COMRaider自带vul.dll成功总结
  15. 如何给服务器文件设置权限,如何设置服务器文件权限
  16. 常见英文缩写小节-江晚正愁余-iteye技术网站
  17. vimscript:编写Vim脚本
  18. centOS7的vi中如何使用汉语拼音和五笔
  19. 原生js实现上拉加载
  20. 地理空间索引实现:z 曲线、希尔伯特曲线、四叉树, 最邻近几何特征查询、范围查询

热门文章

  1. @Aspect不生效
  2. Word也能制作座位表?掌握这个技巧安排座位不慌乱
  3. 关于:使用 OCT 自定义部署 Office 2007-2016
  4. BUAA(2021春) 北京地铁乘坐线路查询——Dijkstra和Floyd双解法
  5. 北京地铁拥挤度实时查询
  6. [面试题]1000瓶毒药里面只有1瓶是有毒的,问需要多少只老鼠才能试出那瓶有毒。
  7. java 错误声音播放器_JavaME 声音播放器的使用
  8. 美国卡内基梅隆大学计算机科学生源质量,卡内基梅隆大学2020新生数据,计算机学院录取率堪比藤校!...
  9. 有赞搜索系统的架构演进
  10. ae 渲染 计算机内存不足,AE内存不足怎么办? After Effects内存不足【解决方法】...