我有一个向量vv
,其中包含每个tick的市场量数据,以及一个包含不同分钟索引的向量minuteIdx
。我正在使用accumarray
来计算每分钟内的音量,如下所示:
orgMinuteVolumes = accumarray(minuteIdx, vv); %default function is @sum
notrades = orgMinuteVolumes == 0;
minuteVolumes = orgMinuteVolumes;
minuteVolumes(notrades) = [];
通常它可以很好地工作,但偶尔无法在一分钟内获得所有刻度的体积数据,并且体积矢量中有0
个。这导致minuteVolumes
向量比其他情况更短,因为我摆脱了所有的零。例如,如果vv
以1
开头(并且第一分钟只有一个刻度线),那么minuteVolumes的长度为175
,但如果我将vv
更改为开始使用0
然后minuteVolumes
只有174
长。我希望0
出现在我的minuteVolumes
向量中,而不是缩短它。是否有一种聪明的方法来实现这一目标?我最初的逻辑是,对于交易而言,交易量必须非零,但我没有考虑到偶尔的不良数据。