@@ -162,15 +162,15 @@ class HestonMcAndersen2008(HestonMcABC):
162
162
>>> spot = 100
163
163
>>> sigma, vov, mr, rho, texp = 0.04, 1, 0.5, -0.9, 10
164
164
>>> m = pfex.HestonMcAndersen2008(sigma, vov=vov, mr=mr, rho=rho)
165
- >>> m.set_mc_params (n_path=1e5, dt=1/8, rn_seed=123456)
165
+ >>> m.set_num_params (n_path=1e5, dt=1/8, rn_seed=123456)
166
166
>>> m.price(strike, spot, texp)
167
167
>>> # true price: 44.330, 13.085, 0.296
168
168
array([44.31943535, 13.09371251, 0.29580431])
169
169
"""
170
170
psi_c = 1.5 # parameter used by the Andersen QE scheme
171
171
scheme = 4
172
172
173
- def set_mc_params (self , n_path = 10000 , dt = 0.05 , rn_seed = None , antithetic = True , scheme = 4 ):
173
+ def set_num_params (self , n_path = 10000 , dt = 0.05 , rn_seed = None , antithetic = True , scheme = 4 ):
174
174
"""
175
175
Set MC parameters
176
176
@@ -184,7 +184,7 @@ def set_mc_params(self, n_path=10000, dt=0.05, rn_seed=None, antithetic=True, sc
184
184
References:
185
185
- Andersen L (2008) Simple and efficient simulation of the Heston stochastic volatility model. Journal of Computational Finance 11:1–42. https://doi.org/10.21314/JCF.2008.189
186
186
"""
187
- super ().set_mc_params (n_path , dt , rn_seed , antithetic )
187
+ super ().set_num_params (n_path , dt , rn_seed , antithetic )
188
188
self .scheme = scheme
189
189
190
190
def var_step_qe (self , var_0 , dt ):
@@ -305,7 +305,7 @@ class HestonMcGlassermanKim2011(HestonMcABC):
305
305
kk = 1 # K for series truncation.
306
306
tabulate_x2_z = False
307
307
308
- def set_mc_params (self , n_path = 10000 , dt = None , rn_seed = None , scheme = 3 , kk = 1 ):
308
+ def set_num_params (self , n_path = 10000 , dt = None , rn_seed = None , scheme = 3 , kk = 1 ):
309
309
"""
310
310
Set MC parameters
311
311
@@ -317,7 +317,7 @@ def set_mc_params(self, n_path=10000, dt=None, rn_seed=None, scheme=3, kk=1):
317
317
kk: truncation index
318
318
319
319
"""
320
- super ().set_mc_params (n_path , dt , rn_seed , antithetic = False )
320
+ super ().set_num_params (n_path , dt , rn_seed , antithetic = False )
321
321
self .scheme = scheme
322
322
self .kk = kk
323
323
@@ -828,14 +828,14 @@ class HestonMcTseWan2013(HestonMcGlassermanKim2011):
828
828
>>> spot = 100
829
829
>>> sigma, vov, mr, rho, texp = 0.04, 1, 0.5, -0.9, 10
830
830
>>> m = pfex.HestonMcTseWan2013(sigma, vov=vov, mr=mr, rho=rho)
831
- >>> m.set_mc_params (n_path=1e4, rn_seed=123456)
831
+ >>> m.set_num_params (n_path=1e4, rn_seed=123456)
832
832
>>> m.price(strike, spot, texp)
833
833
>>> # true price: 44.330, 13.085, 0.296
834
834
array([12.08981758, 0.33379748, 42.28798189]) # not close so far
835
835
"""
836
836
dist = 'ig'
837
837
838
- def set_mc_params (self , n_path = 10000 , dt = None , rn_seed = None , scheme = 3 , dist = None ):
838
+ def set_num_params (self , n_path = 10000 , dt = None , rn_seed = None , scheme = 3 , dist = None ):
839
839
"""
840
840
Set MC parameters
841
841
@@ -847,7 +847,7 @@ def set_mc_params(self, n_path=10000, dt=None, rn_seed=None, scheme=3, dist=None
847
847
dist: distribution to use for approximation.
848
848
'ig' for inverse Gaussian (default), 'ga' for Gamma, 'ln' for LN
849
849
"""
850
- super ().set_mc_params (n_path , dt , rn_seed , scheme = scheme )
850
+ super ().set_num_params (n_path , dt , rn_seed , scheme = scheme )
851
851
if dist is not None :
852
852
self .dist = dist
853
853
@@ -891,7 +891,7 @@ class HestonMcChoiKwok2023(HestonMcGlassermanKim2011):
891
891
892
892
dist = 'ig'
893
893
894
- def set_mc_params (self , n_path = 10000 , dt = None , rn_seed = None , scheme = 3 , kk = 0 , dist = None ):
894
+ def set_num_params (self , n_path = 10000 , dt = None , rn_seed = None , scheme = 3 , kk = 0 , dist = None ):
895
895
"""
896
896
Set MC parameters
897
897
@@ -903,7 +903,7 @@ def set_mc_params(self, n_path=10000, dt=None, rn_seed=None, scheme=3, kk=0, dis
903
903
dist: distribution to use for approximation.
904
904
'ig' for inverse Gaussian (default), 'ga' for Gamma, 'ln' for LN
905
905
"""
906
- super ().set_mc_params (n_path , dt , rn_seed , scheme = scheme , kk = kk )
906
+ super ().set_num_params (n_path , dt , rn_seed , scheme = scheme , kk = kk )
907
907
if dist is not None :
908
908
self .dist = dist
909
909
0 commit comments