做量化交易选择什么语言好呢?

实现量化交易策略模型的编程语言很多,比如python/JAVA/C/Matalb/等,哪种语言更适合量化交易?

量化交易是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,极大地减少了投资者情绪波动的影响,避免在市场极度狂热或悲观的情况下作出非理性的投资决策。

应答时间:2021-12-02,最新业务变化请以平安银行官网公布为准。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-09-23

量化交易,就是把人能够识别的信息变成数字,输入给计算机程序处理,辅助或者代替人类的思考和交易决策。

初学者碰到的第一个问题就是工具的选择。首先大部分交易员本来不会写程序,选择任何一个语言进行策略开发,都有不小的学习成本。更重要的是,选择了一门语言,接下来开发环境、人员招聘、数据接口与平台、甚至同类人群之间的交流、遇到问题后的支持,都跟着被“套牢”。所以从一开始就必须慎重对待。

先给出答案:对于还没有确定一套固定量化环境的,建议用Python。

量化交易员面临的大致选择有:C/C++/java/C#/R/Matlab/excel等。我们从以下几个方面考虑简单做个对比。

注意:这里假设你团队规模在50人以下。

1 学习成本和应用的广泛性

C、C++的特点是速度最快,但要想用好,必须对计算机底层架构、编译器等等有较好的理解,这是非计算机专业的人很难做到的,对于做量化交易来说更是没有必要。

Java本来是SUN的商业产品,有学习成本和体系的限制,也不适合。

Excel面对GB级别的数据无能为力,这里直接排除。

Python、R和Matlab学起来都简单,上手也快,可以说是“一周学会编程”。但R和Matlab一般只用来做数据处理,而Python作为一门强大的语言,可以做任何事,比如随时写个爬虫爬点数据,随时写个网页什么的,更何况还要面对处理实时行情的复杂情况。

2 开始做量化分析后,哪个用起来碰到问题最少,最方便省事?

用历史数据的回测举例。假设我们有2014年所有股票的全年日线,现在我们想看看600001的全年前10个最高股价出现在什么时候。python世界有个强大的pandas库,所以一句话就解决问题:

dailybar[dailybar [‘code’]==‘600001’].sort_values([‘close’].head(10)

R/Mathlab等科学语言也可以做到。

C/C++没有完备的第三方库。如果为了做大量的计算,要自己实现、维护、优化相应的底层算法,是一件多么头疼的事。

Python从一开始就是开源的,有各种第三方的库可以现成使用。这些底层功能库让程序员省去了“造轮子”的时间,让我们可以集中精力做真正的策略开发工作。

3 现在我们更进一步,要做实时行情分析和决策

A股的入门级L1数据为例,每3秒要确保处理完3000条快照数据,并完成相应的计算甚至下单。这样的场景,C和C++倒是够快了。所以行情软件比如大智慧、同花顺等客户端都是使用高效率的语言做的,但像客户端那样的开发量,绝大部分量化交易机构没能力也没必要去做吧。

python的速度足够对付一般的实时行情分析了。其底层是C实现的,加上很多第三方的C也是C实现,尽管其计算速度比不上原生C程序,但对我们来说是足够啦。

4 quant离职了,他的研究成果怎么办

Python是使用人群最多、社区最活跃的语言之一,也是最受quant欢迎的语言之一。如果你是老板,你能更容易地招聘到优秀人材,享受到python社区带来的便利。

附几个量化中常用的python库:

- Pandas:

天生为处理金融数据而开发的库。几乎所有的主流数据接口都支持Pandas。Python量化必备。

- Numpy:

科学计算包,向量和矩阵处理超级方便

- SciPy:

开源算法和数学工具包,与Matlab和Scilab等类似

- Matplotlib:

Python的数据画图包,用来绘制出各类丰富的图形和报表。

PS: Python也是机器学习领域被使用最多的语言之一。像tensorflow、scikit-learn、Theano等等对python都有极好的支持。

本回答被提问者和网友采纳
相似回答