import csv
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rc
rc('mathtext', default='regular')

from smc.models import stochastic_volatility

scale = 2

with open(sys.argv[1], 'rb') as f:
    f.readline()
    m = np.genfromtxt(f, delimiter=',', dtype=float)
    m = m[::scale]

model = stochastic_volatility(alpha=0.86, sigma=1, beta=0.005)

T = m.shape[0]

print('T =', T)

N = 10000
X = np.zeros((T, N))
W = np.zeros((T, N))

for t in range(T):
    if t == 0:
        y = 0
        X[t, :] = model.p_initial.rvs(N)
        W[t, :] = model.p_emission(t, X[t, :]).pdf(y)
    else:
Beispiel #2
0
import matplotlib.pyplot as plt
from smc.models import stochastic_volatility

with open(sys.argv[1], 'rb') as f:
    f.seek(0, os.SEEK_END)
    f.seek(f.tell() - (1 << 23))
    f.readline()
    m = np.genfromtxt(f, delimiter=',', dtype=float)
    m = m[::8, :]

m[:, 0] -= m[0, 0]
m[:, 1] -= m[:, 1].mean()
#m[:,
print(m)

model = stochastic_volatility(alpha=0.99, sigma=1, beta=0.5)

scale = 3600
T = int(m[-1, 0] / scale)

print('T =', T)

N = 1000
X = np.zeros((T, N))
W = np.zeros((T, N))

for t in range(T):
    if t == 0:
        y = 0
        X[t, :] = model.p_initial.rvs(N)
        W[t, :] = model.p_emission(t, X[t, :]).pdf(y)
import csv
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rc
rc('mathtext', default='regular')

from smc.models import stochastic_volatility

scale = 2

with open(sys.argv[1], 'rb') as f:
    f.readline()
    m = np.genfromtxt(f, delimiter=',', dtype=float)
    m = m[::scale]

model = stochastic_volatility(alpha=0.86, sigma=1, beta=0.005)

T = m.shape[0]

print('T =', T)

N = 10000
X = np.zeros((T, N))
W = np.zeros((T, N))

for t in range(T):
    if t == 0:
        y = 0
        X[t, :] = model.p_initial.rvs(N)
        W[t, :] = model.p_emission(t, X[t, :]).pdf(y)
    else:
import matplotlib.pyplot as plt
from smc.models import stochastic_volatility

with open(sys.argv[1], 'rb') as f:
    f.seek(0, os.SEEK_END)
    f.seek(f.tell() - (1<<23))
    f.readline()
    m = np.genfromtxt(f, delimiter=',', dtype=float)
    m = m[::8, :]

m[:, 0] -= m[0, 0]
m[:, 1] -= m[:, 1].mean()
#m[:, 
print(m)

model = stochastic_volatility(alpha=0.99, sigma=1, beta=0.5)

scale = 3600
T = int(m[-1, 0]/scale)

print('T =', T)

N = 1000
X = np.zeros((T, N))
W = np.zeros((T, N))

for t in range(T):
    if t == 0:
        y = 0
        X[t, :] = model.p_initial.rvs(N)
        W[t, :] = model.p_emission(t, X[t, :]).pdf(y)