Formato della data per Mathematica
-
29-10-2019 - |
Domanda
Mentre sto cercando di tracciare alcune serie temporali finanziarie in Mathematica, mi sono appena imbattuto in un problema illustrato nella figura seguente:
Sembra che i dati non vengano più trattati dopo il 2000
C'è un modo per risolvere questo ?
Quale sarebbe il miglior formato per esportare serie temporali da Bloomberg o Excel per usarle in matematico (usando la versione 8).
So della funzione Financialdata. Tuttavia, non conoscendo i simboli esatti, rende estremamente difficile usare Mathematica direttamente per questo.
Soluzione
Utilizzare il DateFunction
Opzione da dire DateListPlot
Come convertire le date:
DateFunction -> (DateList[{#, {"MonthNameShort", "YearShort"}}] &)
(Le parentesi sono importanti.)
Altri suggerimenti
Perché non usare la funzione Wolframalpha [...] - Importa originario del formato Mathematica e passa alle date attuali:
timeseries = WolframAlpha["msft close Jan 1, 2010 to Jan 21 2011",
{{"DateRangeSpecified:Close:FinancialData", 1}, "TimeSeriesData"}];
DateListPlot[timeseries]
Questo era solo un esempio di input. Non sono sicuro di quale tipo di dati hai bisogno esattamente, ma puoi ottenerne molti tramite la funzione Wolframalpha. Leggi questo:
Ecco una funzione per convertire quelle stringhe di data in un formato che Mathematica può gestire meglio:
dateConv = With[{s = StringSplit[#, "-"]}, {DateList[{s[[2]], "YearShort"}][[1]],
DateList[s[[1]]][[2]]}] &
Puoi provare
DateListPlot[data, DateFunction -> dateConv]
MODIFICARE: Inizialmente ci ho provato DateList[{"Nov-11", {"MonthNameShort", "YearShort"}}]
Ma questo mi dice String "Nov-
11" cannot be interpreted as a date in format {"MonthNameShort",
"YearShort"}.
. Forse un bug?