前言
我们都知道,股票行情会呈现某种趋势上下波动,那如何计算过去某个时段固定本金情况下的最高收益值呢,下面的代码就是实现这一功能。
一、代码
origindata=table2array(data);
day=length(origindata);
origin_money=origindata(1);
all_peaks=findpeaks(origindata);
all_trough=findpeaks(-1*origindata);
all_trough=-1*all_trough;
times=origin_money/(origindata(1));
% target_peak= all_peaks(1);
% all_peaks(1)=[];
% target_trough= all_trough(1);
% all_trough(1)=[];
if(origindata(2)>origindata(1)) %判断初始状态
find_trough=1;
find_peak=0;
target_peak=0;
target_trough=0;
end
if(origindata(2)<origindata(1))
find_peak=1;
find_trough=0;
target_peak=0;
target_trough=0;
end
for t=1:day-1
if(find_peak==1&&length(all_trough)>0)
find_peak=0;
target_trough= all_trough(1);
all_trough(1)=[];
end
if(find_trough==1&&length(all_peaks)>0)
find_trough=0;
target_peak= all_peaks(1);
all_peaks(1)=[];
if(target_peak>0&&target_trough>0)
times=times*(target_peak/target_trough);
end
end
if(origindata(t)==target_peak)
find_peak=1;
mode=1;
end
if(origindata(t)==target_trough)
find_trough=1;
mode=2;
end
if(mode==1) %找到峰值状态 钱不变
origin_money(t+1)=origin_money(t);
end
if(mode==2)
origin_money(t+1)= origin_money(t)+(origindata(t+1)-origindata(t))*times;
end
modere(t)=mode;
end
该处使用的url网络请求的数据。
总结
代码的核心思路在于
(1)找到曲线的相临近极值点,在极小值点处梭哈买入,然后让手中股票随着行情升值。
(2)到达最高点处梭哈卖出,等待下一个最低点买入。
这样就完成了全部的流程,具体代码已经贴出来了,如有不懂请留言哦。