金融软件开发:交易程序化

  量化交易是最近几年国内逐渐兴起并蓬勃发展的金融软件领域。目前国外成熟市场中交易中大约70%为量化交易,2011年美国量化投资和对冲基金的规模就达到两万多亿美元规模,,如果国内某天放开股票T+0,那市场估计很庞大。现在国内量化主要在期货交易上(不要只迷恋股票,期货也有其独特个性,日持仓几千亿资金的股指期货也是期货之一)。

     前景就不多描述了,一个东西让大家为之侧目时,就已经很难进入了,所以了解一下很必要。也许你很适合做一个策略师,而不是一个程序员呢道开发一个策略很容易(当然开发一个能赚钱的策略不容易),利用开发平台,几十行脚本代码就行,多则几百行,也许在你空闲的某个周末就能创造出来。

     进入正题,要开发量化交易软件,有两种方式:

1.采用国内外已有的开发平台,例如国内的交易开拓者、国外的MultiChart,在上面用脚本语言编写交易策略,开发测试简单,,但运行效率不是很高,特别不适合高频率交易。适合策略师。

2.采用API接口,用c++、JAVA、(C#也可以通过调用C++实现)调用(例如上期CTP期货接口),入门要求比较高,适合开发各种简单或复杂策略或交易软件。适合软件程序开发者。

第一种方式入门简单,程序员可以考虑下找资料试试看,也许会产生一大批交易高手呢。不过据说交易需要艺术家的思维,逻辑性不太适应。唉,我就是逻辑性太强了点^_^。下面具体介绍第二种开发方式。

     下图是一个交易软件:

  

金融软件开发:交易程序化

      功能主要有3个部分:

      1.行情显示,需要继承CTP的行情接口,行情数据回 订阅与处理

      2.交易下单,需要继承CTP的交易接口,包括下单、撤单、合约查询

      3.账户信息,也是继承交易接口,包括成交记录、持仓、订单记录、资金状况

     

       开发CTP需要解决2个重要问题:

1.用户持仓、挂单计算,订单、成交处理

2.回 数据处理(行情、订单、成交等)

持仓的计算需要本地通过结合成交查询和成交回 处理,挂单则需要接口订单查询和订单回 处理,这是API开发入门的一个门槛;回 数据比较好处理,要保持高速,避免读写内存冲突,需要引入消息队列。

 

      用C++开发应用软件开发效率远不如C#,但是API并不支持C#,所以要么你一直用C++开发,但是C++程序界面定制很难,各种功能组件也少(例如你要引入加密、数据排序等),只用于开发策略软件可能是够了,但开发交易相关应用则远远不够,开发极费时间,你能找到C++库也许存在各种编译问题。所以我采用第二种方式:将CTP核心功能用C++封装成DLL,供C#调用,基于这个封装组件,我开发了几个应用,例如交易客户端工具、跟单工具、信 执行工具等。

     看一下这个组件的接口:

  其实内容也不多是不是p>

      

     

相关资源:金软PDF证书解密(PDF证书解密软件)v1.0-其它代码类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2015年2月9日
下一篇 2015年2月9日

相关推荐