Markov Switching Multifractal model¶
REFERENCE:
How to Forecast Long-Run Volatility: Regime Switching and the Estimation of Multifractal Processes, Calvet and Fisher, 2004.
AUTHOR:
William Stein, 2008
-
class
sage.finance.markov_multifractal.
MarkovSwitchingMultifractal
(kbar, m0, sigma, gamma_kbar, b)¶ Bases:
object
INPUT:
kbar
– positive integerm0
– float with0 <= m0 <= 2
sigma
– positive floatgamma_kbar
– float with0 <= gamma_kbar < 1
b
– float > 1
EXAMPLES:
sage: msm = finance.MarkovSwitchingMultifractal(8,1.4,0.5,0.95,3); msm Markov switching multifractal model with m0 = 1.4, sigma = 0.5, b = 3.0, and gamma_8 = 0.95 sage: yen_usd = finance.MarkovSwitchingMultifractal(10,1.448,0.461,0.998,3.76) sage: cad_usd = finance.MarkovSwitchingMultifractal(10,1.278,0.262,0.644,2.11) sage: dm = finance.MarkovSwitchingMultifractal(10,1.326,0.643,0.959,2.7)
-
b
()¶ Return parameter b of Markov switching multifractal model.
EXAMPLES:
sage: msm = finance.MarkovSwitchingMultifractal(8,1.4,1,0.95,3) sage: msm.b() 3.0
-
gamma
()¶ Return the vector of the kbar transitional probabilities.
OUTPUT:
gamma – a tuple of
self.kbar()
floats.
EXAMPLES:
sage: msm = finance.MarkovSwitchingMultifractal(8,1.4,1.0,0.95,3) sage: msm.gamma() (0.001368852970712986, 0.004100940201672509, 0.012252436441829..., 0.03630878209190..., 0.10501923017634..., 0.28312883556311..., 0.6315968501359..., 0.95000000000000...)
-
gamma_kbar
()¶ Return parameter
gamma_kbar
of Markov switching multifractal model.EXAMPLES:
sage: msm = finance.MarkovSwitchingMultifractal(8,1.4,0.01,0.95,3) sage: msm.gamma_kbar() 0.95
-
kbar
()¶ Return parameter
kbar
of Markov switching multifractal model.EXAMPLES:
sage: msm = finance.MarkovSwitchingMultifractal(8,1.4,0.01,0.95,3) sage: msm.kbar() 8
-
m0
()¶ Return parameter m0 of Markov switching multifractal model.
EXAMPLES:
sage: msm = finance.MarkovSwitchingMultifractal(8,1.4,1,0.95,3) sage: msm.m0() 1.4
-
sigma
()¶ Return parameter sigma of Markov switching multifractal model.
EXAMPLES:
sage: msm = finance.MarkovSwitchingMultifractal(8,1.4,1,0.95,3) sage: msm.sigma() 1.0
-
simulation
(n)¶ Same as
self.simulations
, but run only 1 time, and returns a time series instead of a list of time series.INPUT:
n
– a positive integer.
EXAMPLES:
sage: msm = finance.MarkovSwitchingMultifractal(8,1.4,1.0,0.95,3) sage: msm.simulation(5) [0.0059, -0.0097, -0.0101, -0.0110, -0.0067] sage: msm.simulation(3) [0.0055, -0.0084, 0.0141]
-
simulations
(n, k=1)¶ Return
k
simulations of lengthn
using this Markov switching multifractal model forn
time steps.INPUT:
n
– positive integer; number of steps.k
– positive integer (default: 1); number of simulations.
OUTPUT:
list – a list of TimeSeries objects.
EXAMPLES:
sage: cad_usd = finance.MarkovSwitchingMultifractal(10,1.278,0.262,0.644,2.11); cad_usd Markov switching multifractal model with m0 = 1.278, sigma = 0.262, b = 2.11, and gamma_10 = 0.644