设为首页 | 加入收藏 | 今天是2024年12月23日 星期一

聚合智慧 | 升华财富
产业智库服务平台

七禾网首页 >> 程序化交易 >> 程序化交易技巧心得体会

杨清婉:适合散户的量化交易软件大总结

最新高手视频! 七禾网 时间:2016-03-30 08:33:35 来源:程序化交易者 作者:杨清婉

对于机构,他们拥有着最好的系统,很多都是未公开的顶级量化系统。对于散户,是否也有类似的系统呢? 答案是肯定的(想都别想,绝对没有)


其实是有类似的,虽然没有机构的坦克/重型装甲车那么强大。但是也算是单兵导弹了。今天我就汇总一下散户可以接触到的顶级量化软件。


真实原因是,不断有人问我,扬大:你自编指数用什么软件,你这个图怎么出来的,你用什么回测好几十年数据,你这个XXX你那个XXX ,烦死。


比较了tradestation,metastock,ninjatrader,TradersStudio,MultiCharts,wealth-lab,RightEdge,openquant等几种在elitetrader.com最多的平台,以及国内的交易开拓者、文华财经、易盛和韩国的yestrader。


Tradestation和Metastock都有大量的现成代码,使用人较多(其中有很多资历很老或者是职业trader),其编程语言相对简单,强项在于开发各种指标很方便,但做Backtesting的功能就比其他弱一些。


其他几种平台都有相对较强的Backtesting功能,各有所长。


OpenQuant, Wealth-Lab 5, NinjaTrader, RightEdge都基于.NET, 使用C#语言

Wealth-Lab 4采用类Pascal语言

MultiCharts采用和Traderstation的EZ Language相兼容的Power Language

TradersStudio使用类Basic语言

Amibroker和MetaStock比较相似,采用基于数列的formula language,Amibroker的语言介于C和Basic之间,似MT4


相对于这些平台AmiBroker有如下这些我比较青睐的优势:


运行速度快。我多次看到的一些用户说AB是他们使用的软件中速度最快的,尤其是做Backtesting时的性能,是所有软件中最快的。我在VM中装了NinjaTrader和AB,其中NT装入的速度明显慢很多,而且已经有几次中途没有响应的情况。AB的装入速度非常快。


数据源极其灵活。这也是我非常喜欢的,目前我已经实验了用FXCM,QuoteTracker, IB作为数据源,效果都不错。使用AmiQuote下载EOD也非常方便。曾经一度犹豫是否要使用NinjaTrader,但是看到NT的数据源太不灵活了。至少是没有像AmiQuote这样方便的数据。不能使用DDE数据源,所以FXCM或者其他的数据源也就不太可能。


作为快速开发和测试环境。我看到一些老手说他们用AB快速地实验很多策略,由于AFL基于数列,所以操作起来比基于.NET的那些语言方便快捷很多。我也看到一些代码的比较,NinjaTrader和Amibroker相比就复杂很多。看到一个老Trader抱怨说NanjaTrader基于C#       的语言对于非程序员来说实在是太难。


注:AmiBroker好像是在EOD测试上比较强,不太清楚使用日内数据做测试的情况。更新:V5.2甚至可以在Tick上做backtesting和scanning。


集成接口很方便。今后如果要使用AB生成交易单的话,可以有很多种方法。是否能发邮件倒是没有注意。


对于分析和测试平台的一些考虑


在网上看了一些其他工具的评估:


NinjaTrader (NT) 从其运营的模式看还是和交易商的联系比较密切,数据源不开放是很大的缺点。有人评论说NT的方向是做交易平台,而在开发和测试方面,基于.Net的NT5太耗费资源了。这也是我使用NT5的感觉,每次装入都很慢。NinjaTrader不用考虑。


Wealth-Lab和RightEdge都是基于.Net和C#的,但Wealth-Lab主要是做测试和实验用,并不是一个完整的交易平台,数据源,Brokerage,自动交易接口都不是built-in的。而且最近Wealth-Lab的美国部分市场被Fidelity收购。WL4和WL5的差别也较大。从这个角度来说,Wealth-Lab是不用考虑的。


RightEdge根据评价说是还没有OpenQuant那么全面,所以也暂不考虑。


OpenQuant是QuantHouse(针对机构) Quant Developer的一个零售版(原来是SmartQuant Technology 被Quant House收购了)。也是基于.NET和C#的,我看了一下其文档,发现结构组织很好。而且OpenQuant提供头寸,资金控制等方面的功能,并且有Brokage的接口,可以做自动交易。


我看到一个使用Amibroker的Trader说他用Amibroker做快速开发和测试,然后在OpenQuant上面做更细致的分析,部署及交易。看到一些 代码,个人感觉代码工作量还是很大的。另附一个人的评论(Pasted from):


感觉不好使啊。从MetaProject工程建立Strategy似乎太累赘。一套Strategy分成market、entry、exit、money、risk等部分,有点像原版海龟介绍的“market:买卖什么?entry:何时介入?”标准格式。每部分写成一个类似.NET里组件,然后再合成一套Strategy。这有点像TS5.0的形式,不过看上去用纯OOP写Strategy非常地复杂、烦琐、无关的代码特别多。


此款软件面向的对像是程序员或者是程序设计爱好者,特别是.NET的程序员。


目前还不确定今后是否要评估和考虑OpenQuant


读后多数人意见如下:


觉得AmiBroker对编程的要求还是比tradestation和metastock要高一些,毕竟功能强了不少。不过相比那些基于.NET, c#的平台来说是简洁太多了。


比MT4也简洁很多。我原来用MT4就开发了一套框架,但是实验不同的策略时还是不够快捷。


AmiBroker,这个软件数据处理非常快,数据接口齐全,用的人也比较多。个人觉得唯一的缺点,是在全自动交易部分。如果通过IBC与IB互连,进行下单的控制那代码量就比较大。并且比较困难,非要下点苦功。


QD:面向是骨灰玩家级用户。有两种用法:一种直接在QD的界面下面写交易系统,另一种是利用QD的API自己开发属于自己的交易软件。即便是不用QD的人也可以安装下QD,看下QD的帮助文档,对于开发交易系统都大有帮助。缺点在于,QD的没有后续的服务(假如你用D版,一般个人都用不起正版。),当Broker的API更改,需要修改相关程序的时候就比较麻烦了。QD能够支持IB的顾问账户,但目前还有些问题。


OQ:对于IB单独账户跑已经成形的交易系统,是再好不过的了。得益于利用事件的处理机制。和QD相比,OQ没有QD灵活,QD功能更强大。


责任编辑:张文慧

【免责声明】本文仅代表作者本人观点,与本网站无关。本网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。

本网站凡是注明“来源:七禾网”的文章均为七禾网 www.7hcn.com版权所有,相关网站或媒体若要转载须经七禾网同意0571-88212938,并注明出处。若本网站相关内容涉及到其他媒体或公司的版权,请联系0571-88212938,我们将及时调整或删除。

联系我们

七禾研究中心负责人:刘健伟/翁建平
电话:0571-88212938
Email:57124514@qq.com

七禾科技中心负责人:李贺/相升澳
电话:15068166275
Email:1573338006@qq.com

七禾产业中心负责人:果圆/王婷
电话:18258198313

七禾研究员:唐正璐/李烨
电话:0571-88212938
Email:7hcn@163.com

七禾财富管理中心
电话:13732204374(微信同号)
电话:18657157586(微信同号)

七禾网

沈良宏观

七禾调研

价值投资君

七禾网APP安卓&鸿蒙

七禾网APP苹果

七禾网投顾平台

傅海棠自媒体

沈良自媒体

© 七禾网 浙ICP备09012462号-1 浙公网安备 33010802010119号 增值电信业务经营许可证[浙B2-20110481] 广播电视节目制作经营许可证[浙字第05637号]

认证联盟

技术支持 本网法律顾问 曲峰律师 余枫梧律师 广告合作 关于我们 郑重声明 业务公告

中期协“期媒投教联盟”成员 、 中期协“金融科技委员会”委员单位