Python算法交易实战
上QQ阅读APP看书,第一时间看更新

1.2 有关现代交易的基本概念

本节将介绍交易的基本知识,以及驱动市场价格和供求关系的因素。

正如1.1节中提到的,长期以来,交易就已经存在了,当时人们希望彼此交换商品,并在此过程中获利。现代市场仍然是由供求关系的基本经济原理驱动的。当需求大于供给时,商品或服务的价格可能会上涨,以反映商品或服务相对于需求的短缺。相反,如果市场上充斥着某一产品的大量卖家,价格可能会下降。因此,市场总是试图反映特定产品的可用供需之间的均衡价格。稍后我们将看到这是当今市场价格发现的基本驱动力。随着现代市场和可用技术的发展,价格发现变得越来越有效。

直观地讲,你可能会得出这样的结论:随着在线零售业务的发展,所有卖方的产品价格都变得越来越有效,而最好的报价始终是客户所购买的价格,因为信息(价格发现)是非常容易获得的。现代交易也是如此。随着技术和法规的进步,越来越多的市场参与者可以获取完整的市场数据,从而使得价格发现的效率比过去提高了很多。当然,市场参与者接收信息的速度,做出反应的速度,能够接收和处理数据的粒度,以及每个市场参与者从接收到的数据中得出交易见解的复杂程度,是现代交易的竞争所在,我们将在后文中介绍。但首先要介绍有关现代交易的一些基本概念。

1.2.1 市场板块

在本小节中,我们将简单介绍什么是不同类型的市场部门,以及它们与资产类别有何不同。

市场板块是指可以进行交易的不同种类的基础产品。其中较受欢迎的市场板块是商品(金属、农产品)、能源(石油、天然气)、股票(不同公司的股票)、利率债券(用债务换取的息票,会产生利息,因此而得名)、外汇(与不同货币之间的现金汇率相关),如图1-1所示。

图1-1

1.2.2 资产类别

资产类别是指在不同的交易所中可用于交易的不同种类的实际工具。比如在1.2.1小节中提到的股票、利率债券、外汇,我们可以拥有这些基础衍生品的金融工具。衍生品是建立在其他工具之上的工具,并且有一些额外的限制条件,我们将在本节中进行探讨。较流行的两种衍生品是期货和期权,它们在许多衍生品电子交易所中都有大量的交易。

我们可以拥有与标的物,如商品、能源、股票、利率债券、外汇等相关的期货合约,这些合约与标的物的价格相关,但有不同的特点和规则。对期货合约的简单理解是,它是买方和卖方之间的合约,卖方承诺在未来某个日期(也称到期日)出售一定数量的标的物,买方同意在特定日期以特定价格接受约定数量的标的物。

例如,黄油生产者可能希望保护自己免受未来可能出现的牛奶价格暴涨的影响,而黄油的生产成本直接取决于牛奶的价格,在这种情况下,黄油生产者可以与牛奶生产者签订协议,希望牛奶生产者在未来以一定的价格向他们提供足够的牛奶。相反,牛奶生产者可能会担心未来可能发生牛奶买家不足的情况,并可能希望通过与黄油生产者达成协议,希望黄油生产者在未来以一定的价格至少购买一定数量的牛奶来降低风险,因为牛奶是易变质的,所以销售不足意味着牛奶生产者将蒙受较大损失。这是一个非常简单的期货合约交易的例子,现代的期货合约要比这个例子中的复杂得多。

与期货合约类似,我们可以对标的物,如商品、能源、股票、利率债券、外汇等建立期权合约,这些合约与标的物的价格挂钩,但具有不同的特点和规则。与期货合约相比,期权合约的不同之处在于,期权合约的买卖双方可以选择拒绝在特定的金额、特定的日期、特定的价格的买卖。为了保障参与期权交易的交易双方,就有了溢价的概念。溢价是指买入或卖出期权合约所预先支付的最低金额。

如果相关产品的价格在到期前上涨,拥有看涨期权或购买权(而不是到期时的购买权)的一方就赚钱,因为现在这一方可以在到期时行使其期权,以低于当前市场价格的价格买入标的产品。相反,如果标的产品的价格在到期前下跌,这一方现在可以选择退出而不行使其期权,从而只损失他们支付的期权费。认沽期权与此类似,但它只赋予认沽合约的持有人在到期时卖出的权利,而没有卖出的义务。

本书不会太深入地研究不同的金融产品和衍生品,因为这不是本书的重点,但这个简短的介绍是为了说明这样一个概念:有很多不同的可交易金融产品,它们在规则和复杂性方面有很大的不同。

1.2.3 现代交易市场的基本情况

由于本书主要是为了介绍现代算法交易,因此本书将着重尝试讲解现代电子交易所是如何出现的。人们在交易所里互相大喊大叫,并打出手势来传达他们以一定价格买卖产品的意图的日子已经一去不复返了。这些仍然是电影中有趣的想法,但现代交易看起来却明显不同了。

当今大多数交易都是通过不同的软件以电子交易的方式完成的。市场数据提供程序(market data feed handlers)可以处理和理解由交易所传播的市场数据,以反映限价簿(limit book)和市场价格(出价和要约)的真实情况。市场数据以交易所和市场参与者事先商定的特定市场数据协议(market data protocol,如FIX/FAST、ITCH和HSVF)发布。然后,同样的软件可以将这些信息反馈给人们或者通过算法做出决定。接下来,这些决策又被类似的软件——订单输入网关(order entry gateways)传达给交易所,并通过发送特定的订单类型(GTD、GTC、IOC等),告知交易所我们对特定产品的兴趣,以及对以特定价格买入或卖出该产品的兴趣。这就需要了解市场和市场参与者事先约定的订单输入协议(FIX、OMEX、OUCH等)。

在与可用的市场参与者进行匹配后,该匹配通过订单输入网关再次回传给软件,并回传给交易算法或人们,从而完成交易,通常是完全电子化的。这种往返的速度根据市场、市场参与者和算法本身的不同而有很大差异,有时耗费的时长可以短至10ms以下,慢的话耗费的时长也可以控制在几秒内,稍后将详细讨论。

图1-2为描述性的视图,说明信息从电子交易所流向相关的市场参与者,以及信息回流到交易所的情况。

如图1-2所示,电子交易所维护着客户购买订单(出价)和客户要价订单(请求)的账本,并使用市场数据协议发布市场数据,向所有市场参与者提供账本的状态。客户端的市场数据提供处理程序对传入进行解码,并建立一个限价订单簿,以反映电子交易所看到的订单簿的状态。然后通过客户端的交易算法进行传播,再通过订单输入网关生成外发订单流。外发订单流通过订单输入协议传给电子交易所。这又会产生进一步的市场数据流,因此交易信息可持续循环。

图1-2