Package 'Jdmbs'

Title: Monte Carlo Option Pricing Algorithms for Jump Diffusion Models with Correlational Companies
Description: Option is a one of the financial derivatives and its pricing is an important problem in practice. The process of stock prices are represented as Geometric Brownian motion [Black (1973) <doi:10.1086/260062>] or jump diffusion processes [Kou (2002) <doi:10.1287/mnsc.48.8.1086.166>]. In this package, algorithms and visualizations are implemented by Monte Carlo method in order to calculate European option price for three equations by Geometric Brownian motion and jump diffusion processes and furthermore a model that presents jumps among companies affect each other.
Authors: Masashi Okada [aut, cre]
Maintainer: Masashi Okada <[email protected]>
License: GPL (>= 2)
Version: 1.4
Built: 2025-02-12 04:56:31 UTC
Source: https://github.com/jirotubuyaki/jdmbs

Help Index


correlation coefficients between all pair companies

Description

A dataset containing a matrix of correlation coefficients between all pair companies. 6 row and 6 col.

Usage

data

Format

An object of class function of length 1.


A Monte Carlo Option Pricing Algorithm for Jump Diffusion Model

Description

A Monte Carlo Option Pricing Algorithm for Jump Diffusion Model

Usage

jdm_bs(
  day = 180,
  monte_carlo = 1000,
  start_price = start_price,
  mu = mu,
  sigma = sigma,
  lambda = lambda,
  K = K,
  plot = TRUE
)

Arguments

day

: an integer of a time duration of simulation.

monte_carlo

: an integer of an iteration number for monte carlo.

start_price

: a vector of company's initial stock prices.

mu

: a vector of drift parameters of geometric Brownian motion.

sigma

: a vector of volatility parameters of geometric Brownian motion.

lambda

: an integer of how many times jump in unit time.

K

: a vector of option strike prices.

plot

: a logical type of whether plot a result or not.

Value

option prices : a list of (call_price, put_price)

Examples

jdm_bs(100,10,c(5500,6500,8000),c(0.1,0.2,0.05),c(0.11,0.115,0.1),2,c(6000,7000,12000),plot=TRUE)

A Monte Carlo Option Pricing Algorithm for Jump Diffusion Model with Correlational Companies

Description

A Monte Carlo Option Pricing Algorithm for Jump Diffusion Model with Correlational Companies

Usage

jdm_new_bs(
  correlation_matrix,
  day = 180,
  monte_carlo = 1000,
  start_price = start_price,
  mu = mu,
  sigma = sigma,
  lambda = lambda,
  K = K,
  plot = TRUE
)

Arguments

correlation_matrix

: a matrix of a correlation coefficient of companies

day

: an integer of a time duration of simulation.

monte_carlo

: an integer of an iteration number for monte carlo.

start_price

: a vector of company's initial stock prices.

mu

: a vector of drift parameters of geometric Brownian motion.

sigma

: a vector of volatility parameters of geometric Brownian motion.

lambda

: an integer of how many times jump in unit time.

K

: a vector of option strike prices.

plot

: a logical type of whether plot a result or not.

Value

option prices : a list of (call_price, put_price)

Examples

price <- jdm_new_bs(matrix(c(0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9),nrow=3, ncol=3),
                    day=100,monte_carlo=20, c(1000,500,500),
                    c(0.002, 0.012, 0.005),c(0.05,0.05,0.06), 3,
                    c(1500,1000,700),plot=TRUE
                   )

A Normal Monte Carlo Option Pricing Algorithm

Description

A Normal Monte Carlo Option Pricing Algorithm

Usage

normal_bs(
  day = 100,
  monte_carlo = 1000,
  start_price = start_price,
  mu = mu,
  sigma = sigma,
  K = K,
  plot = TRUE
)

Arguments

day

: an integer of a time duration of simulation.

monte_carlo

: an integer of an iteration number for monte carlo.

start_price

: a vector of company's initial stock prices.

mu

: a vector of drift parameters of geometric Brownian motion.

sigma

: a vector of volatility parameters of geometric Brownian motion.

K

: a vector of option strike prices.

plot

: a logical type of whether plot a result or not.

Value

option prices : a list of (call_price, put_price)

Examples

price <- normal_bs(100,10,c(300,500,850),c(0.1,0.2,0.05),c(0.05,0.1,0.09),c(600,700,1200),plot=TRUE)