基于对数的价格预测策略


创建日期: 2023-12-20 14:40:23 最后修改: 2023-12-20 14:40:23
复制: 0 点击次数: 499
avatar of ChaoZhang ChaoZhang
1
关注
1319
关注者

基于对数的价格预测策略

概述

该策略利用对数函数模拟价格变化,根据交易量的标准差和均值计算z值,作为参数输入对数函数,预测未来价格。

策略原理

  1. 计算收盘价的ROC值,正值累加至volume_pos,负值累加至volume_neg
  2. 计算volume_pos和volume_neg的差值作为net_volume
  3. 计算net_volume的标准差net_std和均值net_sma
  4. 计算net_sma除以net_std得到z值
  5. 将收盘价、收盘价20日标准差、z值作为参数,输入对数函数logistic预测下一周期价格
  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")