亚历山大Hagmann

算法交易,经常被行业中被称为“Algo”交易,已成为零售交易员和小型投资公司的热门话题。在20世纪70年代,大型金融机构发明并开始了基于计算机的交易,以处理购买和销售金融证券。银行和保险公司为几个世纪的市场主导;最近,对冲基金在金融市场中索赔了一个重要的地方。然后,数字革命删除了进入市场的障碍。现在可获得高速互联网,计算能力和数据科学工具,可用于广泛的公众。随着在线交易平台/应用程序的出现,金融产品的交易从未如此简单。今天,它只需要几只鼠标点击股票,期货和货币。

在本文中,我想概述算法交易,并提供如何启动算法交易业务的实用指南。

算法交易A-Z与Python,机器学习和AWS

最后更新了4月2021年

畅销书
  • 374讲座
  • 所有级别
4.6 (416)

学习如何创建,测试,执行和自动化独特的策略。|由亚历山大Hagmann

探索课程

什么是算法交易?

如今,超过75%的美国股票交易是通过计算机算法进行的,而不是人工。随着时间的推移,这一数字一直在扩大,并将继续扩大。“算法交易”没有单一的定义。根据他们的背景,不同的人意味着不同的东西。最基本的,算法是“实现目标的一系列步骤”。CFA协会将算法交易定义为“使用计算机自动化交易策略”。计算机程序员已经创造了许多不同的算法交易策略,交易者每天都在使用。不管具体的交易策略是什么,算法交易有两个主要方面:

  1. 算法由人类发起,并遵循明确的策略来达到特定目标。最初,算法已经预先编程了规则。这些规则由程序员开发,基于数学和统计模型。人工智能和机器学习的出现引入了数据驱动和自学习算法。因此,算法交易者的作业档案已更改。数据科学和数据工程技能变得更加相关。
  2. 交易是自动化的。电脑地点并执行订单,而不是人类。与人类大脑不同,计算机可以轻松地处理大量数据。他们可以在微秒内赚取数千个交易决策。

主要应用和用例

算法交易的三个主要用例是:

执行算法

多年来,算法交易一直是只执行算法(经纪人算法)的同义词。大型机构使用执行算法来分解大额订单。这些小订单会随着时间的推移而执行。目的是减少大量订单对市场的影响。这样,交易者就可以以较低的交易成本获得一个基准价格。执行算法的例子有“体积加权平均价格(VWAP)”和“实现差额”算法。执行算法是经纪商和大型机构的标准工具。他们在零售贸易中起着次要的作用。

投资组合再平衡算法和机器人投资

机构投资者对资产和资产类别有目标权重。随着时间的推移和市场的变化,投资组合的权重会消失。这就是为什么投资组合再平衡是一个关键的工作流程。简而言之,再平衡算法卖出“赢家”,买进“输家”,以重申其目标权重。绩效目标和监管约束是目标权重的驱动因素。保险和养老金计划是受监管的投资者。他们需要遵守严格的限制。一个例子是任何时候都不超过40%的股票投资。自动化监控和自动化交易系统在实现这一目标方面发挥着关键作用。

机器人投资是市场近期的趋势。它使专业投资和专业投资建议民主化。Robo顾问为散户投资者提供多种服务,例如:

Robo Advisors为这些服务提供了最小的人为干预。

高频交易算法(市场时机)

高频交易(HFT)算法是关于利润。它们也被称为“alpha-产生策略”。“高频”是指:

  1. 跟踪高频数据流(如市场数据或新闻源)
  2. 识别数据中的模式和交易机会
  3. 基于这些模式做出交易决定
  4. 自动放置和执行订单,以利用这些机会

HFT是关于“交易的交易”和“何时交易”(市场时机)。大多数HFT策略从一般市场趋势独立工作。交易员占据长而短的头寸,从市场中的时间麻油中受益。通常,他们在同一交易日内多次购买和销售 - 通常被称为“日交易”。多年来,零售日交易员依靠直觉和肠道感。最近的趋势是对HFT算法(“算法日交易”)。HFT策略可以源于:

基本数据包括公司收入、收益、利润、利润率和其他新闻。它允许交易者确定股票的潜在价值。然后他们可以决定股票是高估还是低估。同样,他们可以利用基本经济数据来识别定价错误的货币和指数。宏观经济数据包括利率、通货膨胀率和失业率。

技术交易员试图在历史价格和成交量数据中找到模式和趋势。他们可以利用这些模式和趋势来预测未来的价格和回报。简单移动平均线(SMA)是技术指标的一个例子。也有更复杂的图表技术,如埃利奥特波浪模式。有关使用Python进行技术分析的更多信息,请查看这门课

多年来,交易策略是基于规则和预编程的。交易者将观察到的模式翻译成简单的IF-DEN-DEL规则。人工智能(AI)和机器学习(ML)的出现是一个游戏更换者。两者都允许交易者在市场中检测更复杂的模式和隐藏的关系。ML算法是自学算法。交易员将这些算法与市场数据一起提供,然后算法在数据中找到模式并预测未来价格和回报。他们自动学习和改进更多数据。交易员可以使用各种数据提供ML型号,包括:

统计套利(或“stat arb”)策略通常包括两种或更多金融工具。他们监测相关的工具,以检测相关性中的中断。如果短期关系破裂,就有机会买进其中一种,然后卖出另一种获利。高频交易的统计套利算法有很多种,包括配对交易和指数套利。

初学者算法(日)交易:交易算法的生命周期

开发、实现和维护一个有利可图的高频交易算法是一个结构化的过程。有很多步骤,其中大多数需要人的干预和判断。

开始

首先,交易者必须确定他们想要交易的金融工具。交易者越熟悉乐器,越好。根据策略,一些乐器比其他乐器更适合。货币在HFT日交易商中受欢迎,因为传播和佣金较低,价格波动很高。其次,交易者需要找到合适的在线交易平台。该平台应提供应用程序编程接口(API)交易。这允许交易者以编程方式与在线代理进行互动。这意味着交易员可以用市场数据流并进行订单像Python这样的编程语言

数据分析

接下来,交易者通过代理API提取历史数据。经纪人通常提供价格和卷数据。在某些情况下,交易者也可以访问基本数据。如有必要,交易者需要确定基本数据的其他来源。探索性数据分析(EDA)是任何数据项目中的关键工作流程。它允许分析师更深入地了解潜在数据。数据分析包括:

识别交易机会|制定战略|战略测试

接下来的三个步骤是齐头并进的。根据策略的不同,这些步骤可以同时或一个接一个地执行。交易员一开始就对盈利策略有一个粗略的概念。然后,用编程语言定义了该策略。

以下步骤是整个过程中最关键的。交易员必须测试手头数据上的策略的表现。这被称为逆退。该表现包括风险和返回/利润指标。有希望的策略具有以下特点:

基准是一种可比较的工具或策略。通常,一个简单的买入并持有策略是最好的基准。

在交易成本之前很容易找到有利可图的策略。挑战在于,如何在剔除交易成本后找到盈利策略。交易成本的性质可能不同。一些经纪人提供较窄的价差,但收取佣金。其他经纪人则是免佣金,价差更大。了解每笔交易都会触发成本是很重要的,交易员必须将它们包含在策略定义中。如果交易员忽视成本,回溯测试结果就毫无意义。

某些策略与底层数据进行了优化。ML策略是一个很好的例子。ML模型应适合样本数据。一个缺点是许多拟合的策略倾向于过度装备。过度的策略似乎在手头的数据上有利可图(“样本”),但他们未能在未来产生利润(“外出样本”)。换句话说,过度装备策略不会概括为新数据。前进测试,也称为外部反向测试,是一个有用的识别过度装备的工具。交易者测试了对之前没有见过的新数据的策略。当过度装备可能是一个问题时,拆分数据集是常见的做法。交易者定义并优化培训集的策略,然后转发测试在测试集上的策略。

综上所述,只有在交易成本降低后策略表现良好且业绩通过远期测试得到确认时,交易者才应该继续。

实时测试

数据分析后的下一步是写入与反垄断算法不同的实现算法。实现算法必须:

此时可能会出现很多错误,所以在模拟环境中测试实现非常重要。许多经纪人提供允许纸面交易的实习账户。在纸面交易中,亏损的风险为零。

生活/真正的交易

当一个算法开始运行时,它会接收真实的市场数据并在市场上实时下订单。在这一点上,它是“在生产中”。一个正在生产的算法可以产生利润和损失。

实时交易需要稳定可靠的技术基础设施。零售交易商经常使用当地的桌面计算机和地点并通过本地互联网连接执行订单。我们不会推荐这一点。算法交易会话可以持续数小时。技术问题可以伤害和/或停止交易会议,这可能会导致高损失。因此,它是在虚拟(云)服务器上部署交易算法的最佳做法。好处是:

监测

无法保证生产的战略会产生利润,并且许多策略随着时间的推移恶化。因此,重要的是要密切监视性能。如果实时性能确认回溯结果,策略可以保持生产(继续)。否则,交易者需要更新和/或改善战略。如果战略仍然无利可图,交易员应该废除它。此外,交易者应使用最新数据更新计划。这特别适用于ML算法。

初学者算法(日)交易:工具,基础设施和所需技能

为算法交易建立技术基础设施并不昂贵。零售交易员可以在家中或工作中使用现有的基础设施。这包括习惯的台式电脑和互联网连接。除了少数例外,这足以定义和回测各种策略。如上所述,交易员应该在虚拟服务器上部署生产中的算法。云和存储服务提供商包括亚马逊网络服务(AWS)和微软Azure。基本解决方案的月价格最低为10美元。对于某些工具,交易员需要订阅实时市场数据流。根据经纪人的不同,市场数据费从每月5美元起。总的来说,雄心勃勃的交易者应该考虑:

获得所需的技能是迄今为止最重要的投资。一个算法交易员必须精通至少一种编程语言。交易员可以在Python和c++之间进行选择。

记住,在算法交易中速度很重要。c++比Python快,但是c++学习起来要复杂得多。Python对初学者更友好,因为Python代码易于阅读和理解。更重要的是,Python是数据科学和机器学习的顶级编程语言。对交易员来说,熟练掌握信息技术正变得越来越重要。Python允许初学者在更短的时间内构建更复杂、更强大的算法。这弥补了交易执行速度的不足。
有关Python算法交易的更多信息,请查看这门课

页面最后更新:3月2021年3月

算法交易的顶级课程

算法交易A-Z与Python,机器学习和AWS
亚历山大Hagmann
4.6 (416)
畅销书
使用Python的算法交易和定量分析
Mayank Rasu.
4.5 (2213)
畅销书
算法交易:在Python中逆出,优化和自动化
莫森·哈桑,伊莱斯·塔比埃,布鲁姆团队
4.5 (1,648)
外汇算法交易课程:代码外汇机器人!
莫森·哈桑,布鲁姆团队
4.7 (2,376)
使用互动代理的Python API进行算法交易
Mayank Rasu, RASUQUANT LTD
4.6 (414)
在vps或覆盆子pi上运行您的交易机器人24/7
莫森·哈桑,伊莱斯·塔比埃,布鲁姆团队
4.6 (182)
畅销书
外汇交易策略第2部分 - 高级ALM-TC​​S进展
费德里科•Sellitti
5 (344)
评价最高
交易机器人开发在MQL5betwayapp下载安装
塞缪尔·威廉姆斯
4.2 (110)
外汇算法交易:创建您的第一个外汇机器人!
Kirill Eremenko,Forexboat团队
4.6 (3,194)
算法加密货币交易+ 2021年的5大机器人
Petko Zhivkov Aleksandrov.
4.5 (466)
KiteConnect平台上的算法交易
Mayank Rasu.
4.5 (702)
定量融资与算法交易II - 时间序列
Holczer Balazs.
4.5 (236)

更多的算法交易课程

学习算法交易的学生也会学习

赋予你的团队。引领行业。

通过Udemy为Business获取组织的在线课程和数字学习工具库的订阅。

请求一个演示

亚历山大·哈格曼的课程

使用Python&Pandas管理财务数据:唯一的MasterClass
亚历山大Hagmann
4.7 (392)
畅销书
使用Python从免费Web源导入金融数据
亚历山大Hagmann
4.7 (173)
完成2合1 Python用于商业和金融训练营
亚历山大Hagmann
4.7 (452)
Python数据科学与熊猫:掌握12个高级项目
亚历山大Hagmann
4.5 (269)
畅销书
Python for Excel:使用xlwings进行数据科学和金融
亚历山大Hagmann
4.7 (207)
畅销书
算法交易A-Z与Python,机器学习和AWS
亚历山大Hagmann
4.6 (416)
畅销书
用Python进行算法交易的技术分析
亚历山大Hagmann
4.6 (45)
畅销书

亚历山大·哈格曼的课程