本文为初学者介绍了如何构建基于事件的全自动化交易系统。
建议首先量化贸易的初学者阅读fkdxss P. Chan书籍quantitative trading : howtobuildyourownalgorithmictradingbusiness。 这本书是基础。
量化交易系统可以分为半自动化交易和完全自动化交易两种。 半自动化系统适合一周有多少笔交易,建议使用Matlab、r语言甚至Excel。 具体建议如下。
可以忽略Matlab。 那会带来很多金钱上的成本。 博客和书籍等培训材料不会告诉你如何使用Matlab编码交易策略。 r语言有很多学习如何构建交易战略的资源。 推荐: quantstrattraderrunbyilyakipnis。 如果您没有编程经验,可以使用Microsoft Excel,使用Excel进行半自动化交易,但这不会帮助您建立完整的交易技术体系。 下图是一个半自动化的交易框架。
要完全自动化交易系统,适合实时下单。 可以使用C#语言。 QuantConnect也使用C#。 QuantStart和Quantopian使用Python,而HFT使用c。 当然Java也很流行。
系统体系结构在课堂教学executiveprograminalgorithmictrading中,教授全自动化交易系统的体系结构及其各个组件的特点。 请参照下图。
整个体系结构分为三部分,Application Server和Exchange,核心是复杂的事件处理引擎,市场数据输入事件处理引擎,由引擎向交易所发布买卖交易。
下图来自“algorithmictradingsystemarchitecture”by : stuartgordonreid。
系统的接口层使用的是MVC模式和观察模式,业务层分为数据源层的数据预处理层、智能层和订单处理层,最后是报表分析层。 在数据预处理层,可以采用滤波器等模式对数据进行预处理,业务的核心是CEP事件驱动引擎。
下面是一些开源系统开源交易系统。
)1)Quantopian)使用易于学习的Python,可以自由访问许多数据集,并得到许多社区的支持。 这是这一领域的市场领导者,开源项目是Zipline,这是开源引擎,导致了IDE的backtester,其Github仓库随之进行了谷歌group讨论
)2)QuantConnect)提供开源算法交易引擎。 链接请参照这个。 链接
使用Python matplotlib绘制股票走势图