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

然后测试了几种添加不同过滤条件的交易策略,然后还有参数优化,然后甚至优化出了赚钱的参数。然后我感觉想呵呵。在各交易成本下,各策略表现差异比较大。交易成本成了左右策略表现的关键因素。等价K模式下,各策略的表现虽然有差异,但可暂时归结为2个变量:1.成本占价差比 2.转向概率P//一个用于对比001号策略的002号追涨杀跌策略。它可以在0.1和0.2交易成本的情况下参数优化出盈利的参数。Params Numeric N(4);Vars NumericSeries hl; NumericSeries ll; BoolSeries condbuy; BoolSeries condsellshort;\tBegin hl = Highest(close,n); ll = Lowest(close,n); condbuy = close \u0026gt; hl; condsellshort = close \u0026lt; ll; if (condbuy) \t{\t Buy(1,close);\t} if (condsellshort)\t{\t SellShort(1,close);\t}Endhttp://codeforces.com一个程序竞赛的网站一个期望收益问题:某土豪发给两人一人一个红包,然后告诉他们,其中一个是另一个金额的两倍。请问,如果是你,你愿意和对方交换红包吗?--------------------------------------------------------------------------------------------------------------------------------------------2016/1/8熔断机制取消,今天ST沪深300摘帽。应该是个利好。clearvars -except a 这是MATLAB种删除a外其他所有的变量cat:用来联结数组 用法:C = cat(dim, A, B) 按dim来联结A和B两个数组。
run priceP.m; //这是生成模拟行情的文件,上面应该有代码x = zd(1:length(zd)-1,1); //这是我选择的训练输入列,它是当前K的涨跌值y = zd(2:length(zd),1); //这是输出列,它是下一根K值w = (x\u0026#39;*x)^-1*x\u0026#39;*y; //用线性回归来求权重w在这个代码下和选择的输入输出中,因为P,我选的是大于0.5的值,因此只要能计算出大于0的w值即为合理的。
run priceP.m;x1 = zd(1:length(zd)-1,1);b1 = ones(length(x1),1);x = cat(2,x1,b1);y = zd(2:length(zd),1);w = (x\u0026#39;*x)^-1*x\u0026#39;*y;加入全1列也一样。w大于0.残差项权重为e-4级别。
修改P为小于0.5的值,计算出的w是小于0的值。
而且w的值不单单是得到大于0或小于0。他的具体值和P的选择是有关系的。2*P - 1和回归计算出的w值是近似的(当然,这和我选择的价差是1是有关系的,但是上式中应该是相差一个价差的倍数关系)
run priceP.m;x1 = zd(1:length(zd)-2,1);x2 = zd(2:length(zd)-1,1);x = cat(2,x1,x2);y = zd(3:length(zd),1);w = (x\u0026#39;*x)^-1*x\u0026#39;*y;即使用些花里胡哨的技巧,用当前根K线和上一根K线做个2列输入,依旧没有骗的了这个最简单的回归得出的w值。w矩阵的结果依旧是后一根的权重约等于2*P-1。而前一根的权重的数量级很小。
如果把P改为0.5,那每次模拟得出的w就没有特别明显的特征啦。
所以,这个简单解答了昨天遗留的问题3。
那还有一个重头戏。如果P是动态的呢?
首先,怎么动态化P。
暂时我想到了2种方法,一种是自己可控的在一个阶段选择一个相应的P。例如前10万数据P为0.45,中间10万为0.5,后10万为0.55。另一种是自己不可控的方式,里面细分2个方案,方案1,首先有个随机数1确定是否需要调整P,然后当随机数1满足条件后,P值随机为1个数值。方案2,直接随机一列P值。方案1至少有一段时间P值时稳定的。而方案二的P是完全无序的。
我得承认,我的C++能力是非常LOW的
深度优先搜索(DFS,Depth-First Search)是搜索手段之一。它从某个状态开始,不断地转移状态直到无法转移


推荐阅读