% dumb gaps script clear all; clc; spy = download_hist_yahoo_data('SPY', '10-Feb-2000', '01-Feb-2011'); %% now do a very simple caclulation L = length(spy.dates); pnlUp = zeros(L,1); pnlDown = zeros(L,1); prevClose =[nan; spy.close(1:end-1)]; gap = spy.open - prevClose; gap(1) = 0; bar(gap); %% get some statistics % gap down & low does not hit exit win = spy.open-gap; loss = spy.open+gap; clf; hold on; idx = find(gap<0); plot(idx,spy.open(idx),'ro'); plot([win,loss]); nrWin = sum(spy.high(idx)>win(idx)); nrLoose = sum(spy.low(idx)0); plot(idx,spy.open(idx),'go'); plot([win,loss]); nrWin = sum(spy.high(idx)>win(idx)); nrLoose = sum(spy.low(idx)0) & (spy.low0) & (spy.low>prevClose); pnlUp(idx) = -(spy.close(idx)-spy.open(idx)); % down gaps win idx = (gap<0) & (spy.high>prevClose); pnlDown(idx) = (prevClose(idx)-spy.open(idx)); % down gaps loose idx = (gap<0) & (spy.high