Стратегия средневзвешенной цены по объему

Автор:Чао Чжан, Дата: 2023-12-29 16:31:33
Тэги:

img

Обзор

Стратегия средневзвешенной цены объема (VWAP) - это стратегия, которая отслеживает среднюю цену акции в течение определенного времени. Стратегия использует VWAP в качестве ориентира и занимает длинные или короткие позиции, когда цена пересекает выше или ниже VWAP. Она также устанавливает условия остановки потерь и получения прибыли для управления сделками.

Логика стратегии

Стратегия сначала рассчитывает типичную цену (среднюю высокую, низкую и близкую цены), умноженную на объем и сумму объема. Затем VWAP рассчитывается путем деления суммы типичного продукта цены-объема на сумму объема. Когда цена пересекает VWAP, идти длинный. Когда цена пересекает ниже, идти короткий.

Условие получения прибыли для длинных позиций заключается в закрытии, когда цена повышается на 3% выше цены входа. Условие остановки потери заключается в том, когда цена падает на 1% ниже цены входа. Аналогичные условия применяются для коротких позиций.

Анализ преимуществ

Основными преимуществами стратегии VWAP являются:

  1. Использует хорошо известную статистику VWAP в качестве ориентира для торговых сигналов, что делает стратегию более эффективной.

  2. Использует как сигналы vwap, так и стоп-лосс/прибыль, способный получать прибыль от тенденций и ограничивать потери.

  3. Простая и понятная логика, легко понятная и реализуемая.

Анализ рисков

Эта стратегия также сопряжена с некоторыми рисками:

  1. VWAP не может предсказать будущие цены, поэтому сигналы могут отставать.

  2. Стоп-лосс может быть слишком широким, увеличивая потенциальные потери.

  3. Более длительные обратные тесты означают больше сигналов, фактическая производительность может отличаться.

Эти риски могут быть уменьшены путем настройки параметров, оптимизации алгоритмов остановки потерь и т.д.

Руководство по оптимизации

Некоторые способы оптимизации стратегии включают:

  1. Оптимизируйте параметры VWAP, чтобы найти наилучший период расчета.

  2. Испытать другие алгоритмы отслеживания остановки, например, скользящую среднюю остановку, параболическую SAR.

  3. Комбинировать другие индикаторы для фильтрации сигналов VWAP, например, объем, полосы Боллинджера.

Заключение

В общем, стратегия VWAP использует предсказательную силу этой важной статистики, с остановкой потери / прибыли для достижения долгосрочных положительных ожиданий.


/*backtest
start: 2023-11-28 00:00:00
end: 2023-12-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("VWAP Strategy by Royce Mars", overlay=true)

cumulativePeriod = input(14, "Period")

var float cumulativeTypicalPriceVolume = 0.0
var float cumulativeVolume = 0.0

typicalPrice = (high + low + close) / 3
typicalPriceVolume = typicalPrice * volume
cumulativeTypicalPriceVolume := cumulativeTypicalPriceVolume + typicalPriceVolume
cumulativeVolume := cumulativeVolume + volume
vwapValue = cumulativeTypicalPriceVolume / cumulativeVolume

// Buy condition: Price crosses over VWAP
buyCondition = crossover(close, vwapValue)

// Short condition: Price crosses below VWAP
shortCondition = crossunder(close, vwapValue)

// Profit-taking condition for long positions: Sell long position when profit reaches 3%
profitTakingLongCondition = close / strategy.position_avg_price >= 1.03

// Profit-taking condition for short positions: Cover short position when profit reaches 3%
profitTakingShortCondition = close / strategy.position_avg_price <= 0.97

// Stop loss condition for long positions: Sell long position when loss reaches 1%
stopLossLongCondition = close / strategy.position_avg_price <= 0.99

// Stop loss condition for short positions: Cover short position when loss reaches 1%
stopLossShortCondition = close / strategy.position_avg_price >= 1.01

// Strategy Execution
strategy.entry("Buy", strategy.long, when=buyCondition)
strategy.close("Buy", when=shortCondition or profitTakingLongCondition or stopLossLongCondition)

strategy.entry("Short", strategy.short, when=shortCondition)
strategy.close("Short", when=buyCondition or profitTakingShortCondition or stopLossShortCondition)

// Plot VWAP on the chart
plot(vwapValue, color=color.blue, title="VWAP")


Больше