Derivative Pricing_1_Black
1. Stock Option wih divends
1.1 Task A
1.1.1 Calculate a ECO on a stock.
/Ex-dividend dates in 3 and 6 months, each dividend is expected to be 1;
/P0 = 80, K = 80, σ = 0.25 per annum, rf = 0.07; T = 1;
1.1.2 Process and results:
K <- 80
r <- 0.07
sigma <- 0.25
tau <- 1
# pv of expected dividends
d <- exp(-(tau/4) * r) + exp(-(tau/2) * r)
# stock price
S <- K - d
Deduct pv of dividends from S0 to arrive at purely random component of S0 which is 78.0517.
y <- (log(S/K) + (r - sigma^2 / 2) * tau) / (sigma * sqrt(tau))
cdfy <- pnorm(y)
cdfn <- pnorm(y + sigma * sqrt(tau))
# BS formula
C <- S * cdfn - (K * exp(-r * tau) * cdfy)
1.2 Task B
1.2.1 Calculate EPO using BSM model, assume that
/Continuously compounded dividend yield is 0.015;
/S0 = 100, K = 100, option expires in 275 days, volatility is 0.45;
/Continuously compounded rf = 0.03;
1.2.2 Process and results
# Adjust S0
GBSOption('p', 100 * exp(-0.015 * (275/365)), 100, 275/365, 0.03, 0.03, 0.45)
2. Black's Futures Option Model
2.1 Key parameter: S = F, b = 0;
2.2 Task: Need an option for an asset (futures price = 120), assume K = 100, T = 5, volatility = 20%, riskfree rate = 5%;
2.3 Process and results:
GBSOption('c', 120, 100, 5, 0.05, 0, 0.2)
3. Pricing Cap Using Black
3.1 Key parameter: S = F(n-1), b = 0;
3.2 Notes:
Interest rate caps are interest rate derivatives, where holder receives positive payments throughout periods if interest rate exceeds certain level (strike price, K).
Interest rate floors the holder wins if interest rate below K.
3.3 Task:
Need to pay USD LIBOR for 6 months to Alex between May and Nov 2020, so use caplet avoid interest rate risk.
Assume: the caplet on LIBOR rate with 2.5% strike price (i.e., if LIBOR > 2.5%, one period payoff = 0.5 * max[3% - 2.5%, 0]);
LIBOR follows Brownian Motion with 20% volatility;
forward rate between May and Nov = 2.2%;
spot rate = 2%;
3.4 Process and results:
GBSOption('c', 0.022, 0.025, 0.5, 0.02, 0, 0.2)
3.5 Comments
3.5.1 Still need to multiply the time interval 0.5 on 0.0003269133 to get 0.0001634567, if unit is million USD, the final price of caplet will be 163USD;
3.5.2 Cap is sum of caplets !!! % LIBOR changes all the time, example above is just a single caplet calculation, below is whole method. Now assume that:
we need a cap that pays if LIBOR > 2.5% in first 3m, or if LIBOR > 2% in following 3m;
forward LIBOR rate in May~Aug is 2.1%, in Aug~Nov is 2.2%;
GBSOption('c', 0.021, 0.025, 0.25, 0.02, 0, 0.2)
GBSOption('c', 0.022, 0.02, 0.25, 0.02, 0, 0.2)
# we seperately get two prices, each of them with time interval 0.25, so final price of cap is:
0.25 * (3.743394e-05 + 0.002179862)
0.000554324
So final price of cap will be 554USD.
4. Drawing Binomial Trees for Stock Option
4.1 Key parameter: b = r;
4.2 Assume:
Stock P0 = 900, K = 950, r = 0.02, T = 3m, Volatility = 0.22
4.3 Process and results:
tree <- BinomialTreeOption(TypeFlag = 'ce', S = 900, X = 950, 1/4, 0.02, b = 0.02, sigma = 0.22, n = 3)
BinomialTreePlot(tree, dy = 1, xlab = 'Time steps', ylab = 'number of up steps', xlim = c(0, 4))
title(main = 'European Call Option')
4.4 Comment:
This is CRR Binomial model, which converges to Black. Black Pricing is as below:
Derivative Pricing_1_Black的更多相关文章
- Derivative of the softmax loss function
Back-propagation in a nerual network with a Softmax classifier, which uses the Softmax function: \[\ ...
- Derivative of Softmax Loss Function
Derivative of Softmax Loss Function A softmax classifier: \[ p_j = \frac{\exp{o_j}}{\sum_{k}\exp{o_k ...
- XVII Open Cup named after E.V. Pankratiev Stage 14, Grand Prix of Tatarstan, Sunday, April 2, 2017 Problem A. Arithmetic Derivative
题目:Problem A. Arithmetic DerivativeInput file: standard inputOutput file: standard inputTime limit: ...
- The Softmax function and its derivative
https://eli.thegreenplace.net/2016/the-softmax-function-and-its-derivative/ Eli Bendersky's website ...
- matlab 提示 Continuous sample time is not supported by discrete derivative 错误的解决办法
Simulink仿真的时候,出行错误提示:Continuous sample time is not supported by discrete derivative 中文意思是:连续采样时间不支持离 ...
- [PE484]Arithmetic Derivative
题意:对整数定义求导因子$'$:$p'=1,(ab)'=a'b+ab'$,求$\sum\limits_{i=2}^n(i,i')$ 这个求导定义得比较妙:$(p^e)'=ep^{e-1}$ 推一下就可 ...
- 【找规律】【DFS】XVII Open Cup named after E.V. Pankratiev Stage 14, Grand Prix of Tatarstan, Sunday, April 2, 2017 Problem A. Arithmetic Derivative
假设一个数有n个质因子a1,a2,..,an,那么n'=Σ(a1*a2*...*an)/ai. 打个表出来,发现一个数x,如果x'=Kx,那么x一定由K个“基础因子”组成. 这些基础因子是2^2,3^ ...
- 共变导数(Covariant Derivative)
原文链接 导数是指某一点的导数表示了某点上指定函数的变化率. 比如,要确定某物体的速度在某时刻的加速度,就取时间轴上下一时刻的一个微小增量,然后考察速度的增量和时间增量的比值.如果这个比值比较大,说明 ...
- 求导四则运算以及三角函数求导 Derivative formulas
对特定函数的求导. 1:sin(x) 对其进行求斜率.带入公式得:[ sin(x+Δx)- sin(x)]/Δx = [ sinx*cosΔx + cosx*sinΔx -sin x ]/ Δx = ...
随机推荐
- Git远程推送和抓取分支
查看远程库信息 当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin.要查看远程库的信息,用git remote,或 ...
- Servlet映射细节
Servlet的映射细节: 1):一个Servlet程序(Web组件),可以配置多个<url-pattern>,表示一个Servlet有多个资源名称. <servlet-mappin ...
- C语言 排序算法
冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法.它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序(如从大到小.首字母从A到Z)错误就把他们交换过来. 过程演示: 选 ...
- pycharm连接数据库报错Access denied for user 'root'@'localhost' (using password:YES),以及wampserver 2/3个服务器正在运行 问题
使用mysql版本为mysql5.7,参考下列 https://blog.csdn.net/qq_32969455/article/details/79051932 https://blog.csdn ...
- 关于umask的计算方式(简单任性)
1.对于文件夹[d]来说 用755-umask 3.对与文件[f]来说,在2的基础上减掉x属性就完事儿(有x的,减掉1,没有的,就什么也不管) 再来个手绘版本的举例
- unittest和unittest2的区别差异、unittest2框架------执行原理
unittest和unittest2的区别差异 参考:https://pypi.org/project/unittest2/ unittest2是Python 2.7及更高版本中添加到unittest ...
- Spring Boot JWT 快速入门
本章节讨论 jwt 在 spring boot 中的应用.意在快速入门 jwt. java jdk1.8 maven 3.2+ spring boot 2.0+ JSON Web Token(JWT) ...
- 常用es5和es6语法区别,以及三个点的用法
链接:https://www.jianshu.com/p/b4d48e9846e7 //三个点 链接:https://blog.csdn.net/qiladuo1207/article/details ...
- Spring学习(十)
需要的jar包 1.Spring核心必须依赖的库:commons-logging-1.1.1.jar2.Spring IoC部分核心库: spring-beans-4.3.9.RELEASE.jar ...
- 吴裕雄 python 神经网络——TensorFlow 图像处理函数
import numpy as np import tensorflow as tf import matplotlib.pyplot as plt image_raw_data = tf.gfile ...