您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 综合/其它 > 基于Python的股指期货交易系统
基于Python的股指期货交易系统摘要:本文提出一种简单的趋势交易策略,选取每日股指期货的最高价和最低价作为特征,以长期最高价和长期最低价均高于短期最高价和最低价作为进场信号,其反趋势作为出场信号,在最大容忍20%的损失下,获得13.35%的良好收益水平。关键字:趋势交易、沪深300、最高价、最低价一、程序化交易简介程序化交易是指由计算机根据程序化交易模型处理市场行情数据,发出买卖信号,自动执行交易的一系列交易行为。程序化交易模型是指事先根据交易品种行情特性或交易者交易理念而设计的一组交易规则,并且将该组交易规则编译为计算机可识别的机器语言。交易规则包括进场规则、出场规则、风险控制规则以及资金管理规则等[1]。相对而言,人工交易则更多是釆用基本面数据、技术分析以及长期交易所积累的经验。人工交易的特点是顶尖优秀的交易员或许可以在短时间内获取暴利,但是其稳定性弱于程序化交易。人工交易的获利与亏损关键在于交易员的能力和状态,而程序化交易的关键则在于对交易模型坚持不懈的执行。程序化交易能够在一定程度上规避人的主观情绪所导致的非理性行为。同时程序化交易也能突破人工交易在精力上的局限性,能够小时多市场同时交易。二、程序化交易模型设计程序化交易可以应用的范围十分广泛,几乎可以涉及金融交易的各个方面。目前在国内应用得比较广泛的方面有:组合管理、风险控制、资金管理、日内高频交易和趋势交易等。我们项目研究的是主要是长期的趋势交易模型,由于模型都是基于历史数据进行拟合,为了提高模型的泛化性能,模型的以下几点性能需要重点考察[2]。1、模型适应性分析无论模型是基于哪种交易理念设计,在可改变参数的基础上,程序化交易模型都应该有一定的适应性。例如针对股指期货幵发的程序化交易模型,经过合理的调整参数,应该也是可以适用于螺纹钢等与股指期货有类似行情走势的品种。即便不能在该品种上获得较为理想的收益,至少也不能产生重大亏损。通过多品种和多周期测试,适应性分析,可以有效监测模型交易理念的逻辑合理性。合理的交易理念能够给交易者带来极大执行信心。2、参数敏感性分析参数敏感性也是一个十分重要的评价标准。一个基于合理逻辑建立的程序化交易模型不应该对于参数的变动有过高的敏感性。如果参数的微小变动使原本稳定盈利的交易模型变为亏损,那至少说明两点:该交易模型的稳定性欠佳;该模型的某一参数是针对过去行情进行了过度拟合。3、过度拟合分析参数敏感性也是一个十分重要的评价标准。一个基于合理逻辑建立的程序化交易模型不应该对于参数的变动有过高的敏感性。如果参数的微小变动使原本稳定盈利的交易模型变为亏损,那至少说明两点:该交易模型的稳定性欠佳;该模型的某一参数是针对过去行情进行了过度拟合。4、模型的评估1)净利润净利润是指交易模型回测总收益去除交易成本和亏损后所获得利润。毫无疑问,该指标是评估交易模型的重要指标。只有能在过去行情获得合理利润的交易模型才有可能在未来获利。而在历史行情中无法获利的交易模型在未来几乎不可能盈利。2)最大回撤最大回撤是指在交易模型回测过程中账户资金的最大亏损程度。该指标是进行风险控制和资金管理的基础。如果该项指标超出账户最大风险承受能力,则说明此交易模型不适用。3)交易次数长线交易模型一年可能只有几十次交易,而短线高频交易模型可能甚至有上万次的交易。对交易次数较少的模型可以不考虑手续费和滑点的影响。但是高频交易,手续费和滑点将成为影响交易模型能否盈利的关键因素。4)资金曲线图资金曲线图属于比较难以量化的指标,但却是十分重要的,通过对资金曲线图的观察,基本可以评估该策略的稳定性。我们共搜集了4年的股指数据,利用前三年的数据进行模型参数调优,最后一年的数据进行实际检测,综合考虑两者对照上述指标以取得良好的模型数据。三、沪深300股指期货趋势交易模型在我们的项目中,交易模型的基本思想是趋势追踪。当行情出现有效的突破时,进入市场,追踪行情发展。趋势追踪类交易模型最大的难题有两点。第一,通过什么标准评估市场所处阶段以及市场趋势性运行的方向。第二,如何有效降低因为市场假突破而导致的亏损,或者说如何提高对行情有效突破识别的成功率。1、经典的进场和出场策略[3]1)进场策略这里介绍了一种传统的利用威廉指标的交易模型,该交易模型对如上两个问题的解决方案是换一种思路使用经典震荡指标:威廉指标。威廉指标是由国际期货实盘交易大赛纪录保持者拉里威廉姆斯在1973年设计的。威廉指标的详细计算公式是:N周期威廉值=100*(N周期内市场最高价-本周期市场收盘价)/(N周期内市场最高价-N周期内市场最低价)。威廉指标表示的含义是当周期收盘价在过去一段时间(N周期)市场价格运行范围内所处的位置。如果威廉值比较大则表示当周期收盘价处于过去周期市场价格运行范围的相对较低点,可以考虑多头方向交易;如果未炼制比较小则表示当周期收盘价处于过去周期市场价格运行范围的相对较高点,可以考虑空头方向交易。从威廉指标的计算方法可以发现,威廉指标的经典用法是发现高低点进行震荡操作,但是通过研究发现,该指标对于趋势的追踪依然有着良好的效果。2)出场策略该交易模型的出场策略有两个,时间出场策略和价位出场策略。时间出场策略,为了控制隔夜交易所出现的跳空风险,该模型的时间出场策略为市场临近收盘时出场。价位出场策略有三个分策略。a、价格百分比固定止损。该策略是为了控制进场初期的最大亏损,属于止损性出场。该策略采用交易对象交易金额的作为固定止损。b、价格百分比回撤止损。该策略是为了保住所获得的利润,属于止赢性出场。以股指期货为例,若股指期货当前点位为时,该策略采用当单笔交易获利达元时,启动该策略,即当获利回吐已获利润的时平仓出场,以保住利润。c、平价止损。该策略是为了防止市场出现假突破时而设立的保本出场。2、改进的进场和出场策略经典的交易策略可以成功抓住几乎每一个市场趋势,同样不可避免的是会受到大量亏损。为了降低亏损,我们对进场信号做进一步严格的界限,首先选取移动平均法进行平滑进行长线交易,并用28日平均代表长期趋势,10日平均代表短期趋势,通过判断长期趋势短期趋势的最高价最低价来确定进退场信号。1)进场信号考虑到最高价反映了人们对股指期货的看多情况,最低价代表了对股指期货的看空情况,短期代表了最近的趋势,长期代表了相对较长时间的趋势,故当短期趋势的最高价大于长期趋势的最高价,并且当日的最高价高于前日的最高价的时候,表示当前正处在上升期,此时作为入场信号。2)退场信号价位出场策略有三个分策略。a、价格百分比固定止损。该策略是为了控制进场初期的最大亏损,属于止损性出场。该策略采用交易对象交易金额的作为固定止损。b、价格百分比回撤止损。该策略是为了保住所获得的利润,属于止赢性出场。以股指期货为例,若股指期货当前点位为时,该策略采用当单笔交易获利达元时,启动该策略,即当获利回吐已获利润的时平仓出场,以保住利润。c、趋势下降止损。该策略是为了获得最大利润,通过与判断上升趋势相反。四、模型测试数据处理:我们选取了我们利用2007/12/11至2016/3/4日共2000天的股指的数据,摘取股指的最高值和最低值进行处理。参数设置:1)假设初始的资金为100万,能容忍的最大损失为40%;2)假设第二天的买入和卖出价格都是第二天最高价和最低价的加权平均,买入时权重为0.3和0.7,卖出时为0.7和0.3;3)假设先不考虑杠杆,每日的总额为流动资金加当前持有的手数乘以当前股票。4)每手交易需要万分之0.5。测试结果:盈利:233万,年化利率16.6%。参考文献:[1]黄遒舜.程序化交易模型在中国期货市场的应用[J].中国外资.2011(20)[2]陈勇.期货市场程序化交易探讨[J].现代商贸工业.2011(19)[3]熊熊,袁海亮,张维,张永杰.程序化交易及其风险分析[J].电子科技大学学报(社科版).2011(03)
本文标题:基于Python的股指期货交易系统
链接地址:https://www.777doc.com/doc-2534910 .html