论文部分内容阅读
摘 要:本文首先利用文华财经程序化交易软件,构建一个趋势性期货程序化交易模型。将该模型应用于螺纹钢期货合约,通过历史数据回测,得出该模型资金曲线,从分析资金曲线特性角度出发,对模型重新设计,建立更加优化的交易模型。
关键词:期货程序化交易 资金曲线特性 回撤百分比
一、引言
目前,我国期货市场已经取得长足发展,品种体系日渐丰富,涵盖了股票指数、基本金属、贵金属、能源、化工和农产品等大部分大宗商品品种。产品线的丰富和市场运作机制的完善,为广大投资者实现程序化交易创造了有利条件和广阔空间。程序化交易者的数量急速膨胀,管理资产的规模也呈指数级增长。程序化交易主要包括套利交易、算法交易、高频交易及趋势交易四种类型,不同交易类型各有优缺点,本文主要研究趋势交易这一当前比较主流的交易方式。趋势交易模型设计较为简单,仅仅依靠技术指标便可设计出各式各样的模型。然而,模型能否实现稳定的盈利,还需不断地进行改进和优化。传统的趋势交易模型多是依据趋势理论进行设计,思路主要集中于均线、k线、成交量等方面,优化方式集中于对不同参数、不同周期等方面进行。本文首先利用文华财经程序化交易软件构建一个趋势性期货程序化交易模型,再从分析资金曲线特性角度出发,对模型重新设计,建立更加优化的交易模型。
二、程序化交易及模型评价
程序化交易(Program Trading)也称自动化交易(Automated Trading)或算法交易(Algorithmic Trading),是指投资者将预先编好的交易策略输入进计算机,计算机依据策略进行开仓及平仓等过程。
1.程序化交易的依据及流程。程序化交易的主要依据是相信市场价格走势的历史性,认为历史会重演,根据历史数据所制定的交易策略能够在未来价格走势中发挥作用。程序化交易遵循被动交易的原则,不对未来的价格走势进行预测,而是简单的跟随,当价格走势满足开平仓条件时,计算机会及时地执行信号命令。当前市场上能够实现程序化交易的软件较多,本文主要应用文华财经程序化交易软件,通过使用文华财经可识别的麦语言,将编写的交易策略输入进软件,设定初始化参数,如初始资金、收费、保证金等,选取需要回测的历史数据,可以对选定周期的数据进行回测,进而得出模型的回测结果以及资金曲线,可以直观地判断出模型的优劣。
2.程序化交易模型评价。判断一个程序化交易模型的优劣,需要从多个方面考虑。
首先,一个好的程序化必须经得起时间周期的测试,测试周期太短便没有说服力,当前并没有统一的周期测试标准,按照经验,日线级别的趋势模型,测试周期至少一年。其次,主要对测试的结果进行分析。胜率,表示交易盈利的次数占总的交易次数的比例。通常情况下,胜率越高,则模型表现越好。依据经验,胜率在至少40%以上才可以接受。盈利率表示模型在测试周期内可以实现的盈利水平,盈利率越高,模型越好。权益最大回撤比表示账户权益在某个阶段内的最大回撤幅度,回撤越大,模型抗风险能力越差。盈亏比为总盈利与总亏损的比率,考虑到手续费、滑点等交易成本,一个优秀的趋势交易模型盈亏比至少应为1.5:1以上。除此之外,还包括最大连续盈利次数、最大连续亏损次数等指标。
三、趋势性程序化交易模型的构建
1.均线模型的构建。由于螺纹钢期货成交量较大,趋势性较好,所以本文以螺纹钢期货合约1小时k线图作为研究对象,为了避免由于期货合约换月所产生的跳空缺口,应用螺纹钢连续价格指数,来构建多均线程序化交易模型。数据选取2013年1月1日至2016年9月30日。模型主要采用了移动平均线的交易策略,要运用移动平均线方法,先要明确定义移动平均线。本文采用简单线性加权法,N个周期的简单移动平均为:
其中,C为k线收盘价格。
2.模型交易规则。本模型以三条移动平均线为基础,分为快线MAN1、中线MAN2和慢线MAN3(N1MAN2>MAN3时,开仓做多,当快线走在中线之下,且中线走在慢线之下,即MAN1 将以上策略在文华财经程序化交易软件中实现,交易代码为:
MAN1:=MA(CLOSE,N1);//求N1个周期的收盘价均线
MAN2:=MA(CLOSE,N2);//求N2个周期的收盘价均线
MAN3:=MA(CLOSE,N3);//求N3个周期的收盘价均线
//交易系统(条件,指令)
MAN1>MAN2&&MAN2>MAN3,BPK;
MAN1 AUTOFILTER;
其中N1、N2、N3为三个参数,初始我们设定为N1=5,N2=21,N3=60。
3.模型回测。将该模型应用于历史数据进行回测,首先设定回测参数,初始资金为10000元,保证金8%,手续费参考徽商期货公司的标准,设为1%%,设置1个滑点,开仓手数为1手。
据根据回测报告可以看出,该模型在2013年1月1日至2016年9月30日期間,出现信号个数为68次,初始资金10000元,最终权益32544元,净利润22544元,盈利率225.44%,年化单利收益率60.24%,手续费356元,滑点损耗1340元,夏普比率9.19,胜率46.27%,盈亏比2.29,最大持续盈利次数3次,最大持续亏损次数4次,权益最大回撤比为30.42%。
由回测结果可以看出,该趋势模型盈利较高,胜率也达到了40%以上,盈亏比也较大,符合模型基本要求。但是,该模型权益最大回撤比相对较大,达到30.42%,假如回撤发生在模型使用初期,那么使用者将遭受较大损失,风险厌恶者将难以承受如此大的回撤压力。所以,对模型进行优化改进必不可少。 对模型三个参数N1、N2、N3进行优化,结果如下:
经过参数优化以后,盈利率和胜率都提高了,同时权益最大回撤比降到了22%左右,依然较高。因此,需要从资金曲线特性角度出发,重新设计策略,以得到更完善的模型。
四、基于资金曲线特性的模型设计
1.资金曲线特性。资金曲线是指模型经过历史数据回测后所得出的一条资金走势图。资金曲线随着盈利或者亏损而起伏不定。资金曲线表现出诸多特性,如波动幅度、百分比回撤等,本文选择从百分比回撤角度设计交易策略。
2.模型设计。首先,定义回撤百分比,假设模型出现信号时资金权益为,回撤百分比,则,
根据定义,可以作出资金曲线回撤百分比图:
交易规则为:当资金曲线回撤一定百分比后,下一次信号出现,进行开仓操作;当资金曲线创新高后,下次信号出现,进行平仓操作。原始模型最大回撤约为30%,针对不同开仓时机,分别进行验证。
由表4-1可知,四种不同开仓条件下,模型盈利水平不同。根据选定的四种开仓时机,可以得到其资金曲线图4-2。
根据新的开平仓时机所设计出的交易策略,可以实现更加稳定的盈利,虽然盈利率相比原始模型有所降低,但是权益最大回撤比得到了大大改善。四种不同开平仓条件下,权益最大回撤比基本不超过10%,资金曲线更加平滑,改善后的交易策略能够更好地应用于实际。
五、结语
本文在构建一个趋势程序化交易模型基础上,从模型资金曲线特性,即百分比回撤的不同,对模型进行了重新设计,并进行模型检测。优化后的模型虽然在收益率方面较原始模型有所降低,但是权益最大回撤大大改观,回测资金曲线更加平滑,表明优化后的模型抗风险能力更强。
参考文献:
[1]熊熊,张博洋,张永杰,付琳惠. 程序化交易系统的检测与优化体系[J]. 科学决策,2013,08:1-15.
[2]张戈,程棵,陆凤彬,汪寿阳. 基于Copula函数的程序化交易策略[J]. 系統工程理论与实践,2011,04:599-605.
[3]黄遒舜. 程序化交易模型在中国期货市场的应用[J]. 中国外资,2011,20:218+220.
[4]瞿慧,刘烨,李娟. 基于遗传编程的中国股票市场有效性新检验[J]. 统计与决策,2011,23:137-142.
[5]谢荣华. 程序化交易策略的创新[J]. 中国集体经济,2015,07:73-74.
[6]蔡志成,陈威杰. 程序化交易研究[J]. 经营管理者,2013,30:162.
[7]包思,郑伟安,周瑜. 基于MACD的平稳技术指标在高频交易中的应用[J]. 华东师范大学学报(自然科学版),2013,05:152-160.
关键词:期货程序化交易 资金曲线特性 回撤百分比
一、引言
目前,我国期货市场已经取得长足发展,品种体系日渐丰富,涵盖了股票指数、基本金属、贵金属、能源、化工和农产品等大部分大宗商品品种。产品线的丰富和市场运作机制的完善,为广大投资者实现程序化交易创造了有利条件和广阔空间。程序化交易者的数量急速膨胀,管理资产的规模也呈指数级增长。程序化交易主要包括套利交易、算法交易、高频交易及趋势交易四种类型,不同交易类型各有优缺点,本文主要研究趋势交易这一当前比较主流的交易方式。趋势交易模型设计较为简单,仅仅依靠技术指标便可设计出各式各样的模型。然而,模型能否实现稳定的盈利,还需不断地进行改进和优化。传统的趋势交易模型多是依据趋势理论进行设计,思路主要集中于均线、k线、成交量等方面,优化方式集中于对不同参数、不同周期等方面进行。本文首先利用文华财经程序化交易软件构建一个趋势性期货程序化交易模型,再从分析资金曲线特性角度出发,对模型重新设计,建立更加优化的交易模型。
二、程序化交易及模型评价
程序化交易(Program Trading)也称自动化交易(Automated Trading)或算法交易(Algorithmic Trading),是指投资者将预先编好的交易策略输入进计算机,计算机依据策略进行开仓及平仓等过程。
1.程序化交易的依据及流程。程序化交易的主要依据是相信市场价格走势的历史性,认为历史会重演,根据历史数据所制定的交易策略能够在未来价格走势中发挥作用。程序化交易遵循被动交易的原则,不对未来的价格走势进行预测,而是简单的跟随,当价格走势满足开平仓条件时,计算机会及时地执行信号命令。当前市场上能够实现程序化交易的软件较多,本文主要应用文华财经程序化交易软件,通过使用文华财经可识别的麦语言,将编写的交易策略输入进软件,设定初始化参数,如初始资金、收费、保证金等,选取需要回测的历史数据,可以对选定周期的数据进行回测,进而得出模型的回测结果以及资金曲线,可以直观地判断出模型的优劣。
2.程序化交易模型评价。判断一个程序化交易模型的优劣,需要从多个方面考虑。
首先,一个好的程序化必须经得起时间周期的测试,测试周期太短便没有说服力,当前并没有统一的周期测试标准,按照经验,日线级别的趋势模型,测试周期至少一年。其次,主要对测试的结果进行分析。胜率,表示交易盈利的次数占总的交易次数的比例。通常情况下,胜率越高,则模型表现越好。依据经验,胜率在至少40%以上才可以接受。盈利率表示模型在测试周期内可以实现的盈利水平,盈利率越高,模型越好。权益最大回撤比表示账户权益在某个阶段内的最大回撤幅度,回撤越大,模型抗风险能力越差。盈亏比为总盈利与总亏损的比率,考虑到手续费、滑点等交易成本,一个优秀的趋势交易模型盈亏比至少应为1.5:1以上。除此之外,还包括最大连续盈利次数、最大连续亏损次数等指标。
三、趋势性程序化交易模型的构建
1.均线模型的构建。由于螺纹钢期货成交量较大,趋势性较好,所以本文以螺纹钢期货合约1小时k线图作为研究对象,为了避免由于期货合约换月所产生的跳空缺口,应用螺纹钢连续价格指数,来构建多均线程序化交易模型。数据选取2013年1月1日至2016年9月30日。模型主要采用了移动平均线的交易策略,要运用移动平均线方法,先要明确定义移动平均线。本文采用简单线性加权法,N个周期的简单移动平均为:
其中,C为k线收盘价格。
2.模型交易规则。本模型以三条移动平均线为基础,分为快线MAN1、中线MAN2和慢线MAN3(N1
MAN1:=MA(CLOSE,N1);//求N1个周期的收盘价均线
MAN2:=MA(CLOSE,N2);//求N2个周期的收盘价均线
MAN3:=MA(CLOSE,N3);//求N3个周期的收盘价均线
//交易系统(条件,指令)
MAN1>MAN2&&MAN2>MAN3,BPK;
MAN1
其中N1、N2、N3为三个参数,初始我们设定为N1=5,N2=21,N3=60。
3.模型回测。将该模型应用于历史数据进行回测,首先设定回测参数,初始资金为10000元,保证金8%,手续费参考徽商期货公司的标准,设为1%%,设置1个滑点,开仓手数为1手。
据根据回测报告可以看出,该模型在2013年1月1日至2016年9月30日期間,出现信号个数为68次,初始资金10000元,最终权益32544元,净利润22544元,盈利率225.44%,年化单利收益率60.24%,手续费356元,滑点损耗1340元,夏普比率9.19,胜率46.27%,盈亏比2.29,最大持续盈利次数3次,最大持续亏损次数4次,权益最大回撤比为30.42%。
由回测结果可以看出,该趋势模型盈利较高,胜率也达到了40%以上,盈亏比也较大,符合模型基本要求。但是,该模型权益最大回撤比相对较大,达到30.42%,假如回撤发生在模型使用初期,那么使用者将遭受较大损失,风险厌恶者将难以承受如此大的回撤压力。所以,对模型进行优化改进必不可少。 对模型三个参数N1、N2、N3进行优化,结果如下:
经过参数优化以后,盈利率和胜率都提高了,同时权益最大回撤比降到了22%左右,依然较高。因此,需要从资金曲线特性角度出发,重新设计策略,以得到更完善的模型。
四、基于资金曲线特性的模型设计
1.资金曲线特性。资金曲线是指模型经过历史数据回测后所得出的一条资金走势图。资金曲线随着盈利或者亏损而起伏不定。资金曲线表现出诸多特性,如波动幅度、百分比回撤等,本文选择从百分比回撤角度设计交易策略。
2.模型设计。首先,定义回撤百分比,假设模型出现信号时资金权益为,回撤百分比,则,
根据定义,可以作出资金曲线回撤百分比图:
交易规则为:当资金曲线回撤一定百分比后,下一次信号出现,进行开仓操作;当资金曲线创新高后,下次信号出现,进行平仓操作。原始模型最大回撤约为30%,针对不同开仓时机,分别进行验证。
由表4-1可知,四种不同开仓条件下,模型盈利水平不同。根据选定的四种开仓时机,可以得到其资金曲线图4-2。
根据新的开平仓时机所设计出的交易策略,可以实现更加稳定的盈利,虽然盈利率相比原始模型有所降低,但是权益最大回撤比得到了大大改善。四种不同开平仓条件下,权益最大回撤比基本不超过10%,资金曲线更加平滑,改善后的交易策略能够更好地应用于实际。
五、结语
本文在构建一个趋势程序化交易模型基础上,从模型资金曲线特性,即百分比回撤的不同,对模型进行了重新设计,并进行模型检测。优化后的模型虽然在收益率方面较原始模型有所降低,但是权益最大回撤大大改观,回测资金曲线更加平滑,表明优化后的模型抗风险能力更强。
参考文献:
[1]熊熊,张博洋,张永杰,付琳惠. 程序化交易系统的检测与优化体系[J]. 科学决策,2013,08:1-15.
[2]张戈,程棵,陆凤彬,汪寿阳. 基于Copula函数的程序化交易策略[J]. 系統工程理论与实践,2011,04:599-605.
[3]黄遒舜. 程序化交易模型在中国期货市场的应用[J]. 中国外资,2011,20:218+220.
[4]瞿慧,刘烨,李娟. 基于遗传编程的中国股票市场有效性新检验[J]. 统计与决策,2011,23:137-142.
[5]谢荣华. 程序化交易策略的创新[J]. 中国集体经济,2015,07:73-74.
[6]蔡志成,陈威杰. 程序化交易研究[J]. 经营管理者,2013,30:162.
[7]包思,郑伟安,周瑜. 基于MACD的平稳技术指标在高频交易中的应用[J]. 华东师范大学学报(自然科学版),2013,05:152-160.