比较了tradestation, metastock, ninjatrader, TradersStudio, MultiCharts, wealth-lab, RightEdge, openquant等几种在elitetrader.com最多的平台。
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 <http://www.hylt.net/vb/showthread.php?t=3797> ):
感觉不好使啊。从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功能更强大。
分享到:
相关推荐
在《NXT的程式语言比较[汇编].pdf》这篇文章中,作者Dick Swan探讨了LEGO Mindstorms NXT机器人平台上的多种编程语言,包括NXT-G, ROBLAB, ROBOTC, NXC, pbLua, 和 NXJ。这些语言各有特点和优缺点,适合不同程度和...
【电脑测试效能程式】是一种用于评估和监测计算机性能的软件工具。它可以帮助用户了解自己电脑的硬件配置,以及各项硬件在运行时的实时状态。通过这类程序,用户可以获取CPU(中央处理器)、GPU(图形处理器)、内存...
在“打印標籤打印測試程式”中,这个程序会负责解析用户的需求,如标签的内容、格式、字体等,并将这些信息转化为打印机可以理解的语言——通常是Page Description Language(PDL),如PostScript或PCL。打印机接收...
MATLAB是一种强大的数学计算软件,广泛应用于工程计算、数据分析、算法开发、模型创建和仿真等多个领域。它以其简洁的语法和丰富的内置函数库,为用户提供了高效解决复杂问题的平台。 1. **基础概念** - **变量与...
PLC(可编程逻辑控制器)交互程式是一种专用于工业自动化领域的软件工具,它允许用户编写、测试和调试针对PLC的控制程序。在工业生产环境中,PLC是控制机械设备和生产线运行的核心,通过编程实现对各种设备的逻辑...
C++标准程式库是C++编程语言不可或缺的一部分,它提供了丰富的功能和工具,使得开发者能够高效、便捷地编写代码。这个压缩包“C++标准程式库.rar”包含了关于C++标准程式库的重要信息,主要以“C++标准程式库.pdf”...
### 泛型程式设计与STL #### 一、概览与重要性 - **标题与描述中的核心概念**:标题“泛型程式设计与STL”与描述中提到的“欢迎下载”,简明地表达了这份文档的主要内容是关于泛型编程与标准模板库(STL)的介绍和...
"C++練習程式"通常是指一系列旨在帮助学习者掌握C++语言特性和编程技巧的代码示例或小项目。通过编写和实践这些练习,开发者可以深化对C++的理解,提升编程技能。 1. **C++基础语法**:C++练习程序通常会涵盖基本的...
【标题】"336个C程式范例的光碟...通过研究和调试这些代码,学习者能够提升编程技能,理解算法思想,同时也能对比和学习其他编程语言的异同,对于任何希望在软件开发领域有所建树的人来说,都是一个宝贵的自学工具。
总之,"148个C程式范例的光碟"是一个全面的实践平台,它提供了从基础到进阶的C语言学习路径,通过实际操作,你可以逐步提高自己的编程能力,为未来从事软件开发或进一步学习其他编程语言奠定坚实的基础。
### CLIPS程式技巧知识点 #### 一、CLIPS专家系统的安装与设置 - **下载与安装**:首先访问官方网站(http://clipsrules.sourceforge.net/)下载CLIPS软件,并进行安装。 - **示例程序**:为了更好地学习,可以从...
【标题】"374个C程式范例的光碟"涵盖了广泛的C语言编程实例,旨在为学习者提供丰富的实践素材,无需购买专门的书籍。这些范例是深入理解和掌握C语言的关键,通过实践可以更好地消化理论知识,提高编程技能。 【描述...
它以其强大的性能、灵活性和面向对象特性而受到赞誉,是许多软件开发领域的基石。C++程序设计涵盖了多个核心概念和技术,包括基本语法、数据类型、控制结构、函数、类和对象、模板、异常处理以及标准库的使用。 ...
【标题】"918个C程式范例的光碟"是针对C语言学习者的一份宝贵资源,其中包含了大量实际编程示例。这个光碟的目的在于帮助初学者和有经验的开发者通过实践来深入理解C语言的核心概念,提高编程技巧。 【描述】提到的...
【标题】"128个C程式范例的光碟"涵盖了C编程语言的基础到进阶的实践案例,旨在帮助学习者深入理解C语言的核心概念和应用。C语言是一种广泛应用的编程语言,以其高效、简洁和灵活性著称,是许多操作系统、嵌入式系统...
永宏的PLC程式.rar这个压缩包文件包含了与永宏(Fatek)可编程控制器(PLC)相关的程序示例。永宏是一家知名的PLC制造商,其产品广泛应用于自动化控制领域,尤其在中小型工厂自动化系统中应用颇多。在这个压缩包中,...
"C语言程式 140例子" 提供了一个丰富的学习资源,帮助初学者深入理解C语言的核心概念和语法结构。下面我们将详细探讨C语言的一些关键知识点,并结合140个实例来阐述它们的重要性。 1. **基本语法**:C语言的语法...
《2000个C程式范例的光碟 (Algorithms)》是一个珍贵的资源集合,为学习和理解计算机科学中的算法提供了丰富的实践材料。这个压缩包包含了2000个C语言编写的程序示例,旨在帮助程序员,尤其是初学者,通过实际操作来...
C++标准程式库是C++编程语言不可或缺的一部分,它提供了丰富的功能和工具,极大地扩展了C++的基础功能。这个库包含了许多子库,如输入/输出流、容器、算法、迭代器、函数对象、智能指针等,为开发者提供了一套高效、...
【标题】"220个C程式范例的光碟(Templates)" 提供了一套丰富的C语言编程实例,旨在帮助学习者深入理解C语言的基本概念和应用。这是一份宝贵的资源,无需购买额外的书籍,就能获取到大量实践性的程式范例。 【描述】...