Geometric mean for a specific time intervals

4 次查看(过去 30 天)
Hi all,
say that I have a matrix (NX2) where the first column's elements are the number of seconds (since midnight) and the second column is stock returns associated to associated to the seconds. How can I use the function geomean and compute the geometric returns for a specific time interval? Say the geomean returns at every minute interval? The problem is that I might have say 4 stock returns in some specific minute interval and sometime 10 returns in another interval. If I extract all the trades by minutes, the numbers of returns registered in each minute interval will not be the same. Thank you!

采纳的回答

Andrei Bobrov
Andrei Bobrov 2012-6-1
data = [(1:130)', randi(100,130,1)];
out = accumarray(ceil(data(:,1)/60),data(:,2),[],@geomean,NaN);

更多回答(1 个)

Charles Martineau
Andrei thanks a lot! I didn't know about the accumarray function. I should have been more clear though in my question: I have multiple days stack on over the other. For intance: all stock returns per second for Sept.02 and then Sept.03. I have to find out how not to accumulate geomean returns combining multiple days at the same time.

类别

Help CenterFile Exchange 中查找有关 Multirate Signal Processing 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by