当我试图在 Mathematica 中绘制一些金融时间序列时,我遇到了下图所示的问题:
似乎 2000 年后不再处理数据
有没有办法解决这个问题?
从 Bloomberg 或 Excel 导出时间序列以在 Mathematic 中使用它们的最佳格式是什么(使用版本 8)。
我确实知道 FinancialData 函数。但是,由于不知道确切的符号,因此直接使用 Mathematica 非常困难。
当我试图在 Mathematica 中绘制一些金融时间序列时,我遇到了下图所示的问题:
似乎 2000 年后不再处理数据
有没有办法解决这个问题?
从 Bloomberg 或 Excel 导出时间序列以在 Mathematic 中使用它们的最佳格式是什么(使用版本 8)。
我确实知道 FinancialData 函数。但是,由于不知道确切的符号,因此直接使用 Mathematica 非常困难。
为什么不使用 WolframAlpha[...] 函数 - 它以 Mathematica 格式导入本机并更新到当前日期:
timeseries = WolframAlpha["msft close Jan 1, 2010 to Jan 21 2011",
{{"DateRangeSpecified:Close:FinancialData", 1}, "TimeSeriesData"}];
DateListPlot[timeseries]
那只是输入的一个例子。我不确定你到底需要什么样的数据,但你可以通过 WolframAlpha 函数获得很多数据。读这个:
使用该DateFunction
选项来说明DateListPlot
如何转换日期:
DateFunction -> (DateList[{#, {"MonthNameShort", "YearShort"}}] &)
(括号很重要。)
这是一个将这些日期字符串转换为 Mathematica 可以更好处理的格式的函数:
dateConv = With[{s = StringSplit[#, "-"]}, {DateList[{s[[2]], "YearShort"}][[1]],
DateList[s[[1]]][[2]]}] &
你可以试试
DateListPlot[data, DateFunction -> dateConv]
编辑:最初我尝试过DateList[{"Nov-11", {"MonthNameShort", "YearShort"}}]
,但这告诉我String "Nov-
11" cannot be interpreted as a date in format {"MonthNameShort",
"YearShort"}.
。也许是一个错误?