从下面的代码中,我试图检索250
观察结果而不是177
。差距是由于call
只考虑trading days
这对我来说很好。
s='SX5E INDEX';
f='LAST_PRICE'
t= datestr(today()-250,'mm/dd/yy');
T= datestr(today(),'mm/dd/yy');
[dt,~]=history(con,s,f,t,T)
但是,有没有办法从today()
检索最后 250 个观测值,无论t
的开始日期是什么?
最好
编辑
@Daniel :根据您的建议,以及 继续while loop
,我最终得到了以下way around
,它没有任何Matlab
默认calendar
设置。谢谢
while l~=p
n=p-l;
t=t-n;
[dt,~]=history(con,s,f,t,T);
l=length(dt);
end
也许我在评论中使用isbusday
的想法没有得到很好的解释。这是我会尝试的:
n=250;
m=n;
while(sum(isbusday(today()-n:today()))<m)
missing=m-sum(isbusday(today()-n:today()));
n=n+missing;
end
计算缺失天数,添加缺失天数并再次检查(如果您添加了假期)
最终应得到 n 必须查询的总天数。
(缺少工具箱,我无法测试代码)