## Real Options Analysis Toolkits Function Description for Excel

These functions are available for use in the full version of the Real Options Analysis Toolkit software. Once the full version is installed, simply click on Start, select Programs, then Crystal Ball and Real Options Analysis Toolkit. Next, select Functions. The software will be loaded into Excel, and the following models are directly accessible through Excel by typing them directly in a spreadsheet or by clicking on the Equation Wizard and selecting the Financial/All categories. Scroll down to the RO section for a listing of all the models.

1. American 3D Binomial Two Asset Call Option with Dual Strike Prices

This is a European option exercisable at termination, where the value of the option depends on two correlated assets with different implementation strike costs, calculated using a combination of multiple binomial lattices.

Function: RO3DBinomialAmericanCallDualStrike(1st Asset, 2nd Asset, 1st Quantity, 2nd Quantity, 1st Cost, 2nd Cost, Maturity Time, Riskfree, 1st Carrying Cost, 2nd Carrying Cost, 1st Volatility, 2nd Volatility, Correlation, Steps)

2. American 3D Binomial Two Asset Call Option on the Maximum

This is a European option exercisable at termination, where the value of the option depends on the maximum of two correlated underlying assets' values, calculated using a combination of multiple binomial lattices.

Function: RO3DBinomialAmericanCallMax(1st Asset, 2nd Asset, 1st Quantity, 2nd Quantity, 1st Cost, 2nd Cost, Maturity Time, Riskfree, 1st Carrying Cost, 2nd Carrying Cost, 1st Volatility, 2nd Volatility, Correlation, Steps)

3. American 3D Binomial Two Asset Call Option on the Minimum

This is a European option exercisable at termination, where the value of the option depends on the minimum of two correlated underlying assets' values, calculated using a combination of multiple binomial lattices. Function: RO3DBinomialAmericanCallMin(1st Asset, 2nd Asset, 1st Quantity, 2nd Quantity, 1st Cost, 2nd Cost, Maturity Time, Riskfree, 1st Carrying Cost, 2nd Carrying Cost, 1st Volatility, 2nd Volatility, Correlation, Steps)

4. American 3D Binomial Two Asset Portfolio Call Option

This is a European option exercisable at termination, where the value of the option depends on the portfolio effect of two correlated underlying assets' values, calculated using a combination of multiple binomial lattices.

Function: RO3DBinomialAmericanCallPortfolio(1st Asset, 2nd Asset, 1st Quantity, 2nd Quantity, 1st Cost, 2nd Cost, Maturity Time, Riskfree, 1st Carrying Cost, 2nd Carrying Cost, 1st Volatility, 2nd Volatility, Correlation, Steps)

5. American Call Option Approximation with a Single Dividend Payment

This American call option is based on a closed-form approximation of a call that can be exercised at any time up to and including its expiration date, and has a single lump sum dividend payment in the future prior to expiration.

Function: ROAmericanDividendCall(Asset, Cost, Dividend Time, Expiration Time, Riskfree, Volatility, Dividend)

6. American Long-Term Call Option Approximation with a Dividend Stream

This American call option is based on a closed-form approximation of a call, with a constant percent dividend stream and can be exercised at any time up to and including its expiration date.

Function: ROAmericanLongTermCall(Asset, Cost, Time, Riskfree, Carry, Volatility)

7. American Long-Term Put Option Approximation with a Dividend Stream

This American put option is based on a closed-form approximation of a put, with a constant percent dividend stream and can be exercised at any time up to and including its expiration date.

Function: ROAmericanLongTermPut(Asset, Cost, Time, Riskfree, Carry, Volatility)

8. Single Barrier Option: Down and In Call

This European single lower barrier call option is exercisable only at expiration. This call option becomes activated only when the asset value breaches a lower barrier.

Function: ROBarrierCallDownIn(Asset, Cost, Barrier, Cash Rebate, Time, Riskfree, Carrying Cost, Volatility)

9. Single Barrier Option: Down and Out Call

This European single lower barrier call option is exercisable only at expiration. This call option becomes activated only when the asset value does not breach a lower barrier.

Function: ROBarrierCallDownOut(Asset, Cost, Barrier, Cash Rebate, Time, Riskfree, Carrying Cost, Volatility)

10. Single Barrier Option: Up and In Call

This European single upper barrier call option is exercisable only at expiration. This call option becomes activated only when the asset value breaches an upper barrier.

Function: ROBarrierCallUpIn(Asset, Cost, Barrier, Cash Rebate, Time, Riskfree, Carrying Cost, Volatility)

11. Single Barrier Option: Up and Out Call

This European single upper barrier call option is exercisable only at expiration. This call option becomes activated only when the asset value does not breach an upper barrier.

Function: ROBarrierCallUpOut(Asset, Cost, Barrier, Cash Rebate, Time, Riskfree, Carrying Cost, Volatility)

12. Single Barrier Option: Down and In Put

This European single lower barrier put option is exercisable only at expiration. This put option becomes activated only when the asset value breaches a lower barrier.

Function: ROBarrierPutDownIn(Asset, Cost, Barrier, Cash Rebate, Time, Riskfree, Carrying Cost, Volatility)

13. Single Barrier Option: Down and Out Put

This European single lower barrier put option is exercisable only at expiration. This put option becomes activated only when the asset value does not breach a lower barrier.

Function: ROBarrierPutDownOut(Asset, Cost, Barrier, Cash Rebate, Time, Riskfree, Carrying Cost, Volatility)

14. Single Barrier Option: Up and In Put

This European single upper barrier put option is exercisable only at expiration. The value of this put option comes in-the-money only when the asset value breaches an upper barrier.

Function: ROBarrierPutUpIn(Asset, Cost, Barrier, Cash Rebate, Time, Riskfree, Carrying Cost, Volatility)

15. Single Barrier Option: Up and Out Put

This European single upper barrier put option is exercisable only at expiration. This put option becomes activated only when the asset value does not breach an upper barrier.

Function: ROBarrierPutUpOut(Asset, Cost, Barrier, Cash Rebate, Time, Riskfree, Carrying Cost, Volatility)

### 16. Basic Chooser Option

This option gives the holder the right to choose between a call or put. Both calls and puts are constrained by the same expiration date and strike price. Either option may be exercised prior to the expiration date.

Function: ROBasicChooser(Asset, Cost, Chooser Time 1, Maturity Time 2, Riskfree, Carrying Cost, Volatility)

17. American Call Option Using the Binomial (Super Lattice) Approach

This American option gives the holder the right to execute its existing operations, at any time within a particular period.

Function: ROBinomialAmerican(Asset, Cost, Time, Riskfree, Volatility, Dividend, Steps)

18. American Abandonment Option Using the Binomial (Super Lattice) Approach

This American option gives the holder the right to abandon existing operations at any time within a particular period and receive the salvage value.

Function: ROBinomialAmericanAbandon(Salvage, Asset, Time, Riskfree, Volatility, Dividend, Steps)

19. American Call Option Using the Binomial (Super Lattice) Approach

This American call option gives the holder the right to execute a project at any time within a particular period at a set implementation cost, calculated using the Binomial approach with consideration for dividend payments.

Function: ROBinomialAmericanCall(Asset, Cost, Time, Riskfree, Volatility, Dividend, Steps)

20. American Contraction and Abandonment Option Using the Binomial Approach

This American option gives the holder the right to either contract its existing operations by a contraction factor in order to create some savings, or abandon entirely its existing operations at any time within a particular period and receive the salvage value. Function: ROBinomialAmericanConAban(Salvage, Contraction, Savings, Asset, Time, Riskfree, Volatility, Dividend, Steps)

21. American Contraction and Expansion Option Using the Binomial (Super Lattice) Approach

This American option gives the holder the right to either contract its existing operations by a contraction factor in order to create some savings in a market downturn, or expand its existing operations at an expansion factor at any time within a particular period by spending an appropriate implementation cost in a market upturn. Function: ROBinomialAmericanConExp(Contraction, Savings, Expansion, Asset, Cost, Time, Riskfree, Volatility, Dividend, Steps)

22. American Contraction, Expansion, and Abandonment Option Using the Binomial (Super Lattice) Approach

This American option gives the holder the right to choose among contracting its existing operations by a contraction factor in order to create some savings, or expanding its existing operations at an expansion factor by spending an appropriate implementation cost, or abandoning its operations entirely and receiving a salvage value, at any time within a particular period.

Function: ROBinomialAmericanConExpAban(Salvage, Contraction, Savings, Expansion, Asset, Cost, Time, Riskfree, Volatility, Dividend, Steps)

23. American Contraction Option Using the Binomial (Super Lattice) Approach

This American option gives the holder the right to contract its existing operations by a contraction factor in order to create some savings, at any time within a particular period.

Function: ROBinomialAmericanContract(Contraction, Asset, Savings, Time, Riskfree, Volatility, Dividend, Steps)

24. American Expansion and Abandonment Option Using the Binomial (Super Lattice) Approach

This American option gives the holder the right to choose between expanding its existing operations at an expansion factor by spending an appropriate implementation cost, or abandoning its operations entirely and receiving a salvage value, at any time within a particular period.

Function: ROBinomialAmericanExpAban(Salvage, Expansion, Asset, Cost, Time, Riskfree, Volatility, Dividend, Steps)

25. American Expansion Option Using the Binomial (Super Lattice) Approach

This American option gives the holder the right to expand its existing operations at an expansion factor by spending an appropriate implementation cost, at any time within a particular period.

Function: ROBinomialAmericanExpansion(Expansion, Asset, Cost, Time, Riskfree, Volatility, Dividend, Steps)

26. American Put Option Using the Binomial (Super Lattice) Approach

This American put option approximation with dividends is exercisable at any time within a particular period, calculated using the Binomial approach, with consideration for dividend payments. Function: ROBinomialAmericanPut(Asset, Cost, Time, Riskfree, Volatility, Dividend, Steps)

27. American Sequential Compound Option Using the Binomial (Super Lattice) Approach

This American option is the value of two option phases occurring in sequence, and is exercisable at any time within a particular period, where the execution of the second option depends on the successful implementation of the first option.

Function: ROBinomialAmericanSeqCompound(Asset, Underlying 1st Cost, Option 2nd Cost, Underlying 1st Time, Option 2nd Time, Riskfree, Volatility, Dividend, Steps)

28. American Simultaneous Compound Option Using the Binomial (Super Lattice) Approach

This American option is the value of two option phases occurring simultaneously, and is exercisable at any time within a particular period, where the execution of the second option depends on the successful implementation of the first option.

Function: ROBinomialAmericanSimCompound(Asset, Underlying Costl, Option Cost2, Maturity Time, Riskfree, Volatility, Dividend, Steps)

29. Changing Cost Option Using the Binomial (Super Lattice) Approach

This is the value of an American option with different implementation costs at different times, where the option is executable at any time up to maturity.

Function: ROBinomialCost(Asset, Costl, Cost2, Cost3, Cost4, Cost5, Timel, Time2, Time3, Time4, Time5, Volatility, Riskfree, Dividend, Steps)

30. Binomial Lattice Down Jump-Step Size

This is the calculation used in obtaining the down jump-step size on a binomial lattice.

Function: ROBinomialDown(Volatility, Time, Steps)

31. European Call Option Using the Binomial (Super Lattice) Approach

This is the European call calculation performed using a binomial approach, and is exercisable only at termination.

Function: ROBinomialEuropeanCall(Asset, Cost, Time, Riskfree, Volatility, Dividend, Steps)

32. European Put Option Using the Binomial (Super Lattice) Approach

This is the European put calculation performed using a binomial approach, and is exercisable only at termination. Function: ROBinomialEuropeanPut(Asset, Cost, Time, Riskfree, Volatility, Dividend, Steps)

33. Binomial Lattice Risk-Neutral Probability

This is the calculation used in obtaining the risk-neutral probability on a binomial lattice.

Function: ROBinomialProb(Volatility, Time, Steps, Riskfree, Dividend)

34. Binomial Lattice Up Jump-Step Size

This is the calculation used in obtaining the up jump-step size on a binomial lattice.

Function: ROBinomialUp(Volatility, Time, Steps)

35. Black-Scholes Call Option with No Dividends

This is the European call calculated using the Black-Scholes model, with no dividend payments, and is exercisable only at expiration.

Function: ROBlackScholesCall(Asset, Cost, Time, Riskfree, Volatility)

### 36. Black-Scholes Call Option with a Carrying Cost

This is the European call calculated using the Generalized Black-Scholes model, with a carrying cost adjustment, and is exercisable only at expiration. The carrying cost adjustment is simply the difference between the risk-free rate and the dividend payments, both in percent.

Function: ROBlackScholesCarryingCall(Asset, Cost, Time, Riskfree, Volatility, Carrycost)

### 37. Black-Scholes Put Option with a Carrying Cost

This is the European put calculated using the Generalized Black-Scholes model, with a carrying cost adjustment, and is exercisable only at expiration. The carrying cost adjustment is simply the difference between the risk-free rate and the dividend payments, both in percent.

Function: ROBlackScholesCarryingPut(Asset, Cost, Time, Riskfree, Volatility, Carrycost)

### 38. Black-Scholes Call Option with Dividends

This is the European call calculated using the Generalized Black-Scholes model, with a dividend stream in percent, and is exercisable only at expiration.

Function: ROBlackScholesDividendCall(Asset, Cost, Time, Riskfree, Volatility, Dividend)

39. Black-Scholes Put Option with Dividends

This is the European put calculated using the Generalized Black-Scholes model, with a dividend stream in percent, and exercisable only at expiration.

Function: ROBlackScholesDividendPut(Asset, Cost, Time, Riskfree, Volatility, Dividend)

40. Black-Scholes Put Option with No Dividends

This is the European put calculated using the Black-Scholes model, with no dividend payments, and is exercisable only at expiration.

Function: ROBlackScholesPut(Asset, Cost, Time, Riskfree, Volatility)

### 41. Complex Chooser Option

This is the European complex chooser option exercisable only at expiration. This option gives the option holder the right to choose between a call or put at different times with different strike prices. The same expiration date applies to both puts and calls.

Function: ROComplexChooser(Asset, Call Cost, Put Cost, Chooser Time, Call End Time, Put End Time, Riskfree, Carrying Cost, Volatility)

### 42. Compound Call-on-Call Option

This is the European Compound option exercisable only at expiration, where the value of the option depends on another underlying option. This is the continuous counterpart of the Binomial Sequential Compound Option.

Function: ROCompoundCallonCall(Asset, Underlying Cost 1, Option Cost 2, Option Time 1, Underlying Time 2, Riskfree, Carry, Volatility)

### 43. Compound Put-on-Call Option

This is the European Compound option exercisable only at expiration, where the value of the option depends on another underlying option. This is the continuous counterpart of the Binomial Sequential Compound Option.

Function: ROCompoundPutonCall(Asset, Underlying Cost 1, Option Cost 2, Option Time 1, Underlying Time 2, Riskfree, Carry, Volatility)

44. Simple Sequential Compound Option Using the Binomial (Super Lattice) Approach

This is the American Compound option exercisable at any time up to expiration, where the value of the option depends on a series of up to 10 other options, occurring in sequence. Each option phase has its own implementation cost occurring at different times. Function: ROCorrSeqCompound(Asset, Cost1...Cost11, Time1... Time11, Riskfree, Volatility, Dividends, Steps)

45. Customized Complex Sequential Compound Option Using the Binomial (Super Lattice) Approach

This is the Customized American sequential phased compound option exercisable at any time up to expiration, where the value of the option depends on a series of up to four other phases, occurring in sequence. Each option phase has its own asset value, volatility, implementation cost, and different implementation times. In addition, at any phase, there is an option to execute the expanded phase, abandon, or contract. Please note that this function is not available in the Equation Wizard due to limitations in Excel but is available by directly entering into Excel the function and its associated values.

Function: ROCustomLattice(Asset, Cost1...Cost4, Timet... Time4, Riskfree, Volatility, Dividends, Steps, ExpansionPhaset, ExpansionPhase2, ExpansionPhase3, ExpansionPhase4, AbandonvaluePhaset, AbandonvaluePhase2, AbandonvaluePhase3, AbandonvaluePhase4, ContractionPhase1, ContractionPhase2, ContractionPhase3, ContractionPhase4, SavingsPhaset, SavingsPhase2, SavingsPhase3, SavingsPhase4)

46. Double Barrier Option: Up-and-In, Down-and-In Call Option

This is the European double barrier call option that becomes activated and in-the-money when the asset value crosses above the upper barrier or below the lower barrier, and is exercisable only at expiration. Function: RODoubleBarrierUIDICall(Asset, Cost, Lower Barrier, Upper Barrier, Time, Riskfree, Carrying Cost, Volatility)

47. Double Barrier Option: Up-and-In, Down-and-In Put Option

This is the European double barrier put option that becomes activated and in-the-money when the asset value crosses above the upper barrier or below the lower barrier, and is exercisable only at expiration.

Function: RODoubleBarrierUIDIPut(Asset, Cost, Lower Barrier, Upper Barrier, Time, Riskfree, Carrying Cost, Volatility)

48. Double Barrier Option: Up-and-Out, Down-and-Out Call Option

This is the European double barrier call option that becomes in-the-money and activated when the asset value does not breach the upper barrier or cross below the lower barrier, and is exercisable only at expiration.

Function: RODoubleBarrierUODOCall(Asset, Cost, Lower Barrier, Upper Barrier, Time, Riskfree, Carrying Cost, Volatility)

49. Double Barrier Option: Up-and-Out, Down-and-Out Put Option

This is the European double barrier put option that becomes in-the-money and activated when the asset value does not breach the upper barrier or cross below the lower barrier, and is exercisable only at expiration.

Function: RODoubleBarrierUODOPut(Asset, Cost, Lower Barrier, Upper Barrier, Time, Riskfree, Carrying Cost, Volatility)

50. Forward Start Call Option

This is the European call option that starts only sometime in the future, and is exercisable only at expiration.

Function: ROForwardStartCall(Asset, Alpha, T1, Time, Riskfree, Carrying Cost, Volatility)

51. Forward Start Put Option

This is the European put option that starts only sometime in the future, and is exercisable only at expiration.

Function: ROForwardStartPut(Asset, Alpha, T1, Time, Riskfree, Carrying Cost, Volatility)

### 52. Futures Call Option

This is the European call option that depends on an underlying asset that resembles a futures contract, and is exercisable only at expiration. Function: ROFuturesCall(Futures, Cost, Time, Riskfree, Volatility)

53. Futures Put Option

This is the European put option that depends on an underlying asset that resembles a futures contract, and is exercisable only at expiration.

Function: ROFuturesPut(Futures, Cost, Time, Riskfree, Volatility)

### 54. Standard-Normal Cumulative Distribution

This is the standard-normal cumulative distribution of a Z-value, based on a normal distribution with a mean of zero and variance of one. Function: ROPhiDist(Z)

55. Multiple Volatility Option Analysis

This is the American option applying different volatilities at different times.

Function: ROMultiVolatility = oRo.ROMultiVolatility(Asset, Cost, Time, Riskfree, Volatility, Dividends, Steps, Volatility2, TimeStep2, Volatility3, TimeStep3, Volatility4, TimeStep4, Volatility5, TimeStep5)

56. Standard Bivariate-Normal Cumulative Distribution

This is the standard Bivariate-Normal cumulative distribution of two correlated variables.

Function: ROOmegaDist(Variable 1, Variable 2, Correlation)

### 57. Stochastic Option Flexibility Parameter

This is the Flexibility Parameter calculated using stochastic methodologies, where the optimal exercise price is obtained by multiplying this parameter by the option's implementation cost.

Function: ROStochasticFlexibility(InterestRate, OpportunityCost, Volatility)

### 58. Stochastic Option Value

This is the stochastic valuation of an option based on its asset value, implementation cost, volatility, interest rate, and opportunity cost. Function: ROStochasticOptionValue (InterestRate, OpportunityCost, Volatility, ImplementationCost, AssetValue)

### 59. Switching Option

This is the European switching option valuing two exchangeable assets, each with its own risk structure or volatility, but that at the same time may be correlated to each other. There is a cost associated with switching, which is the cost multipler multiplied by the value of the first asset.

Function: ROSwitching(Asset1, Asset2, Volatilityl, Volatilityl, Correlation, CostMultiplier, Time, Riskfree)

60. Stochastic Timing Option—Option Value

This is the value of the timing option assuming the execution of the option falls exactly on the optimal time to execute.

Function: ROTimingOption(Revenue, OperatingExpenses, ImplementationCost, Time, GrowthRate, DiscountRate)

61. Stochastic Timing Option—Optimal Timing

This model provides the optimal time to executing an option given a growth rate in the asset value and a discount rate.

Function: ROTimingTime(Revenue, OperatingExpenses, ImplementationCost, GrowthRate, DiscountRate)

62. Stochastic Timing Option—Trigger Value

This is the optimal trigger value on a timing option, where if the net value of the asset exceeds this trigger, it is optimal to exercise the option immediately.

Function: ROTimingTrigger(ImplementationCost, GrowthRate, DiscountRate)

### 63. Two Asset Correlation Call Option

This is the European call option exercisable only at expiration, where the value of the option depends on two correlated underlying assets. Function: ROTwoAssetCorrelationCall(Asset1, Assetl, Costl, Costl, Time, Dividendl, Dividend2, Riskfree, Voll, Voll, Correlation)

64. Two Asset Correlation Put Option

This is the European put option exercisable only at expiration, where the value of the option depends on two correlated underlying assets.

Function: ROTwoAssetCorrelationPut(Asset1, Asset2, Costl, Costl, Time, Dividendl, Dividend2, Riskfree, Voll, Voll, Correlation)

### 65. Call Sensitivity on Asset

This is the instantaneous sensitivity on asset value—that is, the change in option value given a unit change in asset value. Function: ROSensitivityAsset(Asset, Cost, Time, Riskfree, Dividend, Volatility)

66. Call Sensitivity on Cost

This is the instantaneous sensitivity on cost—that is, the change in option value given a unit change in cost.

Function: ROSensitivityCost(Asset, Cost, Time, Riskfree, Dividend, Volatility)

67. Call Sensitivity on Risk-Free

This is the instantaneous sensitivity on risk-free rate—that is, the change in option value given a unit change in risk-free rate.

Function: ROSensitivityRiskfree(Asset, Cost, Time, Riskfree, Dividend, Volatility)

68. Call Sensitivity on Time

This is the instantaneous sensitivity on time—that is, the change in option value given a unit change in time.

Function: ROSensitivityTime(Asset, Cost, Time, Riskfree, Dividend, Volatility)

### 69. Call Sensitivity on Volatility

This is the instantaneous sensitivity on volatility—that is, the change in option value given a unit change in volatility. Function: ROSensitivityVolatility(Asset, Cost, Time, Riskfree, Dividend, Volatility)