Стратегия логарифмического прогнозирования цен

Автор:Чао Чжан, Дата: 2023-12-20 14:40:23
Тэги:

img

Обзор

Эта стратегия использует логарифмические функции для моделирования изменений цен на основе стандартного отклонения и среднего объема торговли для расчета Z-оценки в качестве входных параметров к логарифмической функции для прогнозирования будущих цен.

Принципы стратегии

  1. Вычислить стоимость ROC цены закрытия, накопить положительные значения в volume_pos и отрицательные значения в volume_neg
  2. Вычислить разницу между volume_pos и volume_neg как net_volume
  3. Расчет стандартного отклонения net_std и среднего net_sma от net_volume
  4. Вычислить z-счет, деля net_sma на net_std
  5. Использование ценовой отметки закрытия, 20-дневного стандартного отклонения цены закрытия и Z-показателя в качестве параметров логистической функции для прогнозирования цены следующего периода
  6. Долгая позиция, когда прогнозируемая цена выше текущей фактической цены * 1,005, закрытая позиция, когда ниже * 0,995

Анализ преимуществ

Эта стратегия сочетает в себе статистическую информацию о объеме торговли и прогноз цен с использованием логарифмических функций.

Преимущества:

  1. Использует длинно-короткую разницу в объеме торговли для оценки настроения на рынке
  2. Логарифмическая функция хорошо соответствует кривой изменения цены для прогнозирования
  3. Простая и понятная стратегия, легко реализуемая

Анализ рисков

В этой стратегии также существуют определенные риски:

  1. Показатели объема торговли имеют отставание, не могут своевременно отражать изменения рынка
  2. Логарифмическое предсказание не всегда точно, может вводить в заблуждение
  3. Отсутствие мер по сдерживанию потерь, невозможность контроля потерь

Риски могут быть уменьшены:

  1. Комбинировать другие показатели для оценки надежности сигналов объема
  2. Оптимизировать параметры логарифмической функции для улучшения точности прогноза
  3. Установка линий стоп-лосса для ограничения максимальных потерь на одну сделку и в целом

Руководство по оптимизации

Эта стратегия может быть дополнительно оптимизирована путем:

  1. Принять машинное обучение для динамической оптимизации логарифмической функции
  2. Включить индикаторы волатильности для корректировки размеров позиций
  3. Добавить байесовскую фильтрацию для фильтрации недействительных сигналов
  4. Комбинируйте с стратегиями прорыва, чтобы войти в точки прорыва
  5. Использование правил ассоциации для обнаружения сигналов дивергенции объема и цены

Объединение нескольких методов может еще больше улучшить стабильность и рентабельность.

Заключение

Эта стратегия объединяет статистические показатели объема торговли и логарифмическое предсказание в уникальную количественную методологию торговли. При постоянной оптимизации она может стать эффективной и стабильной автоматизированной торговой системой. Используя теории машинного обучения и оптимизации портфеля, мы уверены в дальнейшем улучшении ее торговой эффективности.


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


Больше