2018-06-03滤波器设计(1)

常用的滤波器
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、其他

暂时还没琢磨透,后面在更新

你可能感兴趣的:(2018-06-03滤波器设计(1))