炒股软件系统测试平台的使用
所谓系统测试,就是用历史数据来验证投资方法的正确性。测试平台将历史上所有满足买入或卖出条件的位置找出来,计算每一次交易的收益,从而得到采用该投资方法的可以得到的准确收益。
大智慧系统测试平台从信号有效性和交易有效性两方面来描述一个投资方法的好坏。所谓信号有效性就是当买入信号发出后,股票价格是否在一定时间内真的上涨到期望的幅度,其统计重点是出现信号后上涨的概率,用成功率来表示;而交易有效性就是对完整的买入和卖出交易进行统计,查看每次交易的收益情况,其统计重点是每次交易是否赢利,用年收益率来表示。
系统测试平台能在短时间内对任意分析方法形成各种图表形式的量化测试报告,定量地从成功率、盈利能力、风险系数等多方面评价投资方法的实战价值。用户可根据评测报告,对投资理念进行有的放矢的修正,全面提升实战性能。
测试平台可以对技术指标、条件选股和交易系统三种分析方法进行系统测试,测试需要五个步骤,分别用于设置分析方法及其参数、买人条件设定,平仓条件设定、市场模型及测试对象、测试设置汇总。
1.选择分析方法
在软件中,选择菜单【公式】【系统测试平台】出现如图3-1所示的“系统测试平台一选择方法”窗口。下面以KDJ指标的J线由下向上穿过D线发生黄金交叉为买入条件,对KD技术指标进行测试。
图3-1选择分析方法
在图3-1中,从“分组”页的列表中选择“反趋向指标”中的“KDJ随机指标(常用)”,然后设置其计算参数为90、12、12,分析周期选择“日线”。在选择分析方法时,如果该分析方法引用了未来数据,系统就会自动提示,如图3-2所示,防止影响测试结果。所谓未来函数,就是函数不满足时间的不变性,即时间靠后的数据对时间靠前的结果产生影响。大智慧里只有极少的函数是未来函数,如ZlG“之”字转向类函数、跨周期引用函数、 backset函数等,应尽量避免使用此类函数,以防影响测试结果。
图3-2系统自动提示未来函数
2.设置买入条件
选择好分析方法后,单击【下一步】按钮进入买入条件设定,如图3-3所示。
图3-3设置买入条件
第一步:设定测试时间段。
投资者可以在“测试时间段”中输入测试起始和终止时间,则系统仅测试该时间段内发生的买入或卖出行为。本例中测试时间段为2001年1月1日-2009年8月19日。
当测试结束时,系统如果不处于空仓状态则会按照最后一天的收盘价进行平仓,如果勾选“强制平仓盈亏不计入测试结果”项,则强制平仓的收益将不记入测试结果,否则计人。本例勾选“强制平仓盈亏不计入测试结果。
第二步:设定买入规则。
对于技术指标测试,这里需要在“买入规则”栏中设定买入股票的条件。本例设定指标线J上穿指标线D(即J与D发生金叉)。
说明:如果是条件选股或交易系统测试,则该项由公式自动决定,不需要用户设定。
还需要设定资金交易的规则。当条件满足时,系统需要决定买入多少股票。系统提供四种买入方式可供选择:(1)全部资金买入,即将所有可用资金买入该股票;(2)部分资金买入,即将所有可用资金的一部分买入该股票,例如可以设定使用30%的资金;(3)固定资金买入即每次动用固定数目的资金买入该股票,例如可以设定每次买入3万元的股票;(4)固定股数买入,即每次买入固定的股票数量,例如可以设定每次买入200股。本例设定部分资金买人,且每次投入40%的可用资金。
第三步:设定连续信号规则。
当出现连续买入信号时需要采取何种措施,有四种方式可以用来选择:(1)不再买入,此时必须等到发出卖出信号后才能再次买入;(2)同等买入,买入的数量与上一个买入信号相同:(3)递增买入,较上一个买入信号买入更多的股票;(4)递减买入,较上一个买入信号买入更少的股票。递增买入和递减买入还要选择每次递增或递减的比例。本例选择出现连续信号时递增买人,且较上一次递增50%的方法。
短期内发生的连续信号往往需要将它删除,系统提供对这种情况的支持。勾选忽略连续信号,就可以忽略若干周期内发出的连续信号,如果忽略零周期内的信号,等同于不忽略任何买入信号。本例忽略5周期内发出的连续信号。
注意:如果是新交易系統测试,资金交易规则、连续信号规则和忽略连续信号会自动屏蔽。
3.平仓条件设定
设置好买入条件后,单击【下一步】按钮进入平仓条件设定,就是设定在什么条件下卖出股票,如图3-4所示
(1)设定目标周期平仓。买入若干周期后,无论涨跌都平仓。本例选择20个交易日平仓。
(2)设定目标利润率(即止赢点)。当前股价上涨,与买入价相比收益达到指定百分比则卖出。本例选择与买入价相比到达10%的利润以后自动平仓。
(3)设定最大损失率(即止损点)。当前股价下跌,与买入价相比损失达到指定百分比则卖出。本例选择与买入价相比到达5%的亏损以后自动平仓。
(4)设定利润跟踪(即回落平仓)。随着股价的变化,每当股价从一个新高位置开始下跌时,则计算从这个新高开始最大允许回落的比率。为避免股价振荡,可以设置新高后若干天内的损失幅度。本例指定5日最大回落5%就平仓。
(5)设定成交价盘整(即横盘平仓)。若干日内价格变动幅度小于指定涨幅,则认为是价格盘整,强制平仓。本例指定20日内涨幅小于3%就平仓。
注意:对于交易系统公式,因为公式中已经设置了卖出条件,所以平仓条件是可选的,而对于技术指标和条件选股公式的测试则必须至少指定一个平仓条件。
图3-4设定卖出条件
4.选择市场模型
设置好买入条件后,单击【下一步】进入市场模型选择,这里可以设定资金的分配模型和系统测试范围,如图3-5所示。
(1)选择测试模型
选择【单股票测试】单选按钮,可对每一只股票投入固定的资金,不同股票间设立单独的账户,只能用于购买该只股票。
选择【全市场测试】单选按钮,表示总的资金投入到股市中,该资金根据发出信号的先后买人股票。该模型中只有一个资金账户,不同股票使用同账户买卖。采用全市场测试,可以更精确地描述实际情况,对于克服信号过于集中而造成资金紧缺的情况有很大的帮助。如果是新的交易系统测试,该项会屏蔽。
在“全市场测试”模型下,可以设定最多同时持有的股票数,以及每次最多买入的股票数。如果设定“限制最多持有股票数”,则当系统中持有的股票数达到该数目时,再有其他股票发出买入信号也不执行买入。对于已经持有的股票发出的连续信号,系统可以再次买人。本例限制最多同时持有10只股票。当有多只股票同时满足条件时,可以选择“全部买入”,或者最多同时买入一定数量的股票。本例设定最多同时买入5只股票。
有时会出现满足条件多于同时买入的股数,在这种情况下,该如何选择股票呢?系统会提供两种方法:随机买入;按照某个指标排序,选择强势股买入。本例选择随机买入。
图3-5测试范围的选择
(2)选择测试对象
测试对象是指对哪些股票进行测试。建议选择较多的股票进行测试,这样测试结果更具有广泛性。
单击【加入】按钮,出现如图3-6所示的“选择股票”窗口。可以用“Ctrl”键和“Shft”键多选股票,再单击【确定】按钮,将所选择的股票加入到测试对象列表中,也可以直接输入股票名称或股票代码将股票加入到测试对象中。单击【删除】按钮,则可将删除测试对象中选中的股票。
图3-6“选择股票”窗口
本例选择的测试对象是沪深A股所有1579只股票。
(3)设定资金
在“全部股票共投入资金”文本框中输入资金额。本例投入10万元。
5.测试设置汇总
设置好市场模型后,单击【下一步】按钮进入如图3-7所示的测试设置窗口,在此窗口显示刚才所设定的测试条件。
图3-7“测试设置”的汇总
由图3-7可见,本例的测试设置如下:测试的指标是KDJ技术指标。测试时间是2001年1月1日—2009年8月20日,不计入强制平仓的盈亏。测试股票共计1579只沪深A股股票,初始投入10万元资金。在日K线中,当KDJ(90,12,12)指标的指标线J上穿D时买入,且每次使用40%的资金按照收盘价买入。当出现连续信号时,使用较前一信号增加50%的资金量买人,并忽略5日内的连续信号。按照收盘价作为卖出价。当买入后达到20天坚决平仓;当利润达到10%时止赢卖出;当亏损达到5%时坚决止损卖出;当股价5天内回落最高价的5%时平仓;当20天内横盘,涨幅低于3%时平仓。采用全市场模型测试,最多持有10只股票,最多单次可随机买入5只股票。
如果用户对上面的设置不满意,可以单击【上一步】按钮,返回前面的步骤进行修改。