phillips_drifts_volatilities: `kalman_forward` pairs each observation with the previous date's volatility

Ouverte Adaptée aux débutants
#1,108 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@bennibyx y travaille déjà.

Depuis le 9/11/2026.

  • #1116 par @bennibyx — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
77/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
numpy, python

Piste de recherche

Trouvez kalman_forward et examinez comment il construit r à partir du chemin de volatilité h ; l’issue indique l’indexation actuelle et l’alignement prévu de h[1:]. Lisez le code du sampler qui construit h et la boucle du filtre pour confirmer que les dates 1 à T correspondent aux observations. Le travail est terminé lorsque chaque observation utilise la volatilité de la même date et qu’une vérification ciblée confirme que la dernière ligne de volatilité est utilisée.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

kalman_forward builds r from the whole volatility path h, whose rows are dates 0 to T: run_sampler starts it with T + 1 rows, and draw_volatility_path updates log h_0 to log h_T. The filter's loop then uses r[t] for y[t], the observation at date t + 1, so each observation is filtered with R built from the previous date's volatility: R_1 comes from h_0, and h_T is never used. The rest of the sampler pairs h[t] with date t: draw_volatility_path matches h[t] with the residual at date t, draw_β standardises the residuals by h[1:], and the retained draws keep h[1:]. The model is R_t = B^{-1} H_t B^{-1}′ at the same date, which is also what the line's own comment (# R_1, ..., R_T) says.

This came in with the vectorised filter in #1105. The version before it paired h[t] with y[t - 1] in draw_coefficient_path.

The change is to build r from h[1:]:

r = np.einsum('ij,tj,kj->tik', b_inverse, h[1:], b_inverse)    # R_1, ..., R_T

The size of the effect on the posterior has not been measured: the figures and tables would need re-running with the change.

Found by Copilot's review of QuantEcon/lectures#36, which copies this lecture at 4d82fff: https://github.com/QuantEcon/lectures/pull/36#discussion_r4464453856

Langage dominant
TeX
Étoiles
129
Forks
59
Merge moyen
2 j 5 h
PR mergées (30 j)
12

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de QuantEcon/lecture-python.myst

Toutes les issues de QuantEcon/lecture-python.myst

Issues similaires

Plus d'issues Data Engineering

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.