找到极大值和极小值

Stack flow中给出了其中一种答案,利用diff函数。但是对于不想找到

Finding local maxima and minima

但是,问题在于,有时候噪声信号太大,会产生一些 极值点的误判。

在《统计套利》一书中,提到了一种 定义极值点的方法:

( a[i] - a[wait.pos] ) / ( a[wait.pos]  -  a[last.pos]) >= threshold

其中 i为当前值,wait.pos为待判定的极值点, last.pos为已认定的极值点。threshold为阈值,即下降或者上升幅度至少为上一极值点落差的 百分之多少,比如20%

那么last.pos若为极大值,则wait.pos应该为极小值;反之亦然。

但是存在的问题是:

(1)对于单调上升或者下降趋势无法判定,这种情况也可以认为只有最大值和最小值,而没有极值点


#在图上 显示特定点,比如股价图上显示买卖点
#test EXTM point
col.sel = 3
plot(as.numeric(Close.fut[,col.sel]), type='l')
points(xaxis[EXTM.fut[,col.sel]==-1], Close.fut[,col.sel][EXTM.fut[,col.sel]==-1],col="blue", pch=21)
points(xaxis[EXTM.fut[,col.sel]==1], Close.fut[,col.sel][EXTM.fut[,col.sel]==1],col="green", pch =23)








  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值