股票交易模型,股票交易模型测试
一、拉瑞.威廉姆斯,威廉指标的创使人、当今美国著名期货交易员、作家、专栏编辑、资产管理经理。曾获罗宾斯杯期货交易冠军赛的总冠军,在不到12个月的时间里使1万美元变成了110万美元,现就职美国国家期货理事会。
唉呀跳空交易系统基本理念:
拉瑞.威廉姆斯在其著作《短线交易秘诀》中称,该系统是其研究过以及交易过的最值得信赖的短线形态,许多系统开发人员都把它纳入实务操作当中。从某种意义上来说,这是一个心理交易系统,主要是量度过度的情绪化反应,导致的价格突变。其基本走势是在一个下跌趋势中,价格在箱形区间的下档附近波动持续5到10天,然后大幅低开跌破趋势线,卖压情绪极度高涨,如果随后反弹到昨日的最低价时,表明市场能量反转、另一波凌厉的涨势蓄势待发。
系统买入机械规则:
⒈收盘价比五日均价低4%,确保信号发生在跌势;
⒉开盘价低于昨日最低价1%;
⒊收盘反弹至昨日最低价以上。
二、维克多.斯波朗迪,专业证券操盘手、基金管理人,被《巴伦财经》杂志誉为“华尔街的终结者”,曾创造自1978年到1989年连续12年投资赢利,没有任何一年亏损的骄人战绩。
辨别趋势、追随趋势,是每一个技术分析人士的追求,维克多.斯波朗迪依据道氏理论,将趋势识别这项复杂艰巨的任务,简化为123法则。
123法则:
⒈首先趋势线被突破;
⒉上升趋势不再创新高,或下降趋势不再创新低(即只发生试探前期高低点行为);
⒊下降趋势中,价格向上突破前期反弹高点,或上升趋势中,价格向下穿越先前的短期回档低点。
尽管123法则简单有效,但其入场点较晚,通常已经错失一段相当大的行情,因而维克多进一步提出了2B法则,其实质是针对假突破现象进行观察。其基本理念是:如果在下降趋势中,价格已经创新低而未能持续下跌,而且重新升逾前期低点,则趋势可能反转。
系统买入机械规则:
⒈收盘价高于10日前的百日最低收盘价(验证回升);
⒉百日最低收盘价小于10日前的百日最低收盘价(验证已创新低)。
close>ref(llv(close,100),10) && llv(close,100)
三、汤姆.迪马克,SAC执行副总裁、债券基金经理VanHosington的CPO合伙人、40亿美元对冲基金经理利昂.库布曼的特别顾问、芝加哥商品交易所最大的个体交易商之一查里.迪弗朗西斯卡的前合伙人,曾任包括索罗斯、摩根财团、花旗银行、GoldmanSachs、IBM和UnionCarbide等在内的大金融机构的顾问。
汤姆.迪马克对于技术指标的背离有着创新认识,有一定证券分析基础的读者都知道,指标的超买超卖情况是技术研判的一个重要因素。但汤姆.迪马克则认为关键不在于是否超买或超卖,而是在于指标在超买超卖期运行的时间。为准确度量股票买卖压力情况,更提出了TDDeMarkerⅡ指标的创建方法。
将所有的价格运动都与确定的供给和需求水平联系起来。分子的值由两个买压度量标准组成。在8根K线图中,将当日最高点减去前一日收盘价的差值加到当日收盘价减去当日最低价的差值上。如果当日最高点低于前一日收盘价,则该买压部分就赋予0值;分母由8日分子值加上各自卖压值组成。卖压由两个度量标准组成。第一个部分是前一日收盘价减去当日最低点的差值,如果为负值,该卖压部分就赋予0值;第二个部分是当日最高价减去当日收盘价的差值,将两个部分相加,然后将所得值加上分子的值就得到分母。
TDDeMarkerⅡ指标,以买压、卖压的视角来评估证券价格运动,为我们提供了新的视角,我们依据其在超买区运行6天以上构建TD价格区间交易系统。(超买区指TDDeMarkerⅡ指标值在60以上)其公式源代码如下。
{价格区间交易系统}
tj1:=high>ref(close,1);tj2:=ref(close,1)>low;
iftj1then
fz:=high-ref(close,1) (close-low);
elsefz:=close-low;
iftj2then
fm:=ref(close,1)-low (high-close);
elsefm:=high-close;
td8:sum(fz,8)/sum(fm fz,8)*100,linethick3;
{以上为技术指标部分)}
count("td2.td8"<40,7)=7;
四、马丁.普林格,当今技术分析领域中最有影响力的领袖人物之一,目前担任普林格研究所所长、《市场评论》杂志主编,曾获加拿大技术分析协会杰克.弗罗斯特纪念奖章。
系统思想:否极泰来,当价格处于极端摆荡价位时,反转在即。该思想还可与成交量摆荡结合使用,验证二者的汇聚效应,更可提高胜算。
系统机械买入规则:
当日收盘价与28日移动平均线的比值,少于-10。
公式源代码:
bd:=(close/ma(close,28)-1)*100;
bd<-10;
五、康斯坦丝.布朗简,证券分析大师、基金交易员,主创空气动力投资网站(www.aeroinvest.com),每天发布公告,对道琼斯指数、标准普尔指数以及债券市场趋势做出预测,其准确性无人能及,堪称价格目标及市场趋势判断和预测第一人。
系统思想:对RSI相对强弱指标进行三重平滑,其计算步骤如下。
⒈计算14日RSI指标;
⒉计算14日RSI指标的5日平均;
⒊将第2步计算结果求3日平均;
⒋求第2步、第3步计算结果的差额,以柱状图标示。
公式源代码:
LC:=REF(CLOSE,1);
RSI14:=SMA(MAX(CLOSE-LC,0),14,1)/SMA(ABS(CLOSE-LC),14,1)*100;
yszd:ma(ma(rsi14,5),3)-ma(ma(ma(rsi14,5),3),9),colorstick;
系统机械买入规则:
主要是求衍生振荡指标的极低点值,要求当日指标值高于昨日,昨日指标值为百日最低。
如何建立好的程序化交易模型
一. 程序化交易的理解
程序化一般分为两类模型,一类是趋势模型,一类是震荡模型,如果你想两者结合起来就要看自己的本事了,我的建议是程序化需要不停的去完美,但千万不能追求完美,以下所说模型都是趋势模型;
程序化交易一种工具,帮助你积累财富的工具,却不是一种暴利的赚钱方式,程序化交易模型有好坏之分,程序化赚钱的前提是一个好的模型,程序赚钱的关键是坚持的执行,程序赚钱的精髓就是在确定最终使用模型之后,彻底的放弃你对金融市场的一切理解和交易技能.就像武侠小说里说的,想练成最上层的功夫,就应该先废掉所有的武功.
二.程序化交易模型的选择与辨别
如果有人告诉你他的程序交易化能在不长的时间内,让你的资金翻几番,那你要为他的言语或者他的程序打个折扣,但是如果对方又能拿出不错的图形或者非常漂亮的收盘测试结果放在你的面前,你又当如何说服自己是相信还是不相信?以下内容就是帮助你如何辨别好坏模型.
1. 测试时间:一个好的程序化必须经得起时间周期的测试,如果一个程序化,结果很漂亮,周期却只有一两个月,不可信;
2 . 使用资金:很多人贴出来的漂亮测试结果,使用资金常常是80%或者其它百分比,但这些都是不合理的选择,因为金融市场资金管理很重要,在行情好时候,资金使用越高,收益越大,行情不好时,资金使用越高亏损越大,但我们无法去判断接下来的行情会如何,所以,历史测试的结果使用百分比的开仓方式是不合理,这也就是为什么,有时候会出现,资金使用率为80%是,测试结果是亏损的,而且使用率为40%时又是赢利的.总而言之,资金使用时应该选择固定的手数进行测试,不管他的行情如何,永不加仓或减仓,来测试一个模型更为合理;
3、测试方式:开盘价和收盘价测试均有其不合理性,趋势模型一般以趋势逆转点为开仓信号,故较为准确的是:出现指令价位。
测试结果的分析:
a.指令总数:也就是信号数,过高,说明震荡行情过滤不好,过低,说明风险大;如何判断信号数合理呢?那就只有不同的模型在同样的周期下的一个对比了.还有一个最简单的方式就是将 指令总数/有效交易天数 以日内短线为例,一般一个有效交易日的平均信号数在2-5之间(此数据仅供参考);
b.利润率:总利润不用看,只看扣出最大利润的结果,必须为正,而且测试周期越长利润率应该越大,很多模型,测近期不错,测远期就不行,所以测试时应该尽量的去测能测到的最长周期.(当然因为行情关系也可能出现,长期比短期利润率低,但总体而言,周期越长利润率越高,才是好的模型的测试结果)
c.正确率:其它条件都完全一样的情况下,正确率越高自然越好,但也不用为了看到一个高正确率的模型而心动,也不用因为你自己模型的正确率低而担心,一般的正确率能在45%左右,就不错了,因为程序化的本来意义就是赚大亏小,在震荡的时候正确率自然会低;
d.最大亏损率:如果你是选择的固定手数,比如10手进行测试,你的最大亏损率最大应该不能超过10%,当然,如果你选择的测试手数多,最大亏损率可能有所提高.如果你选择的80%的资金使用率,可能亏损会更大,当然也会有亏损的不大的测试结果,这往往和你的测试周期中的行情的一定关系,所以不值得过于依赖;
e.空仓时间:以日短线为例,空仓时间不能太高,太高,必然会错过大行情,当然,这一项不是最重要的,如果你空仓时间长,利润也高,错过就错过吧,错过不是过错,没赚到也不存在亏损的风险;小结:测试结果分析不能只看某一个数据,因为结合起来一起分析:指令总数不能多也不能少,周期越长利润率应该越高,正确率45%以上就可以接受,最大亏损不能过大,空仓时间可以自行把握;
如果一个程序化交易模型做到了以上几点是不是就算一个好的模型了呢,基本上可以算了,但最重要的是我们还需要结合信号图形(此点需要一定的程序化经验,并不一定看上去好的模型就是好,当然看上去好是前提,如果看上去都觉得一般了,那肯定是不行)来分析,此外,还要看到模型里是否有未来函数,如果是日内短线,信号就一定不能消失,每天的跳空缺口需要技术性的回补等等其它问题都是分析一个模型好坏的理由,但是,一个好的模型是不怕任何测试与分析的.
三.程序化交易的执行
这一点没什么好讲却又不得不讲,很多有多年经验的操盘手,甚至一些国内的金融公司,常常会对程序化交易提出一定的质疑,我就遇到一个期货公司的老总,因为觉得程序化好,准备的资金,进行了程序化交易。首先我不知道他选择模型的依据是什么,号称只是因为人家是大公司,测试结果不错,(如果是我听到这样的话,肯定不会很快的就认定他们的模型,因为我也见过某些(不方便透露)所谓大公司的程序化交易模型的原码,说实在的,确实是**,理论基础都无法说服我,但做出来的图形要去迷惑一些想使用程序化的入门者是绰绰有余)结果这个老总使用该模型交易时,正好遇到一段时间的震荡行情,可能是亏了不少吧,然后决定放弃程序化交易.
这就是一个典型的程序化交易执行的例子,程序没有人性,我们在使用时就更不应该加入人性,如果你决定使用程序化就给自己一个时间期限(不管是真钱也好,模拟也好),时间不能太短,如果短也可以,必须在这段时间中,你要自己能分析出,是不是都能遇上基本上所有的行情,比如,测试三十天,遇到过十天的震荡,也遇到了好几天的大行情,以此来分析程序的好坏;绝不能因为几次的使用结果不好而去否认程序化交易,也不能因为几次的使用成功而完全信任,必须要有一定时间的观察与模拟,然后再到真钱的尝试,时间长短是小事,关键是是否经历过大部分的行情,从而选择一个最适合而不是最完美的模型进行自己的程序化交易;
一旦执行,你就应该忘记所有的金融市场的条条框框,你就是一个傻瓜执行者,聪明人在金融市场上不一定能生存,傻子在金融市场也不一定被淘汰.
来源:盘手网俱乐部
标签: 股票交易模型
相关文章
发表评论