Ejemplo n.º 1
0
from collections import OrderedDict
from matplotlib import pyplot as plt
import numpy as np
import seaborn as sb

import particles
from particles import state_space_models as ssm

# Data and parameter values from Pitt & Shephard
raw_data = np.loadtxt('../../datasets/GBP_vs_USD_9798.txt',
                      skiprows=2,
                      usecols=(3, ),
                      comments='(C)')
T = 201
data = 100. * np.diff(np.log(raw_data[:(T + 1)]))
my_ssm = ssm.StochVol(mu=2 * np.log(.5992), sigma=0.178, rho=0.9702)

# FK models
models = OrderedDict()
models['bootstrap'] = ssm.Bootstrap(ssm=my_ssm, data=data)
models['guided'] = ssm.GuidedPF(ssm=my_ssm, data=data)
models['apf'] = ssm.AuxiliaryPF(ssm=my_ssm, data=data)

# Get results
results = particles.multiSMC(fk=models, N=10**3, nruns=250, moments=True)

# Golden standard
bigN = 10**5
bigpf = particles.SMC(fk=models['bootstrap'], N=bigN, qmc=True, moments=True)
print('One SQMC run with N=%i' % bigN)
bigpf.run()
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
def fkmod(**kwargs):
    return ssm.Bootstrap(ssm=ssm.StochVol(**kwargs), data=data)
Ejemplo n.º 4
0
def ssmod(theta):
    mu = theta[0]
    rho = theta[1]
    sigma = theta[2]
    return ssms.StochVol(mu=mu, rho=rho, sigma=sigma)