Black-Scholes Put Rho in VBA

Here is a VBA function that easily allows you to calculate the Black-Scholes rho on any put option.



Function PutRho(StockPrice As Double, StrikePrice As Double, TimeToExpiration As Double, Volatility As Double, RiskFreeRate As Double, DividendYield As Double)
    
    Dim d(2) As Double

    d(1) = (Log(StockPrice / StrikePrice) + (RiskFreeRate - DividendYield + (Volatility ^ 2) / 2) * TimeToExpiration) / (Volatility * Sqr(TimeToExpiration))
    d(2) = d(1) - Volatility * Sqr(TimeToExpiration)
    PutRho = -StrikePrice * TimeToExpiration * Exp(-RiskFreeRate * TimeToExpiration) * Application.WorksheetFunction.NormSDist(-d(2))

End Function