2016年你最想对自己说啥( 五 )


C++的sort函数在algorithm头文件里哦
着手处理P的随机性问题
先从分段P来看。
clearvars -except w;% P = 0.45; %设置同向运动的概率quantily = 30000;point = rand(quantily,1); %设置1列随机值在0到1的数字,根据这个数字是否大于P值来决定是否涨跌换向zd = zeros(quantily,1); %设置"涨跌"为1,但是需要根据point和P的关系来判断是否涨跌换向hq = zeros(quantily,1); %行情for i = 1:quantily if i \u0026lt;= 10000 P = 0.45; if i == 1; zd(i,1) = 1; end if point(i,1)\u0026gt;P \u0026amp;\u0026amp; i ~= 1 if zd(i-1,1) == 1 zd(i,1) = -1; end if zd(i-1,1) == -1 zd(i,1) = 1; end end if point(i,1)\u0026lt;P \u0026amp;\u0026amp; i ~=1 zd(i,1) = zd(i-1,1); end end if i \u0026gt; 10000 \u0026amp;\u0026amp; i \u0026lt;= 20000 P = 0.5; if point(i,1)\u0026gt;P \u0026amp;\u0026amp; i ~= 1 if zd(i-1,1) == 1 zd(i,1) = -1; end if zd(i-1,1) == -1 zd(i,1) = 1; end end if point(i,1)\u0026lt;P \u0026amp;\u0026amp; i ~=1 zd(i,1) = zd(i-1,1); end end if i \u0026gt; 20000 P = 0.55; if point(i,1)\u0026gt;P \u0026amp;\u0026amp; i ~= 1 if zd(i-1,1) == 1 zd(i,1) = -1; end if zd(i-1,1) == -1 zd(i,1) = 1; end end if point(i,1)\u0026lt;P \u0026amp;\u0026amp; i ~=1 zd(i,1) = zd(i-1,1); end end endfor j = 1:quantily if j == 1 hq(j,1) = quantily/2; else hq(j,1) = hq(j-1,1) + zd(j-1,1); endendholding = zd; %因为是追涨杀跌,因此持仓方向和涨跌是同向的。在每次收盘后,确定是否需要反手zj = zeros(30000,1); %设置资金列for k = 1:30000 if k == 1 zj(k,1) = 30000; elseif holding(k-1,1) == zd(k,1) zj(k,1) = zj(k-1,1)+1; else zj(k,1) = zj(k-1,1)-1; endendsubplot(2,1,1);plot(hq);subplot(2,1,2);plot(zj);上面是在前10000个数据0.45的P,然后10000个数据是0.5的P,然后10000个数据是0.55的P。
2016年你最想对自己说啥

即使从大的框架上来看,0.45和0.5好像是有“行情”的。但资金曲线还是忠实的反应了实际情况。
从模型都是历史的拟合的角度来思考。当前10000根用了一套参数。而后面行情特征改变了。那参数在后面一段来看,是会失效的。
2016年你最想对自己说啥

这个是随机的P和它的交易情况。
从learning的角度来看。权重看不出什么解释。
波动率是循环的,但他是否是有趋势的?
如果用一个概率来改变P值,那在一段期间,P值时固定的。但是,能否把握住这个概率的趋势呢?又或者,如何把握呢?
动态规划(DP: Dynamic Programming)
--------------------------------------------------------------------------------------------------------------------------------------------
2016/1/13
改进算法是为了提升效率。然后“提升效率”这事在很多地方都用的着,SO,咱们就找到了“默默思考并敲代码”这件事情与很多其他事情的联系。


推荐阅读