Function swaption_R_tick(Date_v As Object, PV_v As Object, Sett_d As Date, Eff_d As Date, swap_life As Long, exp_d As Date, strike_r As Double, vola As Double, freq As Long) ' Calcualtes the price of a receiver swaption (ticks) Dim i As Long Dim t As Date Dim op As Double For i = 1 To swap_life * freq t = DateSerial(Year(Eff_d), Month(Eff_d) + i * 12 / freq, Day(Eff_d)) op = df(Date_v, PV_v, Sett_d, t) / freq + op Next swaption_R_tick = swaption_R_bp(Date_v, PV_v, Sett_d, Eff_d, swap_life, exp_d, strike_r, vola) * op End Function