算法交易:那是什么?
想想看,约一个世纪前,电脑和各类数字设备都还未曾诞生。 那时的交易商们需要为自己的交易做纸面记录,还需要给他们的经纪商打电话来建仓。 一切改变都发生在1970-1980年代,社会进入电脑化的时代里。 到四十年之后的现在,我们不仅可以以秒速级别执行订单,还能创建系统来代替我们自己进行交易。 今天,我们要给大家介绍的就是算法交易 (又称自动交易、量化交易、黑盒交易) 复杂又迷人的世界。 因为算法交易对于新手来说可能看起来会有点吓人,所以我们会带领大家仔细来了解下它具体是什么。
简介
大致来说,术语“算法交易”代表的是通过操作拥有一套预编程好的规则 (算法) 的系统来交易的方法。 假设您买了一台日产机器人,他会按照您的指令去做事。 这里只有一个问题 -- 您需要学会日语,才能给这个机器人下指令。 在算法交易里,情况是一样的。 您可以创建一个算法,让它按您的希望建任意多的交易仓。 然而,您首先需要学习如何来创建这套算法。
算法交易 -- 通过操作拥有一套预编程好的规则 (算法) 的系统来交易。
算法交易有两大类: 第一类,其被各大投资基金所广泛使用,叫做高频交易 (HFT) 。各家公司使用特别强大的电脑来实现海量订单的秒级执行。 针对HFT存在有大量的批判观点,因为该类型交易摒除了人类的决策。 大型机构进场进行高频交易也是导致市场出现大规模且无法预测的走势的一大原因。
第二类算法交易是低频交易。 其需求编程技术以及技术面与基本面分析0>经验。 作为希望实现交易自动化的MetaTrader 5软件普通用户,我们将重点来了解这种算法交易。
算法交易源自何方?
算法交易的历史需要从50年前算起,当时纽约证券交易所引入了“订单转送及成交回报 (designated order turnaround)”系统 (DOT) 。 其能实现将电子指令传送至交易站的操作。 上世纪80年代初诞生的后来臭名昭著的彭博终端机推动了算法交易开发的一大步。
不过,发展的关键节点是美国的十进制(小数化)转轨,这令每股的最小价格波动变成了0.01美元。 由此,出要价之间的落差可以表达的更细微。 1998年,美国证券交易委员会为电子交易所亮了绿灯。 这也是高频交易诞生的时间。 随着科技的高速发展,新的速度更快的硬件令程序员终于可以写出能让电脑具备一定的能力,来依照一组预设规则确定交易价格及数量的算法。 现在,您甚至可以学到专门以金融数据分析为目的的编程语言。
算法交易语言
您可以选择不同的编程语言来实现算法交易。 常规来说,算法交易商会选择Python、C++、Java、C#、或R语言。不过,在外汇界,MetaTrader环境里还存在有特殊类型的语言。 那就是MetaTrader 4可用的MQL4以及MetaTrader 5可用的MQL5。 尽管被称为是MQL4的修订版,MQL5实际要灵活得多。 其原因在于该语言的语法极为接近C++。 这让程序员在开发交易机器人时可以有更多选择。
在我们的课程里,开发交易机器人时我们会专注于使用MQL5语言。 为什么?
首先,因为MetaTrader 5支持交易更多工具。 即,您可以使用交易机器人做股票、贵金属、货币,等等。
其次,MQL5与C++十分相似。 学习MQL5有助于您更深入的理解编程基础。
第三,MQL5有集成的开发环境MQL5 IDE,所有交易程序都在该环境内开发。 因此,您无需再另外下载用于编程的软件。
最后,这里为MQL5程序员提供有一个非常大的代码库,可以在其中寻找各式机器人和分享思路。
请牢记,该语言的说明书在MQL5官方网站上有提供。
为何您需要学习MQL5?
如您使用MetaTrader 5交易,那么在MQL5的专用集成开发环境 (IDE) 内的经验能帮助您创建自己的指标、交易机器人、还能编辑现有的那些。 它能帮助您实现交易决策自动化,并提升它们的效力。
本文是我们算法交易指南的第一课。 别走开,下一课我们将学习更多有关如何创建交易机器人的内容!