量化投资平台的设计与实现_第1页
量化投资平台的设计与实现_第2页
量化投资平台的设计与实现_第3页
量化投资平台的设计与实现_第4页
量化投资平台的设计与实现_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、    量化投资平台的设计与实现    蔡振之 孙建言 赵锦摘要:随着计算机技术的进一步应用, 尤其是大数据技术的崛起,许许多多传统的行业在新技术的应用下将会发生巨大的改变。量化投资是指通过数量化方式及计算机程序发出买卖指令,以获取稳定收益为目的的交易方式。本研究中,我们将从信息获取接口开始逐步完成可靠的程序交易方案的架构。关键词:量化投资;程序化;大数据:tp393 :a :1009-3044(2018)20-0047-02quantitative investment and investment platform design and implem

2、entationcai zhen-zhi, sun jian-yan, zhao jin(department of information science, dalian institute of science and technology, dalian 116029, china)abstract: with the further application of computer technology, especially the rise of big data technology, many traditional industries will undergo tremend

3、ous changes under the application of new technologies. quantitative investment refers to a trading method that aims to obtain stable returns by issuing trading instructions through quantitative methods and computer programs. in this study, we will gradually complete the architecture of a reliable pr

4、ogram trading program from the information acquisition interface.key words: quantitative investment; programmatic investment; big data1 引言在量化投資兴起之前,各种以人的判断为基准的投资方式是市场的主流。这种投资策略对投资机构的各能力要求较高。不但要求投资机构能够预判市场动向,而且需要操盘者细心谨慎,时刻观察市场变化。这样的投资方法有一定的主观性,而且运营成本高,风险大,收益率受主观影响大。随着信息技术和计算机技术的飞速发展,一种定量的投资方法悄然兴起。通过建

5、立合适的数学模型并对大量数据的分析,来达到把握市场趋势,判断交易对象和数量的目的。同时,通过券商提供的接口直接由计算机发出交易指令,高效而精准地进行投资,排除了人的认知偏差和主观认识,并调动了计算机无与伦比的计算能力,将投资风险降低,保证投资收益率相对稳定,传统投资相比收益更高。2 可行性研究2.1技术可行性本次研究实现的量化投资架构将使用python作为基本编程语言。通过numpy、pandas等python下的工具包提供的数据结构来处理数据。如果需要高级的算法python下包含的各种算法模块更是其他所有语言无法企及的。在金融产品的程序化交易方面,我将使用盈透公司提供的交易网关进行账户背书。

6、使用python对现有的api功能进行进一步开发可以实现程序化交易功能。综上所述,在技术上量化投资架构具有良好的技术可行性。2.2经济可行性本次研究实现的量化投资架构主要的成本在于购买实时行情的成本。各个证券交易所的各种行情一般情况都需要购买。但这一成本很低,完全没有经济上的问题。此外,附加成本便是开户费用,以及美国股市对t+0操作的最低账户金额的一些限制。这些成本可以在投资业务逻辑中体现并加以解决。2.3社会可行性如今,有很多券商提供支持量化交易的网关,使用其现有的网关便能通过编程实现账户背书、资讯获取等功能。本次研究所使用的编程语言python遵循开源语言协议,可以按需要任意使用。此外,本

7、架构所涉及的软件模块都遵守mit许可,属于开源架构,在社会可行性上有充足的保证。3 系统详细设计3.1系统功能结构通过分析,本次研究中的量化投资架构可以分为三大模块:信息获取模块、策略实施模块以及实时监测模块。其中,信息获取模块将为投资提供所有的证券相关信息。而策略实施模块将可以将投资策略发出的做多或是做空信号实时地形成订单传送至交易所。最后,实时监测模块会时刻反映投资策略执行的现状。除此之外,三大模块下的各个功能也是各不相同。在此,将系统功能结构分为以下三层:3.2数据库设计本次研究是针对国际上各种金融产品的量化投资,其中包含了各种各样金融产品如:股票、期货、指数、债券等等。金融产品虽然种类

8、丰富,形式众多,但是其本质上都是信用契约的一种,可以用同一种实体进行表示:合约。根据合约这个实体,我们便能确定在金融市场中唯一对应的金融产品。虽然金融产品是多种多样的,但是金融产品的基本行情都是由基本的蜡烛图和常用的金融指标构成的。我们主要针对以蜡烛图为主其他信息为辅的量化投资策略进行实现。市场深度指的是当前市场中在证券交易过程中,现有订单的出价列表。市场深度有着独特的地位。无论是大订单的成交还是普通订单价格的确立都涉及市场深度带来的影响。订单是实施量化投资的关键实体,确定了订单的各个属性才能严谨地有效地实施投资策略。金融市场中的订单多种多样有限价单、止损单、市价单等等。虽然订单的种类繁多,但

9、是往往都可以在最基本的限价单上进行功能添加。在此,使用限价单作为订单的实体进行分析。在量化投资过程中,总有一个和券商绑定的个人账户。这个账户内所反映出的最终信息将是量化投资的最终结果,关于该账户的信息是非常重要的。3.3 类的设计对于系统中每个模块所包含的类,每个类中所包含的函数,在详细设计阶段应该将各个类及其函数进行详细的设计。1)信息获取类(inforcollector类)信息获取类集合了量化投资架构中所有的金融产品信息获取函数。其中的函数有合约搜索函数、蜡烛图获取函数、金融指标计算函数以及市场深度获取函数。2)订单管理类(order类)在实施量化投资的过程中,订单的管理是其主要事务。订单

10、管理类将所有和订单相关的函数集成在其中,主要是开启订单和删除订单函数两种。同时,开启订单函数还具有自定确定适当价格的功能。3)web服务类(watbcher类)本次实验的监测模块由web服务作为监控模块最终展示的窗口,所以需要一个完整的web服务作为监测模块的基础。我们选择tornado架构作为web服务的基础,其特性使得web服务简单而高效。web服务类中主要集成tornado架构所需要的各种基础函数。4)tornado响应类的子类在本次研究中,监控模块使用tornado架构来构建web服务。根据tornado架构的特性,不同的响应都需要对应不同的响应处理类,同时这些响應都应当是tornad

11、o架构下的requesthandler类的子类。在此需要的响应处理类有订单信息响应类、蜡烛图信息响应类和资产信息响应类。5)ib网关类的子类(ibapp类)ib网关类是由ib网关提供的让程序与ib网关交流使用的类。因为ib网关是与交易所交换信息的必经之路,所以ib网关类和很多类有着间接的依赖关系。由于所需功能不同,ib网关类将由合同接收类、蜡烛图接收类以及订单接收类继承。根据以上分析,系统中的类图之间有着比较复杂的继承和依赖关系,其系统总类图如下所示:4 结束语在本次研究的系统实现中,我们将围绕上文的分析,实现一套以技术分析投资策略为主的量化投资架构。参考文献:1 赵海军. 量化投资交易系统的设计与开发d.长春

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论