常用的滤波器
1、ma和ema
优点:简单易懂,好实现
缺点:延迟性和平滑性矛盾
Python实现:导入talib,现成函数
2、自适应均线
优点:可以动态适用不同的行情
缺点:有4个参数需要人工设置,如何适用不同形态的行情是问题
Python实现:
①导入talib,现成考夫曼函数KAMA
②自己封装一个,自定义参数,如下
def ama(self, np_array, n, c, d, e):
"""自适应均线"""
if n < 2:
result = np_array
else:
# 计算效率E
direction = abs(np_array[-1]-np_array[-n])
x = 0
i = 1
while i < n:
x+=abs(np_array[-i]-np_array[-i-1])
i+=1
E = direction/x
# 计算参数a
a = (c + d*E)**e
# 计算自适应均线
ama = [np_array[-2],np_array[-1]]
if len(ama) == 0:
ama.append(np_array[-1])
else:
y = a * np_array[-1] + (1 - a)*ama[-2]
ama.append(y)
return ama
3、TR和ATR
优点:可以较为真实的反应波动幅度
缺点:判断参数及统计区间的定义
Python实现:参考经典的海龟策略,导入talib,现成的函数
4、进阶版-----时域与频域的转换
ema本质上是一个一阶低通滤波器
A、小波分析
B、快速傅里叶变换
C、卡尔玛滤波器
D、其他
暂时还没琢磨透,后面在更新
网友评论