The BarrierSoft function calculates the theoretical price, sensitivities, the implied volatility, and the implied strike value of a European soft barrier option using a Hart and Ross model. This function evaluates DownandIn and DownandOut calls as well as UpandIn and UpandOut puts. See Barrier Options for a further explanation.
BarrierSoft 
(OptionType, ModelStatistic, Asset, Strike, LowerBarrier, UpperBarrier, TimeExpire, Volatility, InterestRate, YieldRate, MarketPrice, Monitoring, TimeFormat, InterestType, YieldType) 
Note: Optional arguments are shown in Italics. MarketPrice is not Optional for the Implied Calculations.
Argument 
Description 
OptionType 
Alphanumeric value indicating the type of option: •Down_In_Call = 1 or "dic" (DownandIn Call) •Down_Out_Call = 2 or "doc" (DownandOut Call) •Up_In_Put = 3 or "uip" (UpandIn Put) •Up_Out_Put = 4 or "uop" (UpandOut Put) 
ModelStatistic 
Numeric value indicating the type of function required for the return value: •Theoretical = 1 •Delta = 2 •Gamma = 3 •Theta = 4 •ImpliedVol = 5 •Vega = 6 •Rho = 7 •Psi = 8 •Lambda = 9 •StrikeSensitivity = 11 •ImpliedStrike = 13 
Asset 
The price of the underlying asset. Must be > 0. 
Strike 
The price at which the asset can be purchased if the option is a call or sold if the option is a put. Must be > 0. 
LowerBarrier 
The lower barrier price level. 
UpperBarrier 
The upper barrier price level. 
TimeExpire 
Time, expressed in either Days or Years (depending on the TimeFormat value), until the options expiration. Must be > 0. 
Volatility 
Annualized volatility of the underlying security. Must be > 0. 
InterestRate 
Riskfree interest rate expressed as a percentage. This rate is interpreted as a continuously compounded rate unless otherwise specified in the InterestType argument. Must be > 0. 
YieldRate 
Yield, expressed as a percentage (dividends or interest yield), of the underlying asset price. This rate is interpreted as a continuously compounded rate unless specified otherwise in the YieldType argument. 
MarketPrice 
Optional. The selling price of the option in the marketplace. This input is required when implied volatility and strike are calculated. Price must be > 0. 
Monitoring 
Optional. Alphanumeric value indicating the frequency of the barrier monitoring. If omitted, a ContinuousSample is used. 
TimeFormat 
Optional. Alphanumeric value indicating the format of the time arguments (i.e. TimeExpire). If omitted, Days are used as the default. Specified as either: •Days = 0 or "D" (case insensitive) •Years = 1 or "Y" (case insensitive) 
InterestType 
Optional. Alphanumeric value indicating the type of InterestRate to use when evaluating the option. This value is converted to Continuously Compounded for the calculations. If omitted, a Continuously Compounded rate is used. 
YieldType 
Optional. Alphanumeric value indicating the type of YieldRate to use when evaluating the option. This value is converted to Continuously Compounded for the calculations. If omitted, a Continuously Compounded rate is used. 
Example
Calculate all of functions for a downandIn soft barrier call option whose asset price 1 year from expiration is $23, the exercise price of the option is $20, the lower barrier is $18, the upper barrier is $25, the riskfree interest rate is 6.0% per annum, the yield rate is 4% per annum, and the annual volatility is 25%. The barrier monitoring and all of the rates are continuous. So, 
Input 

Output 

Variable 
Value 

Function 
Name 
Value 
OptionType 
1 (DownIn Call) 

1 
Theoretical: 
2.735612 
Asset 
23 

2 
Delta: 
0.475246 
Strike 
20 

3 
Gamma: 
0.072759 
LowerBarrier 
18 

4 
Theta: 
0.002247 
UpperBarrier 
25 

5 
Implied Vol.: 
0.292274 
InterestRate 
6% 

6 
Vega: 
0.059808 
YieldRate 
4% 

7 
Rho: 
0.090951 
TimeExpire 
1 

8 
Psi: 
0.118307 
Volatility 
25% 

9 
Lambda: 
3.995688 
TimeFormat 
Years 

11 
Strike Sensitivity: 
0.458993 
MarketPrice 
3 

13 
Implied Strike: 
19.444263 