Pricing Models
Bruno.Models.price!
— Methodprice!(fin_obj<:CallOption, pricing_model::Type{<:Model};kwargs...)
Computes the value of a given financial object.
Syntax
price!(fin_obj, PricingModelType; kwargs...)
key word arguments vary depending on the Pricing Model Type.
Example
# create a base asset
a_stock = Stock(41; volatility=.3)
# create a European call option
a_fin_inst = EuroCallOption(a_stock, 40; risk_free_rate=.05)
# add binomial tree call value to the options value dictionary
price!(a_fin_inst, BinomialTree)
Bruno.Models.price!
— Methodprice!(fin_obj<:CallOption, pricing_model::Type{<:Model};kwargs...)
Computes the value of a given financial object.
Syntax
price!(fin_obj, PricingModelType; kwargs...)
key word arguments vary depending on the Pricing Model Type.
Example
# create a base asset
a_stock = Stock(41; volatility=.3)
# create a European call option
a_fin_inst = EuroCallOption(a_stock, 40; risk_free_rate=.05)
# add binomial tree call value to the options value dictionary
price!(a_fin_inst, BinomialTree)
Bruno.Models.price!
— Methodprice!(fin_obj<:CallOption, pricing_model::Type{<:Model};kwargs...)
Computes the value of a given financial object.
Syntax
price!(fin_obj, PricingModelType; kwargs...)
key word arguments vary depending on the Pricing Model Type.
Example
# create a base asset
a_stock = Stock(41; volatility=.3)
# create a European call option
a_fin_inst = EuroCallOption(a_stock, 40; risk_free_rate=.05)
# add binomial tree call value to the options value dictionary
price!(a_fin_inst, BinomialTree)
Bruno.Models.price!
— Methodprice!(fin_obj::Option, MonteCarlo{MonteCarloModel}; kwargs...)
computes the option price using Monte Carlo simulation methods with the MonteCarloModel specified. Note: Only European Options call be priced via Monte Carlo methods.
MonteCarloModel
types:
LogDiffusion
MCBootstrap
Keyword arguments
For LogDiffusion model
n_sims
: Number of simulations to be run. Default 100.sim_size
: The number of generated steps in each simulated run. Default 100.
For MCBootstrap model
n_sims
: Number of simulations to be run. Default 100bootstrap_method
: block bootstrap method to be used. Must be a subtype ofTSBootMethod
. Default=Stationary
Examples
prices = [1,4,3,4,2,5,6,4,7,5];
stock = Stock(prices);
call = EuroCallOption(stock, 8);
price!(call, MonteCarlo{LogDiffusion}; n_sims=50, sim_size=250)
price!(call, MonteCarlo{MCBootstrap}; bootstrap_method=CircularBlock, n_sims=10)