|
楼主 |
发表于 2008-8-14 11:34 PM
|
显示全部楼层
回复 12# ppteam 的帖子
very easy matlab code. But as i wrote it a long while ago, there might be some glitches even thou i've proofread it before posting.
*********************************************************************** clear all;
pick=3; dir='DataFiles\'; datafile={'QQQQ', 'DIA', 'SPY'};
load([dir datafile{pick}]);
d=[Date HH MM SS Open High Low Close Volume]; idx=find((d(:,2)==9 & d(:,3) > 30) | (d(:,2)>=10 & d(:,2)<=15) | (d(:,2)==16 & d(:,3)==0))';
STO_N=20; K=zeros(length(idx),1); D=K;
data=[High(idx) Low(idx) Open(idx) Close(idx)];
for k=STO_N:length(idx) data1=data(k-STO_N+1:k, :); idxHn=find(data1(:,1)==max(data1(:,1))); idxLn=find(data1(:,2)==min(data1(:,2)));
Hn=data1(idxHn(1),1); Ln=data1(idxLn(1),2); K(k)=(data(k,4)-Ln)/(Hn-Ln)*100; end
N2=10; [D(STO_N+N2-1:end), dummy]=movavg(K(STO_N:end), N2, N2, 'e');
dx=0.04; x=100*([0:dx:1-dx]+dx/2); figure;hist(D(STO_N+N2-1:end), x); title(sprintf('Distribution of StocFull K for %s', datafile{pick}));
[ 本帖最后由 Quantum 于 2008-8-15 00:38 编辑 ] |
|