Octave 压缩股票数据

Octave 压缩股票数据,octave,financial,Octave,Financial,我有一个数据集,其组成如下: 2009,11,01,17,00,23,1.471700,1.472000 2009,11,01,17,01,04,1.471600,1.471900 2009,11,01,17,01,09,1.471900,1.472100 2009,11,01,17,01,12,1.472000,1.472300 2009,11,01,17,01,13,1.471900,1.472200 2009,11,01,17,01,14,1.471600,1.471900 2

我有一个数据集,其组成如下:

2009,11,01,17,00,23,1.471700,1.472000

2009,11,01,17,01,04,1.471600,1.471900

2009,11,01,17,01,09,1.471900,1.472100

2009,11,01,17,01,12,1.472000,1.472300

2009,11,01,17,01,13,1.471900,1.472200

2009,11,01,17,01,14,1.471600,1.471900

2009,11,01,17,01,18,1.471700,1.472000

2009,11,01,17,01,18,1.471900,1.472200
我用倍频程来处理这些数据。我想使用这个勾号数据来创建包含5、10中数据的各种文件。每隔30分钟。使用这种格式,它们可以绘制为条形图/烛台图,并执行进一步的计算。但是,我真的不知道如何通过数据循环来创建这样的文件

我熟悉Octave并使用这个软件,但是这个特殊的任务可以在其他一些软件中进行,以生成文件,以便以后导入Octave

我第一次尝试用八度音阶编码时出现以下错误:-

error: A(I,J,...) = X: dimensions mismatch
error: called from:
error:  /home/andrew/Documents/forex_convert/tick_to_min.m at line 105, column 25
生成它的代码是

[i,j]=find(fMM>=45 & fMM<50);

min_5_vec(1:length(i),1)=tick_data(min(i):max(i),1);   % line 105

[i,j]=find(fMM>=45&fMM首先,使用datenum将年、月、日、时、分、秒变量转换为时间:

datenum(2009,11,01,17,00,23)
将返回自1/1/0000以来的天数。 假设您将所有时间保存在一个称为时间的向量中。 现在,应该很容易找到您的第一次/最后一次:

first = min(times); 
last = max(times);
一分钟等于:

ONE_MINUTE = 1/24/60
现在,按如下方式进行装箱:

index = 1;
means = [];
for t = first:5*ONE_MINUTE:last
    current_bin = (times>=t) & (times<t+5*ONE_MINUTE)
    % do something with all the data for which current_bin==1
    means(index) = mean(data(current_bin));
    index = index+1;
end
index=1;
平均数=[];
t=第一次:5*一分钟:最后一次
当前_bin=(次>=t)和(次)