Stratégie de prix moyens pondérés par volume

Auteur:ChaoZhang est là., Date: 2023-12-29 16h31 et 33 min
Les étiquettes:

img

Résumé

La stratégie de prix moyen pondéré par volume (VWAP) est une stratégie qui suit le prix moyen d'un stock sur une période de temps spécifiée. La stratégie utilise VWAP comme référence et prend des positions longues ou courtes lorsque le prix dépasse ou dépasse VWAP. Elle définit également des conditions de stop loss et de profit pour gérer les transactions.

La logique de la stratégie

La stratégie calcule d'abord le prix typique (moyenne des prix élevés, bas et rapprochés) multiplié par le volume et la somme du volume. Puis le VWAP est calculé en divisant la somme du produit prix-volume typique par la somme du volume. Lorsque le prix dépasse le VWAP, allez long. Lorsque le prix dépasse le bas, allez court.

La condition de prise de profit pour les positions longues est de fermer lorsque le prix augmente de 3% au-dessus du prix d'entrée. La condition de stop loss est lorsque le prix chute de 1% en dessous du prix d'entrée. Des conditions similaires s'appliquent aux positions courtes.

Analyse des avantages

Les principaux avantages de la stratégie VWAP sont les suivants:

  1. Utilise la statistique VWAP bien connue comme référence pour les signaux commerciaux, ce qui rend la stratégie plus efficace.

  2. Utilise à la fois les signaux vwap et le stop loss/profit taking, capable de tirer profit des tendances et de limiter les pertes.

  3. Une logique simple et claire, facile à comprendre et à mettre en œuvre.

Analyse des risques

Cette stratégie comporte également certains risques:

  1. Le VWAP ne peut pas prédire les prix futurs, donc les signaux peuvent être retardés.

  2. Le stop loss peut être trop large, ce qui augmente la perte potentielle.

  3. Des retests plus longs signifient plus de signaux, les performances réelles peuvent différer.

Ces risques peuvent être réduits grâce à l'ajustement des paramètres, à l'optimisation des algorithmes de stop loss, etc.

Directions d'optimisation

Certaines façons d'optimiser la stratégie comprennent:

  1. Optimiser les paramètres VWAP pour trouver la meilleure période de calcul.

  2. Testez d'autres algorithmes d'arrêt de suivi, par exemple arrêt de moyenne mobile, SAR parabolique.

  3. Combiner d'autres indicateurs pour filtrer les signaux VWAP, par exemple volume, bandes de Bollinger.

Conclusion

En résumé, la stratégie VWAP utilise le pouvoir prédictif de cette importante statistique, avec un stop loss/profit taking pour atteindre une attente positive à long terme.


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


Plus de