Estrategia de predicción de precios basada en logaritmos


Fecha de creación: 2023-12-20 14:40:23 Última modificación: 2023-12-20 14:40:23
Copiar: 0 Número de Visitas: 660
1
Seguir
1621
Seguidores

Estrategia de predicción de precios basada en logaritmos

Descripción general

La estrategia utiliza una función logarítmica para simular el cambio de precio y calcular el valor z en función de la diferencia estándar y el promedio de la cantidad de transacciones, como una función logarítmica de entrada de parámetros para predecir el precio futuro.

Principio de estrategia

  1. Calcula el valor de ROC del cierre, el valor positivo se acumula en volume_pos, el valor negativo se acumula en volume_neg
  2. Calcula la diferencia entre el volumen_pos y el volumen_neg como el volumen neto
  3. Calcula la diferencia estándar net_volume net_std y el promedio net_sma
  4. Calcula el valor de z de net_sma dividido por net_std
  5. Tomando el precio de cierre, el precio de cierre con diferencia estándar de 20 días y el valor z como parámetros, ingrese la función logistic para predecir el precio del próximo ciclo
  6. Hacer más cuando el precio previsto es 1.005 veces más alto que el precio real actual y cerrar cuando es menos de 0.995 veces

Análisis de las ventajas

La estrategia combina información estadística sobre el volumen de transacciones con una predicción de precios de una función logarítmica.

Las ventajas son:

  1. La diferencia en el volumen de transacciones para determinar el estado de ánimo del mercado
  2. La función logarítmica se ajusta a la curva de cambio de precios para una mejor predicción
  3. Las estrategias son sencillas y fáciles de implementar

Análisis de riesgos

La estrategia también tiene sus riesgos:

  1. El índice de volumen de transacciones está retrasado y no refleja los cambios en el mercado a tiempo
  2. Las predicciones de funciones logarítmicas no siempre son exactas y pueden ser engañosas.
  3. La falta de medidas de detención de pérdidas y la imposibilidad de controlar las pérdidas

El riesgo puede reducirse de la siguiente manera:

  1. En combinación con otros indicadores para determinar la fiabilidad de las señales de volumen de transacción
  2. Optimización de los parámetros de las funciones logarítmicas para mejorar la precisión de las predicciones
  3. Establezca un límite de pérdidas para limitar la pérdida máxima por unidad y en general

Dirección de optimización

La estrategia puede ser optimizada aún más:

  1. Optimización dinámica de funciones logarítmicas mediante métodos de aprendizaje automático
  2. Administración de posiciones ajustadas en combinación con el índice de volatilidad de los precios de las acciones
  3. Aumentar el filtro de Bayes, el filtro no es válido
  4. La estrategia de la ruptura, combinada con el punto de ruptura
  5. Utilizando reglas de correlación para extraer valores fuera de la señal

A través de una combinación de métodos, se puede mejorar aún más la estabilidad y la rentabilidad de la estrategia.

Resumir

Esta estrategia integra los indicadores estadísticos de volumen de transacciones y la predicción de la función logarítmica, formando un concepto de comercio cuantitativo único. Con la optimización continua, la estrategia puede convertirse en un sistema de comercio programado eficiente y estable. Combinado con el aprendizaje automático y la teoría de optimización de la combinación, estamos seguros de mejorar aún más su rendimiento comercial.

Código Fuente de la Estrategia
/*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")