Estratégia de preços médios ponderados por volume

Autora:ChaoZhang, Data: 2023-12-29 16:31:33
Tags:

img

Resumo

A estratégia de preço médio ponderado por volume (VWAP) é uma estratégia que rastreia o preço médio de uma ação durante um tempo especificado. A estratégia usa o VWAP como referência e toma posições longas ou curtas quando o preço cruza acima ou abaixo do VWAP. Também define condições de stop loss e take profit para gerenciar negócios.

Estratégia lógica

A estratégia primeiro calcula o preço típico (média dos preços altos, baixos e próximos) multiplicado pelo volume e a soma do volume. Em seguida, o VWAP é calculado dividindo a soma do produto preço-volume típico pela soma do volume. Quando o preço cruza o VWAP, vá longo. Quando o preço cruza abaixo, vá curto.

A condição de obtenção de lucro para as posições longas é fechar quando o preço sobe 3% acima do preço de entrada. A condição de stop loss é quando o preço cai 1% abaixo do preço de entrada. Condições semelhantes se aplicam às posições curtas.

Análise das vantagens

As principais vantagens da estratégia VWAP são:

  1. Utiliza a estatística VWAP bem reconhecida como referência para os sinais comerciais, tornando a estratégia mais eficaz.

  2. Utiliza tanto sinais de vwap quanto stop loss/profit taking, capaz de lucrar com tendências e limitar perdas.

  3. Lógica simples e clara, fácil de entender e implementar.

Análise de riscos

Há também alguns riscos com esta estratégia:

  1. O VWAP não pode prever preços futuros, por isso os sinais podem atrasar.

  2. A posição de stop loss pode ser demasiado ampla, aumentando a perda potencial.

  3. Testes de retorno mais longos significam mais sinais, o desempenho real pode diferir.

Estes riscos podem ser reduzidos através do ajuste dos parâmetros, da otimização dos algoritmos de stop loss, etc.

Orientações de otimização

Algumas maneiras de otimizar a estratégia incluem:

  1. Otimizar os parâmetros VWAP para encontrar o melhor período de cálculo.

  2. Teste outros algoritmos de parada de rastreamento, por exemplo, parada de média móvel, SAR parabólica.

  3. Combinar outros indicadores para filtrar sinais VWAP, por exemplo volume, bandas de Bollinger.

Conclusão

Em resumo, a estratégia VWAP utiliza o poder preditivo desta importante estatística, com stop loss/profit taking para alcançar expectativas positivas a longo prazo.


/*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")


Mais.