如题,难道是期货交易策略在股市里不合适吗?求指点。
matlab代码:
%系统2
x=load('D:\MATLAB7\work\d_000002.txt');%[开盘,最高,最低,收盘]
x=x(:,1:4);%1-4列
[row,col]=size(x);
y=[x,zeros(row,3)];%[开盘,最高,最低,收盘,20日高价,55日高价,10日低价]
n=55
for i=n+1:row
y(i,5)=max(x(i-20:i-1,2));
y(i,6)=max(x(i-n:i-1,2));
y(i,7)=min(x(i-10:i-1,3));
end
%trade_histroy=
[0,0,0,0,0,0];%买入日,买入价,卖出日,卖出价,收益,收益率
buy=[];%记录所有买入信号发生的日期,价格
sell=[];%记录所有卖出信号发生的日期,价格
for i=n+1:row
if y(i,4)>y(i,6)
buy=[buy;i,y(i,4)];
end
if y(i,4)<y(i,7)
sell=[sell;i,y(i,4)];
end
end
j=1;
m=1;%循环次数
trade_histroy=[];
[buys,a]=size(buy);
[sells,a]=size(sell);
while m<=row
mark=0;
for i=1:sells %第j次实际买入之后最近的卖出信号
if buy(j,1)<sell(i,1) %buy(j,1)后最近的卖出是sell(i,1)
mark=1;
break;
end
end
if m<=2
trade_histroy=[trade_histroy;buy(j,1),buy(j,2),sell(i,1),sell(i,2),sell(i,2)-buy(j,2),(sell(i,2)-buy(j,2))/buy(j,2)];
end
if m>2
[x,y]=size(trade_histroy);
if trade_histroy(x,3)~=sell(i,1)
trade_histroy=[trade_histroy;buy(j,1),buy(j,2),sell(i,1),sell(i,2),sell(i,2)-buy(j,2),(sell(i,2)-buy(j,2))/buy(j,2)];
else
break;
end
end
for j=1:buys %第i次实际卖出之后最近的买入信号
if buy(j,1)>sell(i,1) %sell(i,1)后最近的买入是buy(j,1)
break;
end
end
m=m+1;
end
[trades,a]=size(trade_histroy);
trades
sum_porfit_ratio=sum(trade_histroy(:,6))
years=row/243
porfit_ratio_month=sum_porfit_ratio/(years*12)