Binomial Model
Reviewing the suitability of this model for volatile ERC20 assets
The binomial method for option pricing is based on a discrete-time model where the price of the underlying asset is assumed to follow a binomial distribution. The method involves constructing a binomial tree, with each node representing the price of the underlying asset at a particular time step.
The equation used in the binomial method to calculate the option price at each node is as follows:
OptionValue = (p * OptionValue_Up + (1 - p) * OptionValue_Down) * DiscountFactor
Where:
OptionValue is the estimated option value at a specific node in the tree.
OptionValue_Up is the estimated option value at the next time step if the underlying asset price moves up.
OptionValue_Down is the estimated option value at the next time step if the underlying asset price moves down.
p is the probability of the underlying asset price moving up at each time step.
DiscountFactor is the factor used to discount future cash flows back to the present value, considering the risk-free interest rate.
Here's a step-by-step explanation of the binomial method:
Calculate the parameters:
deltaT: Time duration between each step (timeToExpiration / numSteps).
upFactor: Factor by which the underlying asset price moves up at each step (exp(impliedVolatility * sqrt(deltaT))).
downFactor: Factor by which the underlying asset price moves down at each step (1 / upFactor).
discountFactor: Factor to discount future cash flows back to the present (exp(-riskFreeRate * timeToExpiration)).
Build the binomial tree:
Start with the initial price of the underlying asset at time t=0.
For each subsequent time step, calculate the price of the underlying asset by multiplying the previous price by the upFactor or downFactor.
Store the prices in an array (priceTree).
Calculate option values at each node:
Initialize an array (optionValueTree) to store the option values at each node.
At the final time step, calculate the option value as the maximum of (price - strikePrice, 0) for each node.
Backward iterate through the tree, calculating the option values at each node based on the probability-weighted average of the option values at the next time step.
Apply the discount factor to each option value to bring it back to the present value.
The estimated call option cost is the option value at the root node (optionValueTree[0]).
By iteratively calculating the option values backward through the tree, starting from the final time step, the binomial method allows for estimating the option price based on the assumed price movements and probabilities at each step.
It's worth noting that the binomial method assumes a risk-neutral world and requires the assumption of constant volatility during each time step. It provides an approximation of the option price and becomes more accurate as the number of steps (numSteps) in the tree increases.
The reason we chose the Binomial method is because our ERC20 hedging platform will price each contract in base currency i.e. some level of risk neutrality.
Last updated