Costing Example

We use the Binomial method to calculate the cost of a erc20 call option

Let's go through the calculations step by step to determine the call option cost using the binomial method using the following example inputs:

  1. Underlying Token Price: 10 cents

  2. Strike Price: 13 cents

  3. Time to Expiration: 3 days

  4. Risk-Free Interest Rate: 0.5%

  5. Implied Volatility: 100%

Let's calculate the call option cost using the binomial method:

  1. Calculate Required Variables:

    • Number of Steps (numSteps): We'll use 100 steps for the binomial tree.

    • Delta T (deltaT): Time duration between each step (3 days / 100) = 0.03 days.

    • Up Factor (upFactor): exp(impliedVolatility * sqrt(deltaT)) = exp(100% * sqrt(0.03)) ≈ 1.478753756.

    • Down Factor (downFactor): 1 / upFactor ≈ 1 / 1.478753756 ≈ 0.675564409.

    • Discount Factor (discountFactor): exp(-riskFreeRate * timeToExpiration) = exp(-0.005 * 3/365) ≈ 0.99998633.

  2. Build the Binomial Tree: Start with the initial price of the underlying token at time t=0, which is 10 cents. Use the up and down factors to calculate the prices at each step of the binomial tree.

    The binomial tree will look like this:

                                14.7875
                           /              \
                      9.4215            14.7875
                    /        \          /           \
                6.0148      9.4215     9.4215      14.7875
              /      \    /       \    /      \    /       \
           3.8269  6.0148 6.0148  9.4215 9.4215 14.7875
         /     \   /       \  /       \  /       \  /       \
      2.4388 3.8269 3.8269 6.0148 6.0148 9.4215 9.4215 14.7875
  1. Calculate Option Values at Each Node: At the final time step (t=3 days), calculate the option value as the maximum of (price - strikePrice, 0) for each node.

    The option value tree will look like this:

                                0
                           /              \
                      0              0
                    /        \          /           \
                0      0      0      0     1.7875
              /      \    /       \    /       \
           0      0    0      0    0   0   1.7875
         /     \   /       \  /       \  /       \
      0    0  0   0     0  0  0  0  0 1.7875
  1. Calculate Option Prices at Each Step: Starting from the second-to-last time step (t=2 days) and working backward, calculate the option prices at each step of the binomial tree.

    At t=2 days:

    • Option Value at Node 1: ((0 * 0.5) + (0 * 0.5)) * 0.99998633 ≈

0

  • Option Value at Node 2: ((0 * 0.5) + (1.7875 * 0.5)) * 0.99998633 ≈ 0.0008936681

At t=1 day:

  • Option Value at Node 1: ((0 * 0.5) + (0 * 0.5)) * 0.99998633 ≈ 0

  • Option Value at Node 2: ((0 * 0.5) + (0.0008936681 * 0.5)) * 0.99998633 ≈ 0.0004468325

At t=0 days (initial time):

  • Option Value at Node 1: ((0 * 0.5) + (0 * 0.5)) * 0.99998633 ≈ 0

  • Option Value at Node 2: ((0 * 0.5) + (0.0004468325 * 0.5)) * 0.99998633 ≈ 0.0002234162

Therefore, the call option cost, based on the binomial method with the given inputs, is approximately 0.0008936681425369367 or 0.00089 cents.

We assumed the following factors:

// Example inputs
const underlyingTokenPrice = 0.1; // 10 cents
const strikePrice = 0.13; // 13 cents
const timeToExpiration = 3 / 365; // 3 days
const riskFreeRate = 0.005; // 0.5%
const impliedVolatility = 1; // 100%

// Example option premium or cost
const optionPremiumCost = 0.00089 cents

Conclusion

Considering that the implied volatility was 100% which is pretty high but yet ideal for crypto, the resulting premium based on traditional pricing models is ridiculously low.

Last updated