Wolfram Language

Traitement des images et des signaux

Comparez les prix des actions en utilisant DTW

Utilisez WarpingCorrespondence pour comparer les cours de l'action HPQ au premier trimestre 2016 avec les données historiques de 2010 à 2015.

In[1]:=
Click for copyable input
recent = FinancialData["HPQ", {{2016, 1, 1}, {2016, 3, 31}}, "Value"]; {histDates, hist} = Transpose[ FinancialData["HPQ", {{2010, 1, 1}, {2015, 1, 31}}, "DateValue"]];

Trouvez la meilleure sous-séquence de données historiques.

In[2]:=
Click for copyable input
{corrHist, corrRecent} = WarpingCorrespondence[hist, recent, Method -> {"MatchingInterval" -> "Flexible"}];

Détectez l'intervalle historique qui se rapproche le plus du premier trimestre 2016.

In[3]:=
Click for copyable input
{m, n} = corrHist[[{1, -1}]]; histDates[[{m, n}]]
Out[3]=

Comparez visuellement les données récentes et la meilleure correspondance historique.

Afficher l'entrée complète de Wolfram Language
In[4]:=
Click for copyable input
DateListPlot[{AssociationThread[ Take[histDates[[m ;; n]], Length[recent]], recent], AssociationThread[histDates[[m ;; n]], hist[[m ;; n]]]}, PlotTheme -> "Business", PlotLegends -> {"2016 data", "Best historical match"}, DateTicksFormat -> {"MonthNameShort", " ", "YearShort"}, ImageSize -> Medium]
Out[4]=

Faites des prédictions sur les prix des actions pour les 30 jours à venir en vous basant sur des données historiques.

Afficher l'entrée complète de Wolfram Language
In[5]:=
Click for copyable input
l = Length[recent]; colDat = ColorData["Atoms"]; offset = Last[recent] - hist[[n]]; hist30d = hist[[n ;; n + 30]]; ListLinePlot[{recent, {l + Range[31], hist30d + offset}\[Transpose], hist[[m ;; n]], {n - m + Range[31], hist30d}\[Transpose]}, PlotStyle -> {colDat["Rh"], {colDat["Mo"], Dotted}, colDat["Yb"], {colDat["Tb"], Dotted}}, PlotLegends -> Placed[{"2016 data", "30 days prediction", "Best historical match", "Next 30 days of historical data"}, Below], ImageSize -> Medium, Axes -> {False, True}, Epilog -> {Dashed, {Arrow[{{n - m, hist[[n]]}, {l + 1, Last[recent]}}], Arrow[{{n - m + 30, hist[[n + 30]]}, {l + 31, hist[[n + 30]] + offset}}]}}]
Out[5]=

Exemples connexes

de en es ja ko pt-br ru zh