@@ -61,6 +61,7 @@ impl BlackScholesPricer {
6161 }
6262 }
6363 fn npv_vanilla ( & self , bsd_option : & EquityOption ) -> f64 {
64+
6465 let n_d1 = N ( bsd_option. base . d1 ( ) ) ;
6566 let n_d2 = N ( bsd_option. base . d2 ( ) ) ;
6667 let df_d = exp ( -bsd_option. base . dividend_yield * bsd_option. time_to_maturity ( ) ) ;
@@ -94,13 +95,13 @@ impl BlackScholesPricer {
9495 let df_r = exp ( -bsd_option. base . risk_free_rate * bsd_option. time_to_maturity ( ) ) ;
9596 let num = dn_d1* ( df_r/df_d) ;
9697 let var_sqrt = bsd_option. base . volatility * ( bsd_option. time_to_maturity ( ) . sqrt ( ) ) ;
97- return num/ ( bsd_option. base . current_price . value ( ) * var_sqrt) ;
98+ return num/ ( bsd_option. base . underlying_price . value ( ) * var_sqrt) ;
9899 }
99100 fn vega_vanilla ( & self , bsd_option : & EquityOption ) -> f64 {
100101 let dn_d1 = dN ( bsd_option. base . d1 ( ) ) ;
101102 let df_d = exp ( -bsd_option. base . dividend_yield * bsd_option. time_to_maturity ( ) ) ;
102103 let df_r = exp ( -bsd_option. base . risk_free_rate * bsd_option. time_to_maturity ( ) ) ;
103- let df_S = bsd_option. base . current_price . value ( ) * df_r/df_d;
104+ let df_S = bsd_option. base . underlying_price . value ( ) * df_r/df_d;
104105 let vega = df_S * dn_d1 * bsd_option. time_to_maturity ( ) . sqrt ( ) ;
105106 return vega;
106107 }
@@ -112,7 +113,7 @@ impl BlackScholesPricer {
112113 let n_d2 = N ( bsd_option. base . d2 ( ) ) ;
113114 let df_d = exp ( -bsd_option. base . dividend_yield * bsd_option. time_to_maturity ( ) ) ;
114115 let df_r = exp ( -bsd_option. base . risk_free_rate * bsd_option. time_to_maturity ( ) ) ;
115- let df_S = bsd_option. base . current_price . value ( ) * df_r/df_d;
116+ let df_S = bsd_option. base . underlying_price . value ( ) * df_r/df_d;
116117 let t1 = -df_S* dn_d1 * bsd_option. base . volatility
117118 / ( 2.0 * bsd_option. time_to_maturity ( ) . sqrt ( ) ) ;
118119
0 commit comments