1. 商业软件 VS 开源软件,你应该如何选择上手?

进入量化交易世界,首先要从选择上手工具量化软件开始……

添加助教微信(jwzhujiao2
领取<30节量化实战课>优惠券
加入量化训练营跑通量化交易

大家好,,我是用Python的交易员。进入量化交易世界,首先要从选择上手工具开始,在第1集的内容中,我们首先从国内市场常见的量化交易软件开始介绍。

大体上国内的量化软件可以分为商业软件和开源软件两类,这里我使用的是自己的一个定义,商业软件一般泛指的是闭源的,由一个商业公司运营的软件;那么开源软件指的是无论在GitHub还是在开源中国这些地方,用户可以直接下载源代码自行使用的软件。

部分量化交易商业软件品牌

对于这两者的比较,我们一共从五个方面来看:软件价格、它们提供的支持服务、安全性、灵活性以及它们的更新速度。

01分00秒

软件价格

首先从软件价格来看。商业软件在国内量化这块主要是分为三种,第一种是在交易所的佣金上固定加一个比例,比如说TBMC曾经统一地是在交易所的水平上加20%或25%;第二种是年费制的,有些软件比如说金字塔,可以一年以固定的年费来使用;还有一种是买断式的,比较常见于一些机构级的交易系统,比如说一些境外的交易软件,像Apama这些,尽管价格很贵,但是你可以选择一次性买断,以后就都可以用了。而开源软件这块呢更多是采用完全免费的形式,因为源代码都已经开放在网上了,即使要收费,那用户完全可以去选择一个代码完全相同的免费的网站去下载,也就不需要付费了。

02分10秒

支持服务

第二块是支持服务。商业软件的支持服务往往通常都做得比较好,用户在使用的过程中如果遇到任何问题可以随时通过免费的客服电话或者客服邮件来咨询,而相对而言开源软件这块是没有任何的免费服务的,但是为了解决用户的一些问题,开源软件的作者更多地会通过GitHub或者说通过社区论坛等方式来和客户交流,除此以外在开源软件的领域也有一些专门做这种付费服务的公司,像IT技术咨询,用户如果需要的话也可以找这些公司去付费购买这种额外的支持服务;

03分02秒

安全性

第三点则是安全性。这里我没有任何黑商业软件的意思,但是确实商业软件因为它闭源的特征,用户是无法得知底层软件的一些具体操作行为的,所以对用户而言策略的安全性只能依赖软件公司的信誉,尽管我相信99%的软件公司都是非常靠谱的,它们也不会去做一些不利于客户的行为,但是普遍在国内市场上的用户会存在一个对于是否我的交易平台可能会透露策略,还是有可能监控我的仓位的担心,那我觉得这一定程度上也反映出一些背后存在的问题。

而对于开源软件这块,因为开源软件都提供了所有的源代码,就意味着用户可以明确的了解到这个软件里面的每一个行为,这种情况下,只要愿意多花一点时间去研究这个开源软件,那么你可以做到绝对的放心,因为你可以了解到它底层所有的行为。

04分18秒

灵活性

第四点则是灵活性。通常商业软件绝大部分都还是针对某一类或某几类的策略来设计的。

举个例子,比如MC,它主要是针对CTA类的策略来设计的,用户如果在上面想要开发一个比如说海归交易策略或者日内这种股指期货的趋势策略都是非常的方便,提供了完整的数据、图形界面、回测系统和实盘交易系统这样的一套体系,对于针对性的CTA策略是非常方便的。但是MC的话,对于期权的波动率套利这种策略或者说对于一些准高频的价差套利策略,就比较望洋兴叹了,因为它整个软件架构就不是为这块的功能而设计的。

当然它们也提供了一定的扩展性,比如可以通过购买MC的SDK去做一些基于C#开发的功能,然后通过MC去调用。但是有一点,就像是硬要把一个用来载客的大巴车拿来去运货一样,就是你可以这么做但是会很别扭;那么开源软件这块就比较有优势,绝大部分的开源软件基本上都可以做到什么不行就改什么,对于用户而言只有想不到没有做不到。

也就是说所有的开源软件因为提供了源代码,从逻辑上讲,用户基本上可以运用这个软件去实现任何的功能,无论是实现CTA类的策略还是价差套利,还是期权的波动率套利,还是股票α策略的每天的算法执行等等,理论上都可以通过一套开源软件定制化地设计一些模块来实现。

06分24秒

更新速度

最后一点就是软件更新速度上的区别。那么对于很多商业软件公司而言,因为他有比较明确的目标,就是要赚钱,因为开公司嘛,老板总得赚钱,所以在面临一些新的业务和产品类型的时候,这些商业软件公司绝大部分会选择观望一段时间,等到这个业务或者说是产品的需求稳定下来了,也就是说已经有其他的一些友商前期已经踩过坑了,把一些潜在问题都已经找出来了,那么我们再花最小的力气去把这个功能实现,把它给做起来。因为我们知道在每个产品或业务刚出来的时候往往是最赚钱的时候,商业软件的客户就比较难以去把握这样一个机会。

当然这里值得强调一下,总有一些商业软件是乐意于开展一些新业务的,我这里提到的还是针对整个行业而言,行业的整体水平,可能商业软件不太愿意第一时间去切入某一个新品种,更多会选择等需求稳定下来了之后再去做,这个是由商业软件公司的盈利特性来决定的。

反过来呢,对于开源软件而言,这个则完全不是问题。首先在开源社区是永远不会缺乏吃螃蟹的人,很多时候是新的业务或者产品还没有上线,一些软件就已经早早地支持了,同时在这些产品真正上线了之后,这些开源软件更多针对这些新东西新业务开展过程中发现的需求变更,采用一个滚动开发的模式不断迭代、不断修正自己的功能,然后更好地去适应新产品。

所以说以上五点我觉得是商业软件和开源软件在一些方面的主要区别。这里并没有说商业软件就一定不好,开源软件就一定好。其实很多时候用户更多地是需要选择适合自己的工具。商业软件需要付费,它在服务等等方面可能会更好一些,那么就比较适合刚入这个行业或者说是不太有强大的IT开发能力或者说没有一定的IT开发团队的人,商业软件可能就是一个更好的选择。但是对于一些在业内做了很长时间积累了很多经验,需要更强的灵活性,需要实现一些可能更复杂的交易策略,这些商业软件都满足不了,或者是希望能更好地跟上市场的发展脚步,每有一个新的产品,可以第一时间切入,这个时候可能开源软件是个更好的选择。

以上是第1集的内容,在未来2集中,我将会为大家带来量化投资编程语言的详细介绍。同时,在未来的节目内容中,我还将通过视频的形式与大家分享更多量化实战技巧,欢迎持续关注。

 

— E N D —

风险提示及免责条款
市场有风险,投资需谨慎。本文不构成个人投资建议,也未考虑到个别用户特殊的投资目标、财务状况或需要。用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。