Formato de fecha para Mathematica
-
29-10-2019 - |
Pregunta
Mientras estoy tratando de trazar algunas series de tiempo financieras en Mathematica, me encontré con un problema ilustrado en la figura a continuación:
Parece que los datos ya no se tratan después del año 2000
¿Hay alguna forma de arreglar eso?
¿Cuál sería el mejor formato para exportar series de tiempo de Bloomberg o Excel para usarlas en Mathematic (usando la versión 8)?
Sé acerca de la función financiera. Sin embargo, sin conocer los símbolos exactos, hace que sea extremadamente difícil usar Mathematica directamente para esto.
Solución
Utilizar el DateFunction
Opción para decir DateListPlot
Cómo convertir las fechas:
DateFunction -> (DateList[{#, {"MonthNameShort", "YearShort"}}] &)
(Las paréntesis son importantes).
Otros consejos
¿Por qué no usar la función wolframalpha [...]? Importa nativo del formato Mathematica y sube a las fechas actuales:
timeseries = WolframAlpha["msft close Jan 1, 2010 to Jan 21 2011",
{{"DateRangeSpecified:Close:FinancialData", 1}, "TimeSeriesData"}];
DateListPlot[timeseries]
Eso fue solo un ejemplo de entrada. No estoy seguro de qué tipo de datos necesita exactamente, pero puede obtener muchos de ellos a través de la función wolframalpha. Lee esto:
Aquí hay una función para convertir esas cadenas de fecha a un formato que Mathematica puede manejar mejor:
dateConv = With[{s = StringSplit[#, "-"]}, {DateList[{s[[2]], "YearShort"}][[1]],
DateList[s[[1]]][[2]]}] &
Puedes probar
DateListPlot[data, DateFunction -> dateConv]
EDITAR: Originalmente probé DateList[{"Nov-11", {"MonthNameShort", "YearShort"}}]
Pero esto me dice String "Nov-
11" cannot be interpreted as a date in format {"MonthNameShort",
"YearShort"}.
. ¿Quizás un error?