Skip to content
All library documents

Debugging Bjerksund-Stensland American Option Replication with Bivariate Normals

Article Quant Q&A · Author: Coco Garazzo

Summary

The note concerns reproducing intermediate call and put values from the Bjerksund-Stensland 2002 closed-form approximation for American options. The author reports difficulty matching the paper's values across different cost-of-carry regimes, despite trying implementations found online. Some cases were approximated using Ju-Zhong prices, but those substitutions did not consistently reproduce the target quantities.

The response identifies the bivariate normal distribution calculations as a likely source of discrepancies: small errors there can materially affect the final option price and the intermediate values being replicated. This is an implementation debugging clue rather than a full derivation or validated fix. The note supplies no test cases, numerical results, or detailed guidance on evaluating the bivariate normal function, so independent checks against the paper's formulas and reference values remain necessary.

Key ideas

  • The task is to reproduce intermediate call and put quantities from the Bjerksund-Stensland American option method.
  • The reported mismatches vary with the sign of cost of carry.
  • The response points to implementation errors in the bivariate normal distribution calculation as a possible cause.
  • The suggested diagnosis is not accompanied by a complete correction or validation procedure.

Tags

Full text
# Replicating 2c-c & 2p-p from Bjerksund Stensland (2002)


# Replicating 2c-c & 2p-p from Bjerksund Stensland (2002)












I'm trying to replicate the value of $2\overline{\bar{c}}-\bar{c}$ and $2\overline{\bar{p}}-\bar{p}$ from the paper "CLOSED FORM VALUATION OF AMERICAN OPTIONS" by PETTER BJERKSUND and GUNNAR STENSLAND. link

I have tried to use everything I have found on the internet from code to excel to reach the same values but I haven't found any way to do it.

I have only been able to replicate the values of 2p-p when the cost of carry (b < r - q) is negative and the values of 2c-c when the cost of carry is positive. For the first case I was able to do it by making a proxy that consists of using the put value calculated by the Ju&Zhong method and for the other case using 2*JuZhongCallPrice-BjerksundStenslandCallPrice

I have noticed that the value of Bjerksund Stensland I calculated is not equal to 2c-c and 2p-p

## Answer by QuantCalc.net (score 0)

https://quant.stackexchange.com/a/85279

Check the bivariate normal distribution implications. I had some issue when implementing it and the minor error in bivariate normal distribution can cause big difference in the final price and 2p-p

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.