matlab去掉指定列,以及合并去掉重复的列,日期变化

去掉某些列

delIx = strcmp(A, 'settings') | strcmp(A, 'exposure') | strcmp(A, 'equity');
A= A(~delIx);

 

合并去掉重复的

A= ([B, A(~ismember(A,B)) ]);

 

日期:1990,1,1 变成 19900101

datestr(datenum(1990,1,1),'yyyymmdd')

ans =

19900101

 

fgetl读取一行,取出fieldname类似excel里面的列名

然后送入textscan进行分析。

 

 

全部时间顺序

out.DATE = str2num(datestr(datenum(1990, 01, 01):datenum(date), 'yyyymmdd'));

截取部分

out.DATE = out.DATE(out.DATE >= settings.samplebegin);
out.DATE = out.DATE(out.DATE <= settings.sampleend);

 

k线实体与前一天的close比值

(CLOSE(2:end,:) - OPEN(2:end,:)) ./ CLOSE(1:end-1,:)

 

取最后n天的数据

CLOSE(end-n+1:end,:)

 

取出年 dateVec(1)=19911226

for j = floor(dateVec(1)/10^4):1:floor(dateVec(end)/10^4)

生成类似时间戳

dVec = datenum(([floor(dateVec/10^4) floor((mod(dateVec,10^4))/10^2) mod(dateVec,10^2)])); 

 

均值回归策略:

smashort与smalong比值是运动的,

lookback的k线数量

策略运动到504天,然后取出504的k线进入运算

策略运动到505天,然后取出504的k线进入策略计算

你可能感兴趣的:(matlab去掉指定列,以及合并去掉重复的列,日期变化)