【发布时间】:2013-05-07 07:03:51
【问题描述】:
我正在制作高频价格数据的时间序列图。我的时间序列在上午 8 点到下午 4 点之间有每秒的报价,但跳过了晚上和周末。我怎样才能从我的情节中省略这些差距,以便每天的价格系列看起来“粘”在一起。
回答:
谢谢,@Shai!我选择了这样的东西:
% price, year, month, day, hour, minute, second are all column vectors of equal length
% exactly N price quotes per trading day (8am-4pm, excluding weekends)
date = datenum([year, month, day, hour, minute, second]);
price = price;
figure;
plot(price);
tick_index = 1:N:length(date); % my ticks are placed at the start of each trading day
tick_label = datestr(date(tick_index), 6);
set(gca, 'XTick', tick_index);
set(gca, 'XTickLabel', tick_label);
我对回答问题很陌生——如果我违反了礼仪,请告诉我!
【问题讨论】:
-
我不知道——将我的价格数据与 NaN 交错隐藏时间间隔?
-
相反,NaN 会产生间隙。你检查过
nnz(isnan(data))吗?无论如何,我们需要一些代码来重现该问题,以便进一步帮助您。
标签: matlab plot time-series