交易策略:VWAP/TWAP/ PoV

本文探讨了高级交易策略——VWAP、TWAP 和 PoV,并使用 Python 和 EODHD API 展示了它们在增强交易决策方面的实际应用。

交易策略:VWAP/TWAP/ PoV
一键发币: SOL | BNB | ETH | BASE | Blast | ARB | OP | POLYGON | AVAX | FTM | OK

在高速的金融交易世界中,交易员利用各种策略来管理市场复杂性。三种突出的策略以其在执行交易时对市场影响最小的有效性而闻名,它们是成交量加权平均价格 (VWAP)、时间加权平均价格 (TWAP) 和成交量百分比 (PoV)。无论是通过成交量加权的 VWAP、以时间为中心的 TWAP 方法,还是基于成交量的 PoV 方法,每种策略都提供了不同的交易视角。

VWAP 策略因向交易员提供按成交量加权的资产真实市场价格洞察而受到赞赏,这有助于做出符合市场趋势的明智交易决策。另一方面,TWAP 在特定时间范围内平均价格,使其不易受到成交量波动的影响,交易也更简单。PoV 策略的突出之处在于通过遵循预定的市场成交量百分比来执行大订单,从而实现谨慎交易并最大限度地减少市场影响。

在本文中,我们将深入研究这些策略中的每一个,探索它们的功能、应用以及它们为买卖提供的信号。通过使用来自 EODHD API 的 OHLCV(开盘价、最高价、最低价、收盘价、成交量)数据的 Python 代码示例,我们将展示这些策略的实际方面。本文旨在弥合理论概念与现实世界交易应用之间的差距。无论你是经验丰富的交易员还是新手,了解这些策略都可以扩展你的交易工具包并提供新方法来驾驭市场动态。

1、准备工作

为了展示三种交易策略(成交量加权平均价格 (VWAP)、时间加权平均价格 (TWAP) 和成交量百分比 (PoV))的实际用途,我们将使用历史 OHLCV 数据。这些数据将通过 EODHD API 检索,利用官方 EODHD API 的 Python 库。如果您想跟随并获得实践经验,建议您订阅 EODHD API。此订阅将使您能够实时访问必要的数据,并帮助您通过积极参与更好地理解这些策略。

首先,创建一个新的 Python 项目并安装官方 EODHD API 的 Python 库。然后,设置一个名为“config.py”的配置文件,内容如下:

API_KEY="YOUR API KEY"

接下来,创建一个“main.py”文件来检索我们的数据。在本例中,我们将使用标准普尔 500 指数,其符号为 GSPC.INDX。

import config as cfg
from eodhd import APIClient

api = APIClient(cfg.API_KEY)


def get_ohlc_data():
    df = api.get_historical_data("GSPC.INDX", "d", results=730)
    return df


if __name__ == "__main__":
    df = get_ohlc_data()
    print(df)

现在我们有了 OLHCV(开盘价、最低价、最高价、收盘价、成交量)数据,我们可以检查技术指标……

2、成交量加权平均价 (VWAP)

成交量加权平均价 (VWAP) 是一个交易基准,反映了证券全天交易的平均价格,同时考虑了成交量和价格。它计算加权平均价格,同时考虑交易量。VWAP 对于希望了解股票全天市场走向或执行接近平均市场价格的交易的交易者和投资者特别有用。

使用 VWAP 的交易信号

当股票价格低于 VWAP 时,会出现买入信号,表明其被低估(类似于相对强弱指数 RSI)。其理由是股票交易价格低于平均水平,表明可能向平均水平上涨。

另一方面,当价格高于 VWAP 时,会产生卖出信号,暗示股票被高估。这表明价格可能出现向下修正,以接近平均水平。

df['typical_price'] = (df['high'] + df['low'] + df['close']) / 3
df['vwap'] = (df['typical_price'] * df['volume']).cumsum() / df['volume'].cumsum()

print(df[['vwap']])

标准普尔 500 指数的当前价格为 4,864.60。根据 VWAP 策略,该价格表明标准普尔 500 指数被高估,表明存在潜在的卖出信号。

3、时间加权平均价格 (TWAP)

TWAP 或时间加权平均价格是一种类似于 VWAP 的交易基准,但侧重于时间而不是交易量。TWAP 计算证券在一段固定时间内的平均价格,对该期间内的每个价格点进行同等对待,而不管交易量如何。这种方法对于最大限度地减少大额交易对市场的影响或在交易低交易量证券时特别有益,因为由于交易量数据不足,VWAP 可能不那么有效。

使用 TWAP 的交易信号

当当前价格低于 TWAP 时,可能会产生买入信号,表明价格低于平均水平,暗示可能出现向上修正。

相反,当当前价格高于 TWAP 时,可能被视为卖出信号,表明价格高于平均值,暗示可能出现下行修正。

df['average_price'] = (df['open'] + df['high'] + df['low'] + df['close']) / 4
df['twap'] = df['average_price'].expanding().mean()

print(df[['twap']])

目前标准普尔 500 指数价格为 4,864.60。根据 TWAP 策略,标准普尔 500 指数被认为被高估,暗示卖出信号。

4、成交量百分比 (PoV) 策略

成交量百分比 (PoV) 是一种交易策略,旨在按给定时间段内市场总成交量的指定百分比执行订单。与用于计算平均价格的 VWAP 和 TWAP 不同,PoV 控制交易相对于市场交易量的执行率。

PoV 的工作原理

PoV 定义为交易者的订单规模与指定时间范围内的总市场成交量的比率,以百分比表示。例如,如果交易者将 PoV 率设置为 20%,则交易者打算以不超过每个时间段内市场总成交量的 20% 来执行其订单,从而减少对市场的影响。

以下是应用 PoV 策略的方法:

order_size = 800  # Total shares to be executed
pov_rate = 0.20   # 20% of market volume

df['daily_execution_target'] = df['volume'] * pov_rate
df['actual_execution'] = df['daily_execution_target'].apply(lambda x: min(x, order_size))
order_size -= df['actual_execution'].sum()

print(df[['volume', 'daily_execution_target', 'actual_execution']])

5、结束语

在详细研究成交量加权平均价格 (VWAP)、时间加权平均价格 (TWAP) 和成交量百分比 (PoV) 交易策略后,我们看到了执行方法对交易过程的重要性。每种策略都具有参与市场的独特优势,为交易者提供了做出明智和战略决策的强大工具。

通过使用官方 EODHD API 的 Python 库和来自 EODHD API 的 OHLCV 数据进行实际演示,我们说明了如何在实际交易中有效应用这些策略。无论您是希望通过 PoV 最大限度地减少市场影响,通过 VWAP 的成交量洞察寻求价值,还是利用 TWAP 的简单性,这些方法都可以显著增强您的决策过程并可能改善交易结果。

然而,必须认识到,没有任何一种策略可以保证在市场中取得成功。与所有交易方法一样,VWAP、TWAP 和 PoV 策略的表现会因市场条件、流动性和波动性而异。因此,这些策略应成为更广泛、多样化交易计划的一部分,并由全面的分析和附加工具提供支持。

金融市场交易是一个持续的学习之旅。适应性和对各种策略的透彻理解对于做出明智且可能有利可图的决策至关重要。在你探索市场时,让 VWAP、TWAP 和 PoV 的见解引导你实现交易目标。请记住,有效的交易在于平衡策略和执行,每个选择都使你更接近掌握市场参与度。


原文链接:Advanced Trading Strategies: Maximizing Profits with VWAP, TWAP, and PoV Using Python

DefiPlot翻译整理,转载请标明出处

通过 NowPayments 打赏