%% Price Binary Instrument Using Black-Scholes Model and Black-Scholes Pricer
% This example shows the workflow to price a Binary instrument when you use a BlackScholes model and a BlackScholes pricing method.
%% Create Binary Instrument Object
% Use fininstrument to create a Binary instrument object.

BinaryOpt = fininstrument("Binary",'ExerciseDate',datetime(2022,9,15),'Strike',1000,'PayoffValue',130,'OptionType',"put",'Name',"binary_option")

%
%% Create BlackScholes Model Object
% Use finmodel to create a BlackScholes model object.

BlackScholesModel = finmodel("BlackScholes",'Volatility',0.28)

%% Create ratecurve Object
% Create a flat ratecurve object using ratecurve.

Settle = datetime(2018,9,15);
Maturity = datetime(2023,9,15);
Rate = 0.035;
myRC = ratecurve('zero',Settle,Maturity,Rate,'Basis',12)

%% Create BlackScholes Pricer Object
% Use finpricer to create a BlackScholes pricer object and use the ratecurve object for the 'DiscountCurve' name-value pair argument.

outPricer = finpricer("analytic",'DiscountCurve',myRC,'Model',BlackScholesModel,'SpotPrice',800,'DividendValue',0.045)

%% Price Binary Instrument
% Use price to compute the price and sensitivities for the Binary instrument.

[Price, outPR] = price(outPricer,BinaryOpt,["all"])
outPR.Results 

% Copyright 2019 The MathWorks, Inc.