g****t 发帖数: 31659 | 1 众所周知MACD有滞后。
我记得去年曾经讨论过这个问题。后来经过研究,我自己发明了一种
accelerating moving average。想法很简单。不是要减少末点滞后吗,
那么就把快到末点的时候的权重变化即可。也就是一种变参数的moving
average。简单的说,最开始你是50天平均,到了你觉得滞后太大了的时候,
改成20天平均即可。那么用算法判断什么时候改成多少天平均呢?
这个需要一定的统计根据。我当时的版本是根据B Band的宽度改。
简单的说,B Band收窄,则加速收敛,50天平均,逐步缩小到20天,甚至
5天平均。这样就做成了一个滞后相对来说更合理的moving average。
同样的原理,我还把它推广到了最小二乘法以及其他各种别的regression。
有三个办法:
第一个办法的原理就是算方差,方差大的时候,则减小这个点进去最小二乘法时候的权
重。
第二个办法是用最小二乘法预测下一个点的方差,如果预测错误,则说明
你需要反馈回来增加或者减小权重。
还有一个办法,是我以前做Kalman filtering研究的时候,有一种
离线fit covariance的办法,改成在线的。
总之,以上所述的基本想法就是合理的变动moving average或者regression的
权重。
后来我发现,经济学家有另外一套现成系统的处理这个问题的办法。
就是GARCH模型。有现成的理论体系,实证结果,软件包,文献。
现在我的结论是,GARCH(1,1)可以当做B Band的升级版本来放心使用。
体系完备,鲁棒性强,软件是现成的。散户不需要学习,2天就可以掌握。
最后,处理MACD滞后问题的关键其实是平均值以上的统计,或者说是波动率。
(以上我的意思是积分的积分,或者减去平均值之后的余量的平均值)
现在我认为比较满意的就是GARCH(1,1)。google GARCH 101可以看到很好的
文档。可以放心当做指标来使用。
warning:
以上讨论只适用于价格线和均线交叉体系。不推荐使用高阶GARCH模型,或者把多个
MACD的交叉信号往这个方向扩展。例如教授的三线合一,还有什么多头排列均线,
等等那都是高阶滤波,不能随便扩展。
这是因为矩阵微分方程,和一阶微分方程是完全不一样的。矩阵乘法不可互换,这是很
多重要数学发现的源泉。很难处理。以我的浅见,经济学很多phd论文往上
无节制的扩展模型,都是胡扯八道,基本的微积分都没搞清楚。经济学应该
往天文学靠拢,简单模型,深入观测才是王道。 |
K*C 发帖数: 2825 | 2 问题是这种信号更重要的意义是大家看一个然后随大流,众人拾柴火焰高.如果你和别人
看的不同,随大流捞一票就跑的机会就没了.
【在 g****t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 众所周知MACD有滞后。 : 我记得去年曾经讨论过这个问题。后来经过研究,我自己发明了一种 : accelerating moving average。想法很简单。不是要减少末点滞后吗, : 那么就把快到末点的时候的权重变化即可。也就是一种变参数的moving : average。简单的说,最开始你是50天平均,到了你觉得滞后太大了的时候, : 改成20天平均即可。那么用算法判断什么时候改成多少天平均呢? : 这个需要一定的统计根据。我当时的版本是根据B Band的宽度改。 : 简单的说,B Band收窄,则加速收敛,50天平均,逐步缩小到20天,甚至 : 5天平均。这样就做成了一个滞后相对来说更合理的moving average。 : 同样的原理,我还把它推广到了最小二乘法以及其他各种别的regression。
|
g****t 发帖数: 31659 | 3 没有什么信号能有什么确定的意义。能绝对的让你赚钱。
因为这个世界不是符号构成的。什么模型都有错的时候。
但是信号是有相对好坏的。
你用的工具不对,那就是韭菜。今天不被割明天就会被割。
【在 K*C 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 问题是这种信号更重要的意义是大家看一个然后随大流,众人拾柴火焰高.如果你和别人 : 看的不同,随大流捞一票就跑的机会就没了.
|
C*****n 发帖数: 858 | 4 好文,哪里可以找到这个 软件包 ?
【在 g****t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 众所周知MACD有滞后。 : 我记得去年曾经讨论过这个问题。后来经过研究,我自己发明了一种 : accelerating moving average。想法很简单。不是要减少末点滞后吗, : 那么就把快到末点的时候的权重变化即可。也就是一种变参数的moving : average。简单的说,最开始你是50天平均,到了你觉得滞后太大了的时候, : 改成20天平均即可。那么用算法判断什么时候改成多少天平均呢? : 这个需要一定的统计根据。我当时的版本是根据B Band的宽度改。 : 简单的说,B Band收窄,则加速收敛,50天平均,逐步缩小到20天,甚至 : 5天平均。这样就做成了一个滞后相对来说更合理的moving average。 : 同样的原理,我还把它推广到了最小二乘法以及其他各种别的regression。
|
g****t 发帖数: 31659 | 5 matlab, python都现成的。毕竟是几十年的理论了。
【在 C*****n 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 好文,哪里可以找到这个 软件包 ?
|
C*****n 发帖数: 858 | 6 thx
【在 g****t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : matlab, python都现成的。毕竟是几十年的理论了。
|
w********o 发帖数: 10088 | 7 我觉得解决滞后问题和产生false signal总是正相关的 |
g****t 发帖数: 31659 | 8 低通滤波一定有lag。所以
重点是如何更好的trade off。如何找到更好的现成工具
去做事。
【在 w********o 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我觉得解决滞后问题和产生false signal总是正相关的
|
C*****5 发帖数: 8812 | 9 拿信号处理的工具去处理股票并不一定适用啊。模型乱套很危险。
【在 g****t 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 低通滤波一定有lag。所以 : 重点是如何更好的trade off。如何找到更好的现成工具 : 去做事。
|
l*****e 发帖数: 3343 | 10 大致看了一下,感觉言之有物。收藏了,周末研习一下。 |