ARCHModelResult.hedgehog_plot(params=None, horizon=10, step=10, start=None, plot_type='volatility', method='analytic', simulations=1000)

Plot forecasts from estimated model

params{ndarray, Series}

Alternative parameters to use. If not provided, the parameters computed by fitting the model are used. Must be 1-d and identical in shape to the parameters computed by fitting the model.

horizonint, optional

Number of steps to forecast

stepint, optional

Non-negative number of forecasts to skip between spines

startint, datetime or str, optional

An integer, datetime or str indicating the first observation to produce the forecast for. Datetimes can only be used with pandas inputs that have a datetime index. Strings must be convertible to a date time, such as in ‘1945-01-01’. If not provided, the start is set to the earliest forecastable date.

plot_type{‘volatility’, ‘mean’}

Quantity to plot, the forecast volatility or the forecast mean

method{‘analytic’, ‘simulation’, ‘bootstrap’}

Method to use when producing the forecast. The default is analytic. The method only affects the variance forecast generation. Not all volatility models support all methods. In particular, volatility models that do not evolve in squares such as EGARCH or TARCH do not support the ‘analytic’ method for horizons > 1.


Number of simulations to run when computing the forecast using either simulation or bootstrap.


Handle to the figure


>>> import pandas as pd
>>> from arch import arch_model
>>> am = arch_model(None,mean='HAR',lags=[1,5,22],vol='Constant')
>>> sim_data = am.simulate([0.1,0.4,0.3,0.2,1.0], 250)
>>> sim_data.index = pd.date_range('2000-01-01',periods=250)
>>> am = arch_model(sim_data['data'],mean='HAR',lags=[1,5,22],  vol='Constant')
>>> res =
>>> fig = res.hedgehog_plot(plot_type='mean')
Return type