算法交易基础:概念和例子 编辑
算法交易(也称为自动交易、黑匣子交易或算法交易)使用一个遵循一组定义的指令(算法)的计算机程序进行交易。从理论上讲,交易可以产生利润,其速度和频率对于人类交易员来说是不可能的。
定义的指令集基于时间、价格、数量或任何数学模型。除了交易者的获利机会外,algo交易通过排除人类情绪对交易活动的影响,使市场更具流动性,交易更系统化;
算法交易实践
假设交易员遵循以下简单的交易标准:
- 当一只股票的50天到期时买50股移动平均线超过200天移动平均线。(移动平均线是过去数据点的平均值,可以平滑日常价格波动,从而确定趋势。)
- 当股票的50天移动平均线低于200天移动平均线时卖出股票。
使用这两个简单的指令,一个计算机程序将自动监测股票价格(和移动平均指数),并在满足规定条件时发出买入和卖出指令。交易者不再需要监控实时价格和图表,也不需要手动输入订单。算法交易系统通过正确识别交易机会自动完成这项工作;
2:01算法交易基础
算法交易的好处
Algo trading提供以下好处:
- 交易以尽可能最好的价格进行。
- 交易订单的下达是即时且准确的(在所需的水平上执行的可能性很高)。
- 交易的时间是正确的和即时的,以避免重大的价格变化。
- 降低交易成本。
- 同时自动检查多种市场状况。
- 在进行交易时减少了手动错误的风险。
- Algo交易可以使用可用的历史和实时数据进行回溯测试看看这是否是一个可行的交易策略。
- 减少了基于情感和心理因素的人类交易者犯错的可能性。
今天大部分的算法交易都是高频交易 (HFT),它试图利用基于预先编程的指令在多个市场和多个决策参数上快速下大量订单;
Algo交易用于多种形式的交易和投资活动,包括:
- 中到中长期投资者或者购买方公司养老基金、共同基金、保险公司在不想通过离散的大批量投资影响股票价格时,使用algo交易大量购买股票。
- 短期交易者以及卖方参与者做市商(如经纪公司), 投机者、套利者受益于自动交易执行;此外,algo交易有助于为市场上的卖方创造足够的流动性。
- 系统交易者-趋势追随者、对冲基金或;结对交易者 (一种市场中立的交易策略,在一对高度相关的工具(如两种股票、交易所交易基金(ETF)或货币)中,将多头头寸与空头头寸相匹配)-发现编程其交易规则并让程序自动进行交易更为有效。
与基于交易者直觉或直觉的方法相比,算法交易提供了一种更系统的主动交易方法。
算法交易策略
任何算法交易策略都需要一个确定的机会,该机会在提高收益或降低成本方面是有利可图的。以下是algo交易中常用的交易策略:
趋势跟踪策略
最常见的算法交易策略遵循移动平均线、通道突破、价格水平变动和相关的趋势技术指标 . 这些是通过算法交易实现的最简单和最简单的策略,因为这些策略不涉及任何预测或价格预测。交易是基于理想趋势的发生而发起的,这种趋势很容易通过算法直接实现,而无需考虑预测分析的复杂性。使用50日和200日移动平均线是一种流行的趋势跟踪策略。
套利机会
在一个市场以较低的价格购买双重上市的股票,同时在另一个市场以较高的价格出售,这种价差就是无风险利润或利润套利 . 同样的操作也可以复制到股票和期货工具上,因为有时确实存在价差。实施一个算法来识别这样的价差,并有效地下订单,可以带来盈利的机会。
指数基金再平衡
指数基金已经确定了重新平衡的时期,以使其持有量与各自的基准指数持平。这为算法交易员创造了盈利的机会,他们利用预期交易,根据指数基金重新平衡前指数基金中的股票数量提供20到80个基点的利润。此类交易通过算法交易系统启动,以便及时执行和获得最佳价格。
基于数学模型的策略
经验证的数学模型,如delta neutral交易策略,允许在期权和基础证券的组合上进行交易。delta neutral是一种投资组合策略,由多个头寸组成,抵消正增量和负增量,即比较资产价格变化的比率,通常是可销售的比率证券,指其衍生工具价格的相应变化,使相关资产的总增量为零);
交易区间(均值回归)
均值回归 策略是基于这样一个概念,即资产的高和低价格是一种临时现象,周期性地恢复到其平均值(平均值)。识别和定义一个价格范围,并在此基础上实现一个算法,当资产的价格突破其定义的范围时,可以自动进行交易。
成交量加权平均价格
成交量加权平均价格策略分解大订单,并使用特定于股票的历史成交量配置文件将动态确定的小批订单释放到市场。目的是执行命令接近成交量加权平均价格 (VWAP)。
时间加权平均价格
时间加权平均价格策略分解一个大的订单,并使用开始和结束时间之间平均分配的时间段将动态确定的较小的订单块释放到市场。其目的是在开始和结束时间之间执行接近平均价格的订单,从而最大限度地减少市场影响。
体积百分比(POV)
在交易订单完全填满之前,该算法根据定义的参与率和市场交易量继续发送部分订单。相关的“steps策略”以用户定义的市场交易量百分比发送订单,并在股价达到用户定义的水平时增加或减少该参与率。
执行不足
这个执行不足 策略的目标是通过交易实时市场来最小化订单的执行成本,从而节省订单的成本,并从延迟执行的机会成本中获益。该策略在股票价格向好时提高目标参与率,在股票价格向坏时降低目标参与率。
超越了通常的交易算法
有一些特殊类型的算法试图识别另一边的“事件”。这些“嗅探算法”(例如,卖方做市商使用的算法)具有内置的智能,可以识别大额订单买方是否存在任何算法。这种通过算法进行的检测将有助于做市商识别大额订单机会,并使他们能够通过以更高的价格完成订单而获益。这有时被认为是高科技前沿。
算法交易技术要求
使用计算机程序实现算法是算法交易的最终组成部分,伴随着;回溯测试 (对过去股市表现的历史时期试用该算法,看看使用它是否会有利可图)。所面临的挑战是将确定的战略转变为一个综合的计算机化进程,使之能够进入交易账户下订单。以下是算法交易的要求:
- 计算机编程知识,用于编程所需的交易策略、聘请的程序员或预先制定的交易计划软件.
- 网络连接和进入交易平台下订单。
- 访问市场数据源,该数据源将由该算法监控下订单的机会。
- 在系统建成后在实际市场上运行之前对其进行回测的能力和基础设施。
- 可用于回溯测试的历史数据,具体取决于算法中实现的规则的复杂性。
算法交易的一个例子
荷兰皇家壳牌公司(RDS)在阿姆斯特丹证券交易所(AEX)和伦敦证券交易所(LSE)上市。 我们首先建立一个算法来识别套利机会。以下是一些有趣的观察结果:
- AEX以欧元交易,而LSE以英镑交易。
- 由于一个小时的时差,AEX比伦敦证交所提前一个小时开盘,随后两个交易所在接下来的几个小时内同时交易,然后在AEX收盘的最后一个小时内只在伦敦证交所交易。
我们能否探讨以两种不同货币在这两个市场上市的荷兰皇家壳牌股票进行套利交易的可能性?
要求:
- 可以读取当前市场价格的计算机程序。
- LSE和AEX的价格反馈。
- 英镑-欧元的外汇汇率输入。
- 下单功能,可以将订单路由到正确的交易所。
- 对历史价格提要的回溯测试功能。
计算机程序应执行以下操作:
- 阅读来自两个交易所的RDS股票的传入价格提要。
- 使用可用的外汇汇率,将一种货币的价格转换成另一种货币。
- 如果存在足够大的价格差异(扣除经纪成本)导致了盈利机会,那么该计划应将购买订单放在价格较低的交易所,并在价格较高的交易所出售订单。
- 如果订单按预期执行,套利利润将随之而来。
简单易用!然而,算法交易的实践并不是那么容易维护和执行的。记住,如果一个投资者可以进行algo生成的交易,那么其他市场参与者也可以。因此,价格以毫秒甚至微秒为单位波动。在上面的例子中,如果一个买入交易被执行,而卖出交易没有执行,因为卖出价格随着订单到达市场的时间而改变,会发生什么?交易者将被留下一个空头头寸,使得套利策略一文不值。
还有其他风险和挑战,如系统故障风险、网络连接错误、交易订单和执行之间的时间差,最重要的是,算法不完善。算法越复杂,在实际应用之前就需要越严格的回溯测试。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论