4

当我试图在 Mathematica 中绘制一些金融时间序列时,我遇到了下图所示的问题:

似乎 2000 年后不再处理数据

有没有办法解决这个问题?

从 Bloomberg 或 Excel 导出时间序列以在 Mathematic 中使用它们的最佳格式是什么(使用版本 8)。

我确实知道 FinancialData 函数。但是,由于不知道确切的符号,因此直接使用 Mathematica 非常困难。

在此处输入图像描述

4

3 回答 3

6

为什么不使用 WolframAlpha[...] 函数 - 它以 Mathematica 格式导入本机并更新到当前日期:

    timeseries = WolframAlpha["msft close Jan 1, 2010 to Jan 21 2011",
{{"DateRangeSpecified:Close:FinancialData", 1}, "TimeSeriesData"}];
DateListPlot[timeseries]

在此处输入图像描述

那只是输入的一个例子。我不确定你到底需要什么样的数据,但你可以通过 WolframAlpha 函数获得很多数据。读这个:

1) WolframAlpha 2) Wolfram|Alpha 中的数据格式

于 2012-01-17T15:33:07.387 回答
5

使用该DateFunction选项来说明DateListPlot如何转换日期:

DateFunction -> (DateList[{#, {"MonthNameShort", "YearShort"}}] &)

(括号很重要。)

于 2012-01-17T15:28:52.050 回答
3

这是一个将这些日期字符串转换为 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"}.。也许是一个错误?

于 2012-01-17T15:29:14.083 回答