Exemplo n.º 1
0
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,