Stratégie de prévision des prix basée sur le logarithme


Date de création: 2023-12-20 14:40:23 Dernière modification: 2023-12-20 14:40:23
Copier: 0 Nombre de clics: 660
1
Suivre
1621
Abonnés

Stratégie de prévision des prix basée sur le logarithme

Aperçu

Cette stratégie utilise une fonction logarithmique pour simuler les variations de prix et calculer la valeur z en fonction du décalage standard et de la moyenne du volume de transactions, en tant que fonction logarithmique d’entrée de paramètres, pour prédire les prix futurs.

Principe de stratégie

  1. Calculer le ROC du prix de clôture, le positif étant ajouté à volume_pos, le négatif étant ajouté à volume_neg
  2. Calculer la différence entre le volume_pos et le volume_neg comme étant le net_volume
  3. Calculer la différence standard net_volume net_std et la moyenne net_sma
  4. Calculer net_sma divisé par net_std pour obtenir z
  5. Prenez le prix de clôture, la différence standard de 20 jours entre le prix de clôture et la valeur z comme paramètres, puis entrez la fonction logistic de la fonction logistic pour prédire le prix du prochain cycle.
  6. Faire plus lorsque le prix prévu est supérieur à 1,005 fois le prix réel actuel, et faire moins lorsque le prix est inférieur à 0,995 fois

Analyse des avantages

Cette stratégie combine des informations statistiques sur le volume des transactions et des prévisions de prix de fonctions logarithmiques.

Les avantages:

  1. Les écarts de volume des transactions permettent de juger de l’humeur du marché
  2. La fonction logarithmique s’adapte à la courbe de variation des prix, ce qui est plus efficace pour la prévision
  3. La stratégie est simple et facile à mettre en œuvre

Analyse des risques

Cette stratégie comporte aussi des risques:

  1. Les indicateurs de volume des transactions sont en retard et ne reflètent pas les évolutions du marché en temps opportun.
  2. Les prédictions de fonctions logarithmiques ne sont pas toujours précises et peuvent être trompeuses.
  3. L’absence d’arrêt des pertes, l’incapacité à contrôler les pertes

Le risque peut être réduit par les moyens suivants:

  1. La fiabilité des signaux de volume de transaction combinée à d’autres indicateurs
  2. Optimisation des paramètres de la fonction logarithmique pour une meilleure précision de prédiction
  3. Fixez des limites de stop-loss pour limiter les pertes maximales par lot et par lot

Direction d’optimisation

La stratégie peut être optimisée:

  1. Optimisation dynamique de fonctions logarithmiques par apprentissage automatique
  2. Gestion de position ajustée en fonction de l’indicateur de volatilité des cours des actions
  3. Ajout d’un filtre Bayes, le filtre est inefficace
  4. La stratégie d’entrée de jeu est basée sur le point de rupture.
  5. Utilisation de la règle de corrélation pour dériver le prix du signal

La combinaison de plusieurs approches peut améliorer encore la stabilité et la rentabilité de la stratégie.

Résumer

Cette stratégie intègre des indicateurs statistiques de volume de transactions et des prévisions de fonctions logarithmiques, formant un concept de trading quantifié unique. Grâce à une optimisation continue, la stratégie peut devenir un système de trading programmé efficace et stable. Combiné à l’apprentissage automatique et à la théorie de l’optimisation du portefeuille, nous sommes confiants dans l’amélioration de ses performances de trading.

Code source de la stratégie
/*backtest
start: 2023-11-19 00:00:00
end: 2023-12-10 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Logistic", overlay=true )

volume_pos = 0.0
volume_neg = 0.0
roc = roc(close, 1)

for i = 0 to 100
    if (roc > 0)
        volume_pos := volume
    else
        volume_neg := volume
    
volume_net = volume_pos - volume_neg
net_std    = stdev(volume_net, 100)
net_sma    = sma(volume_net, 10)
z          =  net_sma / net_std
std        = stdev(close, 20)

logistic(close, std, z) =>
    m = (close + std)
    a = std / close
    pt = m / ( 1 + a*exp(-z))
    pt
    
    
pred = logistic(close, std, z)

buy = pred > close * 1.005
sell = pred < close * 0.995

color = strategy.position_size > 0? #3BB3E4 : strategy.position_size == 0? #FF006E : #6b6b6b
barcolor(color)


if (buy == true)
    strategy.entry("Long", strategy.long, comment="Open L")
    
if (sell == true)
    strategy.close("Long", comment="Close L")