warnings.filterwarnings("ignore") # disable silly matplotlib warnings from matplotlib import pyplot as plt import numpy as np from numpy import random import particles from particles import datasets as dts from particles import distributions as dists from particles import resampling as rs from particles import smc_samplers as ssp from particles import state_space_models from particles.collectors import Moments # data data = dts.GBP_vs_USD_9798().data # prior dictprior = { 'mu': dists.Normal(scale=2.), 'sigma': dists.Gamma(a=2., b=2.), 'rho': dists.Beta(a=9., b=1.), 'phi': dists.Uniform(a=-1., b=1.) } prior = dists.StructDist(dictprior) # moment function def qtiles(W, x): alphas = np.linspace(0.05, 0.95, 19) return rs.wquantiles_str_array(W, x.theta, alphas=alphas)
from __future__ import division, print_function import numpy as np from numpy import random from matplotlib import pyplot as plt import particles from particles import datasets as dts from particles import state_space_models as ssms from malikpitt_interpolation import MalikPitt_SMC # data T = 200 data = dts.GBP_vs_USD_9798().data[:(T + 1)] def fkmod(theta): mu = theta[0] rho = theta[1] sigma = theta[2] return ssms.Bootstrap(ssm=ssms.StochVol(mu=mu, rho=rho, sigma=sigma), data=data) def loglik(theta, seed=None, qmc=False, N=10**4, verbose=False,