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的更多相关文章

  1. Derivative of the softmax loss function

    Back-propagation in a nerual network with a Softmax classifier, which uses the Softmax function: \[\ ...

  2. Derivative of Softmax Loss Function

    Derivative of Softmax Loss Function A softmax classifier: \[ p_j = \frac{\exp{o_j}}{\sum_{k}\exp{o_k ...

  3. 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: ...

  4. The Softmax function and its derivative

    https://eli.thegreenplace.net/2016/the-softmax-function-and-its-derivative/  Eli Bendersky's website ...

  5. matlab 提示 Continuous sample time is not supported by discrete derivative 错误的解决办法

    Simulink仿真的时候,出行错误提示:Continuous sample time is not supported by discrete derivative 中文意思是:连续采样时间不支持离 ...

  6. [PE484]Arithmetic Derivative

    题意:对整数定义求导因子$'$:$p'=1,(ab)'=a'b+ab'$,求$\sum\limits_{i=2}^n(i,i')$ 这个求导定义得比较妙:$(p^e)'=ep^{e-1}$ 推一下就可 ...

  7. 【找规律】【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^ ...

  8. 共变导数(Covariant Derivative)

    原文链接 导数是指某一点的导数表示了某点上指定函数的变化率. 比如,要确定某物体的速度在某时刻的加速度,就取时间轴上下一时刻的一个微小增量,然后考察速度的增量和时间增量的比值.如果这个比值比较大,说明 ...

  9. 求导四则运算以及三角函数求导 Derivative formulas

    对特定函数的求导. 1:sin(x) 对其进行求斜率.带入公式得:[ sin(x+Δx)- sin(x)]/Δx  = [ sinx*cosΔx + cosx*sinΔx -sin x ]/ Δx = ...

随机推荐

  1. C:类型限定符

  2. VMware 14 激活密钥

    VMware 14 激活密钥 FF31K-AHZD1-H8ETZ-8WWEZ-WUUVA CV7T2-6WY5Q-48EWP-ZXY7X-QGUWD

  3. ACM进阶之路

    第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码, 因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打 出来. 3.大数(高精度)加减乘除 ...

  4. 【转】直播流程,视频推流,视频拉流,简介,SMTP、RTMP、HLS、 PLPlayerKit

    原:https://www.cnblogs.com/baitongtong/p/11248966.html 1 .音视频处理的一般流程: 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放 ...

  5. python第四节【函数】

    函数 1. 函数 def greet_user(): """显示简单的问候语""" print("Hello") gre ...

  6. LA 3708 墓地雕塑(模拟)

    题目链接:https://vjudge.net/problem/UVALive-3708 这道题的思路也是比较难想. 首先根据上一题(Uva 11300)可知,要想让移动距离最短,那么至少要使一个雕塑 ...

  7. MySQL8.0.11安装后,使用CMD无法启动mysql服务

    首先,先把mysql的bin路径添加到系统环境变量 这样做可以,直接进入CMD后执行mysql服务,不需要进入mysql的bin文件路径去执行. 第一步:在MySQL的安装文件的bin目录(例如:C: ...

  8. C语言:利用指针解决:统计一个长度为2的字符串在另外一个字符串中出现的次数。

    //统计一个长度为2的字符串在另外一个字符串中出现的次数. #include <conio.h> #include <stdio.h> #include <string. ...

  9. C的精神

    信任程序员 不要妨碍程序员做需要做的事 保持语言精练简单 只提供一种方法执行一项操作 让程序运行更快, 即使不能保证其可移植性 在最后一点上, 标准委员会的用意是: 作为实现, 应该针对目标计算机来定 ...

  10. 爬虫必备工具-chrome 开发者工具

    在某个网站上,分析和抓取数据,我们用的最多的工具就是 Chrome 开发者工具 01 元素面板 通过元素(Element)面板,我们能查看发哦想抓取页面渲染内容所在的标签.使用什么 CSS 属性(例如 ...