
Uma estratégia de VWAP é uma estratégia que acompanha o preço médio de uma ação em um determinado período de tempo. A estratégia usa o VWAP como uma base, fazendo uma posição a mais ou a menos quando o preço está acima ou abaixo do VWAP.
A estratégia primeiro calcula o preço típico (o valor médio dos preços mais altos, mais baixos e mais baixos) multiplicado pela soma do volume de transação, e a soma do volume de transação. Em seguida, a soma do produto multiplicado pela soma do volume de transação é dividida para calcular o valor do VWAP. Quando o preço sobe, faça mais VWAP; quando o preço desce, faça zero.
A condição de parada para fazer várias posições é a parada quando o preço sobe 3% em relação ao preço de entrada; a condição de parada de perda é a parada quando o preço cai 1% em relação ao preço de entrada. A posição em aberto é uma condição semelhante.
As principais vantagens da estratégia VWAP são:
O VWAP, um indicador estatístico reconhecido como importante, é usado como referência para os sinais de transação, o que torna a estratégia mais eficaz.
Ao mesmo tempo, o uso de sinais de VWP e de stop loss permite obter lucro na tendência e reduzir os prejuízos.
A lógica da estratégia é simples, clara, fácil de entender e de implementar.
A estratégia também apresenta alguns riscos:
O VWAP não tem capacidade de prever preços futuros e, portanto, o sinal VWAP pode ser atrasado;
A paralisação está muito relaxada e pode aumentar os prejuízos;
Quanto mais tempo de detecção, mais sinais de negociação, mais o efeito do disco rígido pode ser diferente.
Esses riscos podem ser reduzidos por meio de métodos como ajustes de parâmetros, otimização de algoritmos de parada de perdas.
A estratégia pode ser otimizada em várias direções:
Otimizar os parâmetros do VWAP para encontrar o melhor ciclo de cálculo;
Outros algoritmos de rastreamento de stop loss, como stop motion, stop motion index, etc., podem ser testados;
Pode ser combinado com outros indicadores como filtros para evitar erros no sinal VWAP; por exemplo, indicadores de potência, indicadores de faixa de Brin, etc.
Em geral, a estratégia de valor de volume de transação em preço médio utiliza a força preditiva do VWP, um indicador importante, para estabelecer condições de stop loss e obter ganhos positivos a longo prazo. No entanto, é necessário otimizar ainda mais e combinar outras estratégias para reduzir o risco causado pela volatilidade do mercado e aumentar a margem de lucro da estratégia.
/*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")