The Black-Scholes Formulae and the Greeks
In the following formulae
The formula are also valid for time-dependent a, D and r, just use the relevant 'average' as explained in the previous chapter.
The greeks which are 'greyed out' can sometimes be misleading. They are those greeks which are partial derivatives with respect to a parameter (a, r or D) as opposed to a variable (S and t) and which are not single signed (i.e. always greater than zero or always less than zero). Differentiating with respect a parameter, which has been assumed to be constant so that we can find a closed-form solution, is internally inconsistent. For example, d V/da is the sensitivity of the option price to volatility, but if volatility is constant, as assumed in the formula, why measure sensitivity to it? This may not matter if the partial derivative with respect to the parameter is of one sign, such as dV/da for calls and puts. But if the partial derivative changes sign then there may be trouble. For example, the binary call has a positive vega for low stock prices and negative vega for high stock prices, in the middle vega is small, and even zero at a point. However, this does not mean that the binary call is insensitive to volatility in the middle. It is precisely in the middle that the binary call value is very sensitive to volatility, but not the level, rather the volatility skew.
Table 9.1: Formulae for European call.
Table 9.2: Formulae for European put.
Table 9.3: Formula for European binary call.
Table 9.4: Formulae for European binary put.
Things to Look Out For in Exotic Contracts
There are six important features to look out for in exotic contracts. Understanding these features will help you to price a contract. These features are as follows:
1. Time dependence
2. Cash flows
3. Path dependence
6. Embedded decisions
If you can classify an exotic contract according to these characteristics you will be able to determine the following:
• What kind of pricing method should best be used.
• Whether you can re-use some old code.
• How long it will take you to code it up.
• How fast it will eventually run.
is when the terms of an exotic contract specify special dates or periods on or during which something happens, such as a cash flow, or early exercise, or an event is triggered. Time dependence is first on our list of features, since it is a very basic concept.
• Time dependence in an option contract means that our numerical discretization may have to be lined up to coincide with times at which, or periods during which, something happens.
• This means that our code will have to keep track of time, dates, etc. This is not difficult, just annoying.
are when money changes hands during the life of the contract (as opposed to an initial premium or a final payoff). When there is a cash flow the value of the contract will instantaneously jump by the amount of the cash flow.
• When a contract has a discretely paid cash flow you should expect to have to apply jump conditions. This also means that the contract has time dependence, see above.
• Continuously paid cash flows mean a modification, although rather simple, to the governing equation.
is when an option has a payoff that depends on the path taken by the underlying asset, and not just the asset's value at expiration. Path dependency comes in two varieties, strong and weak.
Strong path dependent contracts have payoffs that depend on some property of the asset price path in addition to the value of the underlying at the present moment in time; in the equity option language, we cannot write the value as V (S, t). The contract value is a function of at least one more independent variable. Strong path dependency comes in two forms, discretely sampled and continuously sampled, depending on whether a discrete subset of asset prices is used or a continuous distribution of them.
• Strong path dependency means that we have to work in higher dimensions. A consequence of this is that our code may take longer to run.
Weak path dependence is when a contract does depend on the history of the underlying but an extra state variable is not required. The obvious example is a barrier option.
• Weak path dependency means that we don't have to work in higher dimensions, so our code should be pretty fast.