Skip to content

feat: Implement American option pricing model #235

@joaquinbejar

Description

@joaquinbejar

Description

Implement pricing support for American options in the Black-Scholes pricing module. American options can be exercised at any time before expiration, which requires different pricing methods than European options.

Current State

  • American options return PricingError::UnsupportedOptionType
  • No pricing model implemented for early exercise

Target State

  • Fully functional American option pricing
  • Support for both calls and puts
  • Accurate early exercise premium calculation

Tasks

  • Research and select appropriate pricing method (Binomial tree, Barone-Adesi-Whaley, or Bjerksund-Stensland)
  • Implement the chosen pricing algorithm
  • Handle early exercise boundary conditions
  • Add dividend handling for American options
  • Implement Greeks calculations for American options
  • Add comprehensive tests with known values
  • Add documentation with examples

Technical Notes

Recommended approaches:

  • Binomial Tree (Cox-Ross-Rubinstein): Most accurate
  • Barone-Adesi and Whaley: Good balance of speed and accuracy
  • Bjerksund-Stensland: Fast analytical approximation

Estimated Effort

High (8-12 hours)

Related Issues

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpricingRelated to options pricingpriority-highCritical issues that should be addressed first

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions