INNER CODE UNIT · Python
StudentT
AlexShakaev/backtesting_and_algotrading_options_with_Interactive_Brokers_API · utils/bocd.py:17
class StudentT:
def __init__(self, alpha, beta, kappa, mu):
self.alpha0 = self.alpha = np.array([alpha])
self.beta0 = self.beta = np.array([beta])
self.kappa0 = self.kappa = np.array([kappa])
self.mu0 = self.mu = np.array([mu])
def pdf(self, data):
return stats.t.pdf(x=data,
df=2*self.alpha,
loc=self.mu,
scale=np.sqrt(self.beta * (self.kappa+1) / (self.alpha *
self.kappa)))
def update_theta(self, data):
muT0 = np.concatenate((self.mu0, (self.kappa * self.mu + data) / (self.kappa + 1)))
kappaT0 = np.concatenate((self.kappa0, self.kappa + 1.))
alphaT0 = np.concatenate((self.alpha0, self.alpha + 0.5))