Estratégia de previsão de preços logarítmica

Autora:ChaoZhang, Data: 2023-12-20 14:40:23
Tags:

img

Resumo

Esta estratégia utiliza funções logarítmicas para modelar mudanças de preço com base no desvio padrão e na média do volume de negociação para calcular a pontuação z como parâmetros de entrada para a função logarítmica para prever preços futuros.

Princípios de estratégia

  1. Calcular o valor ROC do preço de encerramento, acumular valores positivos em volume_pos e valores negativos em volume_neg
  2. Calcular a diferença entre volume_pos e volume_neg como volume_net
  3. Calcular o desvio padrão net_std e a média net_sma do volume net_std
  4. Calcule a pontuação z dividindo o net_sma por o net_std
  5. Usar o preço de fechamento, o desvio padrão de 20 dias do preço de fechamento e o z-score como parâmetros na função logística para prever o preço do próximo período
  6. Long quando o preço previsto está acima do preço real atual * 1.005, posição fechada quando abaixo de * 0.995

Análise das vantagens

Esta estratégia combina informações estatísticas do volume de negociação e previsão de preços utilizando funções logarítmicas.

As vantagens são:

  1. Utiliza a diferença de longo-curto no volume de negociação para medir o sentimento do mercado
  2. Função logarítmica se encaixa bem na curva de mudança de preço para previsão
  3. Estratégia simples e direta, fácil de implementar

Análise de riscos

Esta estratégia também apresenta alguns riscos:

  1. Indicadores de volume de negociação com atraso, não podem refletir em tempo útil as alterações do mercado
  2. A previsão logarítmica nem sempre é precisa, pode ser enganosa
  3. Incapacidade de controlar as perdas

Os riscos podem ser reduzidos:

  1. Combinar outros indicadores para avaliar a fiabilidade dos sinais de volume
  2. Otimizar os parâmetros da função logarítmica para melhorar a precisão da previsão
  3. Estabelecer linhas de stop loss para limitar a perda máxima por transação e no geral

Orientações de otimização

Esta estratégia pode ser melhorada através de:

  1. Adotar aprendizado de máquina para otimizar dinamicamente função logarítmica
  2. Incorporar indicadores de volatilidade para ajustar o dimensionamento das posições
  3. Adicionar filtragem Bayesiana para filtrar sinais inválidos
  4. Combinar com estratégias de fuga para entrar em pontos de fuga
  5. Usar regras de associação para detectar sinais de divergência volume-preço

A combinação de vários métodos pode melhorar ainda mais a estabilidade e a rendibilidade.

Conclusão

Esta estratégia integra indicadores estatísticos de volume de negociação e previsão logarítmica em uma metodologia de negociação quantitativa única. Com otimização contínua, pode se tornar um sistema de negociação automatizado eficiente e estável. Ao alavancar o aprendizado de máquina e as teorias de otimização de portfólio, estamos confiantes de melhorar ainda mais seu desempenho comercial.


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


Mais.