Home  >  Article  >  Backend Development  >  量化策略一般用什么平台回测?分别有什么优劣势?

量化策略一般用什么平台回测?分别有什么优劣势?

WBOY
WBOYOriginal
2016-06-06 16:22:565916browse

1 tb,文华
2 建模软件:R,matlab,python
3 C++,C#
4 小众平台:MQ,OQ
5 公司自己开发的平台
分别有什么优劣,如果是5,相比1-4有什么优势,谢谢!

回复内容:

处理合约换月回测这件事,就pass了市面上几乎所有平台。而这件事在商品里又极其重要。 @Cheney 已经说得很详细了,我来补充一下MQ和OQ,这两个软件我都用过。

先说OQ吧,前身是由俄国人开发,用于物理实验。后来被米国人收购,改成了量化交易软件QuantDeveloper,主要针对是小型到中型的机构客户。后来以QuantDeveloper为原型,发展了SmartQuant套件,其中OpenQuant 3X为旗舰产品,结合QuantBase(数据解决方案)、QuantTrader(交易解决方案)、QuantRouter(多账户、分账户、跨市交易解决方案)。

------------------------------------------我为什么是分割线呢------------------------------------------------------
以下我只是互联网的搬运工:

OpenQuant产品技术特点
运行平台:Windows .NET
主要编程与脚本语言:C#
OpenQuant 和 Visual Studio可用于策略编辑
Visual Studio可用于调试(通过VS的附加到进程)
QuantBase可处理每秒100万次I/O操作(取决于硬件)
QuantBase支持多数据源
QuantRouter支持多路输入与输出
利用FIX和API接口,支持超过20家服务供应商提供的历史数据、实时行情和交易服务。

量化策略一般用什么平台回测?分别有什么优劣势?

量化策略一般用什么平台回测?分别有什么优劣势?

量化策略一般用什么平台回测?分别有什么优劣势?



------------------------------咦,我为什么又是分割线呢--------------------------------------------------

看起来很牛逼是不是,呵呵,本韭菜要告诉你,资料不齐全,很多特性需要自己写代码进行实验,我们是折腾了半年,才算摸透。妈的,就在这个时候,quantbox突然宣布OQ3不再更新插件。强制升级到openquant2014,巨多坑又得重新填一遍。openquant2014带来很多先进的策略研发、管理理念。我这里就不一一多说了。

-----------------------------------妈的,我又是分割线--------------------------------------------------------

MagicQuant呢,号称是清华大学的教授带领研发的量化交易平台(你懂的)。呵呵,我都有QuantDevoloper源码你信吗?此处省略十万行代码。
不管他怎么来的,关键好不好用呢?说实话,比起文华、tb,B格还是要高很多的。交易速度快(据说比OQ还快一点点),正宗编程语言,库多,易扩展自定义功能。相比oq的不足,就是稳定性差点儿,没oq那么强大的套件组合。

------------------------------------------------我发誓,我是最后一个分割线-------------------------------------

咦,说好的回测平台呢?哎妈,答跑偏了。这两个软件的回测,肯定oq2014是要强大很多的。你可以自己写撮合器对接到回测引擎上,配合oq2014每秒200万次的事件处理引擎来回放最小粒度的数据,尽可能真实的还原交易当时发生的事情,避免掉入逻辑陷阱。

但是,本韭菜告诉你,但是,你觉得有必要搞这么复杂吗?你弄个macd上穿下冲、弄个双均线、弄个布林通道、弄个kdj金叉银叉、弄个理想论坛抄过来的奇形怪状的图形来做回测,你也去写一个撮合器,你就折腾吧。

本韭菜建议,加减乘除能搞定的,用文华TB。微积分、线性代数、概率统计、博弈论、神经网络、机器学习除了matlab、python你还能用啥。缠论、周易、易经、易筋经、金刚经、大日如来真经,你都快成仙了还来做交易干嘛。
建模分析后有潜力的,写成oq代码,用tick数据回放一遍。前后一致的,用小资金实盘,实盘数据不断和oq回放和matlab建模分析结果做跟踪对比,再逐渐加码。

另外,再提一个很好用的软件multicharts,功能强大,老少咸宜,专业的非专业的通吃。
传送门:MultiCharts 中国版,我不是安利。 不需要注明出处,可随意转载。 1.TB是现在比较专业的程序化使用的,编写语言是和C差不多的,功能比较强大;文华财经是自己开发的麦语言,相比TB编写简单多了,适合初学者入门。

2.建模来说,三个语言都差不多。Matlab在数值计算上没的说,它就是为此而生的,但同样面临软件过于臃肿、计算效率相对低下的问题。R使用的不多,但个人觉得与其学习R还不如学习Python。所以更为推荐使用python进行实现,因为python的可扩展性与兼容性,以及可读性更胜一筹,更容易与工程狮沟通,据我了解高盛、摩根等Quant部门现在大多使用python进行建模。

3.C++,C#在处理速度上胜过上述三种语言,但其在建模以及数值计算等方面有所欠缺。对于非计算机专业或者编程基础不扎实的人,并不推荐使用此语言进行建模。当然如果实盘玩高频,或是对交易时间有极高要求的,建议使用此语言,或者直接使用FPGA进行实现,不过这也涉及到你服务器存放的位置,服务器硬件条件、网速以及交易商本身的速度等多方面因素。有些跑题,在此不详谈!

4.小众平台OQ、MQ,都没有使用过,不做评价。

5.对于自己开发平台,个人觉得要看公司规模,以及人员配置等。最主要的是使用目的。如果像你所说只是用于回测,个人觉得开发的成本,以及后续的维护成本过高。并不推荐中小型公司以及非金融公司自行搭建。正如楼上推荐,可以使用况客,Ricequant - Beta,优矿,JoinQuant聚宽量化交易平台,Quantopian等量化平台。
I. 十分推荐在Quantopian上面进行学习,毕竟国外的量化交易好几十年了,其中很多帖子还是值得参考的,虽说并不是很适合中国股市,但也会激发一些灵感。当然纯英文,并不是每个国人都喜欢。并且交易规则与国内不同,学习模型可以,回测就算了吧。
II.JoinQuant聚宽量化交易平台,Quantopian本土化产品之一,沿用了Quantopian的设计理念,基本可以与Quantopian进行自由切换,但回测速度相比Quantopian有巨大提升(谁用谁知道),社区活跃,支持多个回测同时进行,有模拟交易的微信提醒。JoinQuant最打动我的就是客服的响应时间,十二点多问问题还有人回复,搞得我以后都不敢晚上问问题了,怕我一个问题影响别人睡眠- -!。个人觉得JoinQuant与Quantopian一同使用,可算是双剑合璧,模型通吃吧。
III.优矿,Quantopian本土化产品之二,背靠通联数据,数据比较齐全,但很多是付费的,这点很蛋疼,但也能理解,毕竟通联就是靠这生存的。回测速度相比JoinQuant慢,界面比较清新,也算弥补了回测慢的不足。数据齐全但调用API多而杂,大量的冗余,基本用什么查什么,好多属性存在多个API中,使用也是仁者见仁智者见智吧。
VI. Ricequant - Beta,Quantopian本土化产品之三,用的不多,只有一点感觉,他们该换PM了。
V.况客应该是四家中唯一一个使用R语言的平台,具体没用过,因为感觉R搞搞学术,自己建模还可以。一旦结合工程,就不适用了,没有哪个工程师会迁就你去学R,除非你是大牛! [原]代表最前沿R语言技术的云端量化平台:况客科技 R SDK 试用
前言

况客是张丹老师的一个创业项目,张丹老师是一位资深的R语言用户,著有《R的极客理想》系列书籍与系列博文,在R语言工程化的道路上有很多值得我们学习的,可以说张丹老师代表着R语言技术的最前沿。这一次,我们来体验一下张丹老师的最新作品,重点介绍一下云端量化平台的使用体验。

试用

打开,况客的console,令我眼前一亮的就是自动化统计报表+Rstudio-Server计算环境,参考 前文 基于RStudio Webinars的统计报告Web化与工程化实践总结,完美结合了科学计算环境+RMarkdown输出,这意味着即使我关掉了浏览器,计算现场也会原封不动的保留。

Rstudio环境

参考前文 RStudio Server环境快速配置教程在Rstudio环境中,我们甚至可以引入 Git版本控制、shell脚本、Shiny应用、Project工程化等等。我猜想,况客平台上的Rstudio也许也是基于Docker生成的虚拟环境。

在shell中我们甚至可以看到网络配置

<code class="language-text">~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:ac:11:2f:77  
          inet addr:172.17.34.8  Bcast:0.0.0.0  Mask:255.255.0.0
          inet6 addr: fe80::42:acff:fe11:2f77/64 Scope:Link
          UP BROADCAST RUNNING  MTU:9001  Metric:1
          RX packets:60686 errors:0 dropped:0 overruns:0 frame:0
          TX packets:33607 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:24220177 (24.2 MB)  TX bytes:52749143 (52.7 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
</code>
自己写,开源平台结构冗杂,逻辑不忍直视,效率低下,可扩展性差。
5的优点: 回测平台的好处就是把策略部分和回测运行部分分开,而策略部分只需要用API函数调用历史数据并下单,所以最重要的是平台提供的API函数必须适用于任何策略,所以自己的平台可以很方便的增加API。(比如对于天朝市场就要加入涨跌停板API,以及还有提取行业、成分股等API。要是别人的shitty platform,什么?你想加新的API?那你准备一个星期把它们的源码看一遍吧)另外,回测速度要快。自己写的平台肯定是把一切能够向量化的东西都给向量化了,而别人写的可能就能偷懒就偷懒,这个在速度上一般是10倍以上的差距。(比如order这个函数,有良心的平台肯定要向量化啊) 推荐一个不会编程的人也可以用的个股策略研究工具-量化大师,这是我们团队的一个小作品,也许目标人群可能不像楼上这些专业人士,因为牛逼的人都在自己编程自己实现很多模块。我们这个小工具是帮助不会编程的用户的,用户只需按照标准的交易系统规则,一步步的将买卖规则,仓位管理等规则组装,一键回溯即可,目前app已经实现了一些常用的技术指标回测,接下来还会实现多标的策略创建和回测,有兴趣的可以体验体验。

量化大师iOS下载: itunes.apple.com/cn/app Qt,wealth-lab,优点嘛,不用各种import,入门容易,缺点都是一样的,没有各种import,扩展性差 .net platform
先用 R 做基本的观察
然后C#直接写
接口模块构建好 也就第一次累点 以后只需要改逻辑
好处是不用学习别的平台的语言,并且很自由,自己写的调试放心。有问题知道在哪。 人生苦短,我用聚宽 我只是好奇QQ也有回测平台?
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn