Mathematica的日期格式

时间:2012-01-17 14:51:53

标签: datetime wolfram-mathematica quantitative-finance

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

2000年之后似乎不再处理数据了

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

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

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

enter image description here

3 个答案:

答案 0 :(得分:6)

为什么不使用WolframAlpha [...]函数 - 它导入原生Mathematica格式并上升到当前日期:

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

enter image description here

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

1)WolframAlpha 2)Data Formats in Wolfram|Alpha

答案 1 :(得分:5)

使用DateFunction选项告诉DateListPlot如何转换日期:

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

(括号很重要。)

答案 2 :(得分: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"}.。也许是一个错误?