From 1328fe9161fcd0a232d9f5b50b46b694831f2907 Mon Sep 17 00:00:00 2001 From: hudde Date: Wed, 31 Jan 2024 11:38:45 +0100 Subject: [PATCH] refactoring --- R/Malliavin_Geometric_Asian_Greeks.R | 27 ++------------------------- 1 file changed, 2 insertions(+), 25 deletions(-) diff --git a/R/Malliavin_Geometric_Asian_Greeks.R b/R/Malliavin_Geometric_Asian_Greeks.R index eef2194..e5b0331 100644 --- a/R/Malliavin_Geometric_Asian_Greeks.R +++ b/R/Malliavin_Geometric_Asian_Greeks.R @@ -185,33 +185,10 @@ Malliavin_Geometric_Asian_Greeks <- function( } #delta - if ("rho" %in% greek) { - rho <- + result[i, "rho"] <- (W_T/volatility - time_to_maturity) %>% - E_paths() - - rho_geom_fd <- - -time_to_maturity * exp(-r*time_to_maturity) * payoff(I_0_geom, exercise_price) + - (time_to_maturity/2) * exp(-(r - dividend_yield) * time_to_maturity) * - dpayoff(I_0_geom, exercise_price) * I_0_geom - - cont <- - rho_geom_fd - - BS_Geometric_Asian_Greeks( - initial_price = initial_price, - exercise_price = exercise_price, - r = r, - time_to_maturity = time_to_maturity, - volatility = volatility, - dividend_yield = dividend_yield, - payoff = payoff_name, - greek = "rho" - ) - - model <- lm(rho ~ cont) - - result[i, "rho"] <- model$coefficients["(Intercept)"] + E() } #rho if ("theta" %in% greek) {