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 = ...
随机推荐
- ReLU 函数
线性整流函数(Rectified Linear Unit, ReLU),又称修正线性单元,是一种人工神经网络中常用的激活函数(activation function),通常指代以斜坡函数及其变种 为代 ...
- spring 基于XML的申明式AspectJ通知的执行顺序
spring 基于XML的申明式AspectJ通知的执行顺序 关于各种通知的执行顺序,结论:与配置文件中的申明顺序有关 1. XML文件配置说明 图片来源:<Java EE企业级应用开发教程&g ...
- dockerfile的编写参数
注意细节 “#”号开头是注释 ,指令不区分大小写,顺序执行 FROM 指定基础镜像:注意必须是文件里第一个非注释行 ENV name 值 设置变量,注意没有=号 变量引用 ${name:-chenxi ...
- 纯CSS实现吸顶效果
position的属性有哪些? { position: static; position: relative; position: absolute; position: fixed; pos ...
- Windows10+eclipse+hadoop2.7.1环境配置+wordcount-折腾笔记
刚用Ambari搭建好Hadoop,就开始写Hello World! 一.背景 1.Hadoop版本 经查看为2.7.1 Shell 1 2 3 4 5 6 7 [root@T ...
- python的matplotlib的热门可视化动图
1.图 2.代码 import pandas as pd import matplotlib as mpl import matplotlib.pyplot as plt import matplot ...
- 【转】django 三件套(render,redirect,HttpResponse)
Django基础必备三件套**: HttpResponse 内部传入一个字符串参数,返回给浏览器. from django.shortcuts import HttpResponse def inde ...
- SpringBoot学习笔记(一)——构建springboot项目
生成一个SpringBoot的项目 开发和学习SpringBoot需要一个生成好的SpringBoot项目. 1.可以使用一些IDE(Integrated Development Environmen ...
- 【PAT甲级】1047 Student List for Course (25 分)
题意: 输入两个正整数N和K(N<=40000,K<=2500),接下来输入N行,每行包括一个学生的名字和所选课程的门数,接着输入每门所选课程的序号.输出每门课程有多少学生选择并按字典序输 ...
- javaweb项目中web.xml配置文件的/和/*的区别
1.拦截"/",可以实现现在很流行的REST风格.很多互联网类型的应用很喜欢这种风格的URL.为了实现REST风格,拦截了所有的请求.同时对*.js,*.jpg等静态文件的访问也就 ...