Closed
Description
import pymc3 as pm
import numpy as np
returns = pd.read_csv(pm.get_data("SP500.csv"), index_col="Date")
returns["change"] = np.log(returns["Close"]).diff()
returns = returns.dropna().astype('float32')
returns.head()
with pm.Model() as model_pymc3:
step_size = pm.Exponential("step_size", 10.)
volatility = pm.GaussianRandomWalk("volatility", sigma=step_size,
size=returns.shape[0],
init=pm.Normal.dist(0, step_size))
nu = pm.Exponential("nu", 0.1)
obs = pm.StudentT(
"obs", nu=nu, sigma=np.exp(volatility), observed=returns["change"]
)
yields:
TypeError Traceback (most recent call last)
<ipython-input-11-3f1576c8cf84> in <module>
1 with pm.Model(check_bounds=False) as model_pymc3:
2 step_size = pm.Exponential("step_size", 10.)
----> 3 volatility = pm.GaussianRandomWalk("volatility", sigma=step_size,
4 size=returns.shape[0],
5 init=pm.Normal.dist(0, step_size))
~/projects/pymc/pymc3/distributions/distribution.py in __new__(cls, name, *args, **kwargs)
161 transform = kwargs.pop("transform", UNSET)
162
--> 163 rv_out = cls.dist(*args, rng=rng, **kwargs)
164
165 return model.register_rv(rv_out, name, data, total_size, dims=dims, transform=transform)
TypeError: dist() missing 1 required positional argument: 'dist_params'