arch.univariate.ZeroMean.simulate¶
-
ZeroMean.simulate(params: ArrayLike1D | collections.abc.Sequence[float], nobs: int, burn: int =
500
, initial_value: None | float | Float64Array =None
, x: ArrayLike | None =None
, initial_value_vol: None | float | Float64Array =None
) pd.DataFrame [source]¶ Simulated data from a zero mean model
- Parameters:¶
- params: ArrayLike1D | collections.abc.Sequence[float]¶
Parameters to use when simulating the model. Parameter order is [volatility distribution]. There are no mean parameters.
- nobs: int¶
Length of series to simulate
- burn: int =
500
¶ Number of values to simulate to initialize the model and remove dependence on initial values.
- initial_value: None | float | Float64Array =
None
¶ This value is not used.
- x: ArrayLike | None =
None
¶ This value is not used.
- initial_value_vol: None | float | Float64Array =
None
¶ An array or scalar to use when initializing the volatility process.
- Returns:¶
simulated_data – DataFrame with columns data containing the simulated values, volatility, containing the conditional volatility and errors containing the errors used in the simulation
- Return type:¶
Examples
Basic data simulation with no mean and constant volatility
>>> from arch.univariate import ZeroMean >>> import numpy as np >>> zm = ZeroMean() >>> params = np.array([1.0]) >>> sim_data = zm.simulate(params, 1000)
Simulating data with a non-trivial volatility process
>>> from arch.univariate import GARCH >>> zm.volatility = GARCH(p=1, o=1, q=1) >>> sim_data = zm.simulate([0.05, 0.1, 0.1, 0.8], 300)