当前位置:  开发笔记 > 编程语言 > 正文

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

1tb,文华2建模软件:R,matlab,python3C++,C#4小众平台:MQ,OQ5公司自己开发的平台分别有什么优劣,如果是5,相比1-4有什么优势,谢谢!
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中我们甚至可以看到网络配置

~$ 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)
自己写,开源平台结构冗杂,逻辑不忍直视,效率低下,可扩展性差。
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也有回测平台?
推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有