本文主要是介绍matlab--上帝视角交易法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
我们都知道,股票行情会呈现某种趋势上下波动,那如何计算过去某个时段固定本金情况下的最高收益值呢,下面的代码就是实现这一功能。
一、代码
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;
endfor t=1:day-1if(find_peak==1&&length(all_trough)>0)find_peak=0;target_trough= all_trough(1);all_trough(1)=[];endif(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);endendif(origindata(t)==target_peak)find_peak=1;mode=1;endif(origindata(t)==target_trough)find_trough=1; mode=2;endif(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;endmodere(t)=mode;
end
该处使用的url网络请求的数据。
总结
代码的核心思路在于
(1)找到曲线的相临近极值点,在极小值点处梭哈买入,然后让手中股票随着行情升值。
(2)到达最高点处梭哈卖出,等待下一个最低点买入。
这样就完成了全部的流程,具体代码已经贴出来了,如有不懂请留言哦。
这篇关于matlab--上帝视角交易法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!