View source: R/geometric_asian.R
| price_geometric_asian | R Documentation |
Computes the exact price of a geometric Asian option (call or put) using the Cox-Ross-Rubinstein (CRR) binomial model with price impact from hedging activities. Uses exact enumeration of all 2^n paths.
price_geometric_asian(
S0,
K,
r,
u,
d,
lambda,
v_u,
v_d,
n,
option_type = "call",
validate = TRUE
)
S0 |
Initial stock price (must be positive) |
K |
Strike price (must be positive) |
r |
Gross risk-free rate per period (e.g., 1.05) |
u |
Base up factor in CRR model (must be > d) |
d |
Base down factor in CRR model (must be positive) |
lambda |
Price impact coefficient (non-negative) |
v_u |
Hedging volume on up move (non-negative) |
v_d |
Hedging volume on down move (non-negative) |
n |
Number of time steps (positive integer) |
option_type |
Character; either "call" (default) or "put" |
validate |
Logical; if TRUE, performs input validation |
Computes exact prices for geometric Asian options using complete path enumeration in a binomial tree. Price impact from hedging activities modifies the stock dynamics through adjusted up/down factors and risk-neutral probability.
This function enumerates all 2^n possible paths in the binomial tree for exact pricing (no approximation or sampling). For large n (> 20), this requires significant computation time and memory. See the package vignettes and reference paper for detailed mathematical formulations.
Geometric Asian option price (numeric).
Tiwari, P., & Majumdar, S. (2025). Asian option valuation under price impact. arXiv preprint. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.48550/arXiv.2512.07154")}
arithmetic_asian_bounds, compute_p_adj
# Basic example
price_geometric_asian(
S0 = 100, K = 100, r = 1.05, u = 1.2, d = 0.8,
lambda = 0, v_u = 0, v_d = 0, n = 10
)
# With price impact
price_geometric_asian(
S0 = 100, K = 100, r = 1.05, u = 1.2, d = 0.8,
lambda = 0.1, v_u = 1, v_d = 1, n = 15
)
# Put option
price_geometric_asian(
S0 = 100, K = 100, r = 1.05, u = 1.2, d = 0.8,
lambda = 0.1, v_u = 1, v_d = 1, n = 10,
option_type = "put"
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.