Travailler avec des données de 30 minutes, dont j'ai mis un échantillon en ligne. C'est la valeur en dollars notionnelle de l'écart entre ES et 2 contrats de NQ (ES-2 * NQ). L'échantillon est petit, mais devrait être assez long pour être utilisé directement dans une démo si vous le souhaitez. Code R pour la saisir et l'utiliser comme je suis en train de:Comment faire & tracer une régression linéaire simple et linéaire sur des données financières xts objet dans R?
demo.xts <- as.xts(read.zoo('http://dl.dropboxusercontent.com/u/31394273/demo.csv', sep=',', tz = '', header = TRUE, format = '%Y-%m-%d %H:%M:%S'))
tête (demo.xts):
[,1]
2013-05-27 00:00:00 -37295.0
2013-05-27 00:30:00 -37292.5
2013-05-27 01:00:00 -37300.0
2013-05-27 01:30:00 -37280.0
2013-05-27 02:00:00 -37190.0
2013-05-27 02:30:00 -37245.0
Ce que je suis surtout après est une régression de fenêtre glissante (ou linear regression curve, comme ma plate-forme de négociation le désigne) - enregistrez-le, puis traitez-le. Et, j'ai pensé que je devrais être capable de tracer une seule régression simple pour une période de temps spécifiée. Après la régression de la fenêtre, j'ajouterais des «bandes» d'écart-type à cela, mais je pense que je peux le comprendre plus tard en utilisant «runSD» de TTR sur la régression glissante. Exemple de ce que je suis après:
Je pense que cela - Rolling regression xts object in R - m'a le plus proche de ce que je pense que je suis après. Il a semblé fonctionner avec mes données, mais je ne pouvais pas comprendre comment transformer les «coefficients» résultants en une ligne ou une courbe dans la parcelle de valeur monétaire théorique avec laquelle je veux travailler.
Référencer n'importe quel paquet (comme TTR) serait génial; heureux de charger tout ce qui rend cela plus simple ou facile.
Je ne peux pas comprendre comment les "bandes d'écart-type" seraient calculées. Pouvez-vous fournir une formule? –
@JoshuaUlrich la façon dont je le comprends c'est la courbe de régression linéaire ± nombre d'écarts-types multiplié par le prix. Donc, en utilisant votre exemple de code ci-dessous, il semble que 'rma + 2 * runSD (demo.xts, n = 20)' fonctionne pour ajouter le "upper band", par exemple. aussi, l'autre réponse de vincent semble aboutir à un résultat similaire à celui attendu avec les "lwr" et "upr" que la fonction de prédiction produit. –