什么是自动交易?
自动交易是基于买入和卖出订单的交易计划,买入和卖出订单是根据基础系统或程序自动下达的。 当满足基础系统或程序中的交易条件时,下达买或卖订单。
重要要点
- 自动交易是根据编程的策略自动下达买卖订单的高级自动交易,它限制了人为干预交易程序的能力,因此需要复杂且编写良好的交易程序。 该程序仍然需要人工监控以确保其正常工作。自动交易可以在满足编程策略的条件后立即执行订单自动交易程序可以基于几乎任何策略,但是该策略必须是可编程的,理想情况下,在尝试对该策略进行编程之前,应对其进行彻底的盈利能力测试。
了解自动交易
自动交易是一种交易计划,允许投资者实时利用市场机会。 它通常涉及复杂的编程,在某些情况下还包括支持外部编程或插件的复杂交易平台。
交易者可以对交易软件进行编程,或将程序连接到交易软件,以基于定制的交易策略进行自动交易。
所有类型的散户投资者也可以使用自动交易的基本形式。 例如,设置将在满足某些条件时在将来执行的订单是自动交易的最基本形式。 在更高级的水平上,自动交易可以完全消除人工输入。 对软件进行编程后,它将继续运行,而无需人工干预或输入。 在高级情况下,程序交易者仍将密切监视其程序,以确保程序按预期运行。
总体而言,自动交易系统在包括股票,期货,期权和外汇在内的广泛市场中得到使用。
自动交易能力
自动交易需要预定的交易策略。 该策略是自动交易程序的基础,它定义了何时以及为何进行交易。 可以为所有类型的投资者以各种方式构建它。 散户投资者可能会部署基本的自动交易计划,这些计划全年会定期购买投资,或者将有条件的订单下达满足某些参数的股票。 条件定单允许投资者在达到价格时以指定的水平输入交易以自动执行。
机构投资者和技术交易员将使用复杂的交易系统,以允许有条件的定单和策略,例如网格交易,趋势交易,缩放或淡入淡出。
许多技术日交易者只会与允许插件或外部程序连接到其平台的经纪人合作,或者在平台本身内提供编码程序以创建指标和自动交易程序的经纪人。
例如,TD Ameritrade和Interactive Brokers等经纪平台提供了编码和自动交易功能。 机构投资者通常将拥有自己的专有交易平台,该平台允许通过算法编程进行自动交易。
自动交易策略
机构投资者可能会使用复杂的算法,这些算法会根据投资组合目标确定的标准来寻求投资投资组合的交易。 这可能包括自动购买或出售证券以维持对每只股票的特定百分比或美元分配,或使投资组合中的持有量与指数匹配。
技术日交易者将使用自动交易根据技术市场信号进行投资。 他们通常使用复杂的条件订单进行自动交易。 这些类型的订单使投资者可以指定入场价格并在交易周围建立领口,以建立用于风险管理的预定损益水平。 可以构建自动交易程序,以利用发展趋势,贸易差额,贸易范围或缩短买卖差价。 有无数的策略。 利用它们仅受交易者提出有利可图的策略并对其进行有效编程的能力的限制。
自动交易也很受外汇市场投资者的欢迎。 大多数经纪人提供一个平台,该平台具有安装其他贸易商和企业提供的程序的能力。 自动交易程序在外汇市场中的广泛使用意味着存在大量的自动交易软件,这些软件实质上是垃圾邮件,未经实时交易条件测试且无利可图。 购买交易程序时,请谨慎行事,因为竞技场上充斥着骗子,骗子以少量(或较大)费用即可带来财富的希望。
外汇交易者还可以使用称为MQL4和MQL5的MetaTrader4或MetaTrader5编码语言来创建自己的交易程序。
自动交易策略要考虑的示例标准
自动交易听起来很简单,但是即使编程一个简单的交易策略也需要很多思考。 规则必须足够简单以便进行编码,并且不能包含主观性,因为计算机需要遵循定义的规则。
要考虑的事情包括但不限于:
- 头寸大小,如何定义,如何输入交易,哪些特定参数将触发交易,如何平仓交易以及如何触发平仓交易程序员还希望考虑对交易的限制该系统,例如何时该不该或该何时进行交易。他们还可能希望采取一些保护措施。
这些主题将在下面详细介绍。
头寸规模及其定义方式
例如,它可以定义为头寸规模等于帐户净值的10%。 或者,也可以采用更高级的方法,首先定义入场价和止损之间的差,设置最大风险,例如账户资本的1%,然后根据1%风险和交易之间的距离来定义头寸规模。止损和进入特定交易。 这种更高级的头寸规模化方法有时称为最佳头寸规模化,因为头寸规模根据交易的具体情况而变化。
如何输入交易,以及哪些特定参数触发交易
例如,要在移动平均线(MA)交叉点上输入交易,则要求价格首先在MA的一侧,然后在另一侧。 还必须指定数据源。 价格如何确定:最后的价格? 买价? 要价?
如何关闭交易,什么触发了关闭交易
这可以通过在交易开始时下达限价单和止损单来完成。 这些订单将以订单价格关闭交易,无论该交易是有利可图的。 更复杂的策略可能是编写跟踪止损。
程序员还希望考虑系统上的约束
这包括诸如程序员何时不应该交易或应该交易的东西。 例如,程序员可能不希望程序在股市开盘后五分钟运行。 因此,他们将需要在编程代码中加入时间限制。
他们也可能希望采取一些保障措施
例如,如果损失了超过5%的权益,或者未平仓交易的损失超过了定义的数量,则该程序将关闭所有交易和/或向管理员发送电子邮件以检查该程序。
这些是制定自动交易程序时要考虑的基本标准。 系统越复杂,需要考虑的标准和因素就越多。