❶ 做量化交易选择什么语言好呢
量化交易,就是把人能够识别的信息变成数字,输入给计算机程序处理,辅助或者代替人类的思考和交易决策。
初学者碰到的第一个问题就是工具的选择。首先大部分交易员本来不会写程序,选择任何一个语言进行策略开发,都有不小的学习成本。更重要的是,选择了一门语言,接下来开发环境、人员招聘、数据接口与平台、甚至同类人群之间的交流、遇到问题后的支持,都跟着被“套牢”。所以从一开始就必须慎重对待。
先给出答案:对于还没有确定一套固定量化环境的,建议用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都有极好的支持。
❷ 我不会写程序,但是我希望能编写EA,听说EA生成器,但不知道有什么作用哪里可以申请使用
"
EA生成器一般只需几步操作,就可以生成转换成EA程序。但是一般外汇平台,只有几个大平台能够提供EA生成器的,不知道你使用的是哪个平台?我用的是GKFX捷凯金融,作为一个什么代码都不懂的,只要自己设置操作一下,就能编辑出EA程序很实用的。建议你去看一下。"