J'essaie de prédire les cours des actions en utilisant sklearn. Je suis nouveau à la prédiction. J'ai essayé l'exemple de sklearn pour la prédiction de stock avec gaussian hmm. Mais prédire donne une séquence d'états qui se superpose sur le prix et prend également des points à partir du prix de clôture d'entrée donné. Ma question est de savoir comment générer les 10 prochains prix?comment prédire avec gaussianhmm sklearn
Répondre
Vous utiliserez toujours le dernier état de prédire l'état suivant, donc nous allons ajouter 10 jours de dollars d'entrées en changeant la date de fin au 23:
date2 = datetime.date(2012, 1, 23)
Vous pouvez vérifier l'ensemble du code pour m'assurer que je n'utilise pas réellement les futures données pour la prédiction. Le reste de ces lignes peut être ajouté au bas du fichier. Nous voulons d'abord savoir quel est le rendement attendu pour un état donné. Le tableau model.means_ a des retours, les deux étaient les retours qui nous ont amené à cet état, pas les retours futurs qui sont ce que vous voulez. Pour obtenir les rendements futurs, nous considérons la probabilité d'aller à l'un des 5 états, et ce que le retour de ces états est. Nous obtenons la probabilité d'aller à un état particulier à partir de la matrice model.transmat_, pour le retour de chaque état, nous utilisons les valeurs de model.means_. Nous prenons le produit scalaire pour obtenir le rendement attendu pour un état particulier. Ensuite, nous supprimons les données de volume (vous pouvez les laisser si vous le souhaitez, mais vous sembliez être le plus intéressé par les prix futurs).
expected_returns_and_volumes = np.dot(model.transmat_, model.means_)
returns_and_volumes_columnwise = zip(*expected_returns_and_volumes)
returns = returns_and_volumes_columnwise[0]
Si vous imprimez la valeur pour les retours [0], vous verrez le rendement attendu en dollars pour l'état 0, le rendement [1] pour l'état 1, etc. Maintenant, étant donné un jour et un état, nous vouloir prédire le prix pour demain. Vous avez dit 10 jours, alors utilisons-le pour N.
predicted_prices = []
lastN = 10
for idx in xrange(lastN):
state = hidden_states[-lastN+idx]
current_price = quotes[-lastN+idx][2]
current_date = datetime.date.fromordinal(dates[-lastN+idx])
predicted_date = current_date + datetime.timedelta(days=1)
predicted_prices.append((predicted_date, current_price + returns[state]))
print(predicted_prices)
Si vous étiez en cours d'exécution dans cette « production » vous définissez date2 à la dernière date à laquelle vous avez et lastn serait 1. Notez que je ne prends pas en compte les week-ends pour le predicted_date.
Ceci est un exercice amusant mais vous ne l'exécuteriez probablement pas en production, d'où les citations. Premièrement, la série chronologique est le prix brut; cela devrait vraiment être des retours en pourcentage ou des retours de log. De plus, il n'y a aucune justification pour choisir 5 états pour le HMM, ou qu'un HMM est même bon pour ce genre de problème, dont je doute. Ils l'ont probablement choisi comme exemple. Je pense que l'autre exemple de sklearn utilisant PCA est beaucoup plus intéressant.
- 1. Sklearn prédire la fonction
- 2. Sklearn prédire plusieurs sorties
- 3. Prédire les données de formation dans sklearn
- 4. Sklearn - Comment prédire la probabilité pour toutes les étiquettes cibles
- 5. Comment augmenter Sklearn GMM prédire() la vitesse de performance?
- 6. Comment prédire une série chronologique multidimensionnelle en utilisant python, sklearn avec des valeurs X inconnu
- 7. sklearn lda gridsearchcv avec pipeline
- 8. Prédire avec sklearn-KNN en utilisant la médiane (au lieu de la moyenne)
- 9. Comment prédire l'étiquette d'un e-mail à l'aide d'un classificateur NB qualifié dans sklearn?
- 10. Prédire ctree avec R
- 11. Python/Scikit-learn - Comment prédire réellement?
- 12. sklearn Crossvalidation avec GridSearch
- 13. avec sklearn d'importation
- 14. problème avec prédire avec glmnetUtils
- 15. Python Sklearn erreur validation.py:386 tout en utilisant le modèle de prédire SVC
- 16. Données persistantes dans sklearn
- 17. Prédire les critiques de films avec scikit-learn
- 18. Comment prédire avec multinom() dans la R
- 19. sklearn RidgeCV avec sample_weight
- 20. Utiliser Sklearn et Régression polynomiale pour ajuster/prédire l'équation d'une courbe. Erreur de boucle infinie
- 21. Sklearn erreur: prédire (x, y) prend 2 arguments de position mais 3 ont été donnés
- 22. Prédire avec des matrices SVD
- 23. Comment prédire l'exception java.lang.OutOfMemory?
- 24. Comment prédire en pycaffe?
- 25. Comment standardiser les données avec sklearn cross_val_score()
- 26. Sklearn: Comment équilibrer la classification avec DecisionTreeClassifier?
- 27. Algorithmia Modèle avec persistance Sklearn
- 28. Prédire avec des facteurs biglm
- 29. R xgboost prédire avec early.stop.round
- 30. Comment discrétiser des attributs continus dans sklearn?