AMA是和SAR一样好用的指标,尤其逃顶优秀,如2022年初这波下跌AMA在三大指数表现:


为了搞清楚指标的含义,查了很多资料,经过核对对比,终于搞清楚指标的编写过程和含义。
并根据相关资料,编写了基于python的指标实现代码,请按需查阅。
如有高见,欢迎交流。

1、总体涨幅与方向

dif = ABS(S[-1] - S[-N])
S[-1]是当期收盘价,比如当日、小时收盘价格等;
S[-N]是向前第N期的收盘价,如S[-18];
S[-1] - S[-N]就是两期之间的总体涨幅;
dif反应得既是涨幅,也是价格方向;
比如18天前与当日收盘价涨幅:
dif = ABS ( S[-1] - S[-18] )

2、波动幅度


1、ABS(S[i-N] - S[i-N-1])
波幅:当期与前一周期差值的绝对值;如:S[-1] - S[-2]
2、for i in range(N)
循环获取N周期内的收盘价差值绝对值,组成list列表
3、求和
获取N周期内所有波动的和,得到总波动dif_sum

3、涨跌效率

roc = dif / dif_sum

dif / dif_sum 也就是区间总体涨幅 / 区间波动幅度,得到的比值,就是涨跌的效率;
区间波动幅度 - 区间总体涨幅 = 噪音,噪音就是无效涨跌,或称为无效波动
涨跌效率在0至1之间波动,也就是: 0< roc< 1,
roc越趋近1,越接近单边上涨;
roc越趋近0,越接近横盘;

4、平滑系数

fastest = 2 / (N1 + 1)
slowest = 2 / (N2 + 1)
sm = roc(fastest-slowest)+slowest
c = sm
sm
通过平滑系数,推动指标具备自适应性。
当roc趋近1,则sm趋近fastest
当roc趋近0,则sm趋近slowest

比如N1 = 2,N2=30:sm= roc*(2/3 - 1/30)+1/30
当roc趋近1,sm趋近 2/3;
当roc趋近0,sm趋近 1/30;

相对应,也就是越趋近单边上涨或下跌,sm和c的值越大;反之值越小。

5、计算ama

ama = EMA(DMA(S[-1],c),2)
DMA(动态移动平均)和EMA(指数移动平均)公式附后

问题:
在震荡期间的表现,需要进一步研究,欢迎交流。

附件:AMA、DMA、EMA代码

def AMA(S,N=10,N1=2,N2=30):       # N=价格区间;N1=快线;N2=慢线;如N = 10、N1 = 2、N2 = 30dif = ABS(S[-1] - S[-N])     # 总体涨幅;dif:difference,差值;也可以用:DIFF(S,N=1)dif_sum = sum([ ABS(S[i-N] - S[i-N-1]) for i in range(N) ][-N:])     # 总波动幅度roc = dif/dif_sum                                                   # ROC:变动速率,fastest = 2 / (N1 + 1)                                              # 平滑系数:快系数slowest = 2 / (N2 + 1)                                           # 平滑系数:慢系数sm = roc*(fastest-slowest)+slowest                                   # 平滑系数c = sm*smama = EMA(DMA(S[-1],c),2)return ama
def DMA(S, A):  # 求S的动态移动平均,A作平滑因子,必须 0<A<1if isinstance(A, (int, float)):  return pd.Series(S).ewm(alpha=A, adjust=False).mean().valuesA = np.array(A)A[np.isnan(A)] = 1.0Y = np.zeros(len(S))Y[0] = S[0]for i in range(1, len(S)): Y[i] = A[i] * S[i] + (1 - A[i]) * Y[i - 1]  # A支持序列
return Y
def EMA(S, N):  # 指数移动平均,为了精度 S>4*N  EMA至少需要120周期return pd.Series(S).ewm(span=N, adjust=False).mean().values

AMA指标代码逐一解释,附源码(python)相关推荐

  1. 用Html5实现天气预报的原理,HTML5 Canvas和jQuery实时天气预报代码解析「附源码」...

    HTML5 Canvas和jQuery实时天气预报代码解析「附源码」 这是一款非常有意思的纯CSS3扁平风格天气预报卡片动画特效.该天气预报特效将各种天气制作为卡片形式,包括下雨,闪电,白天,夜间和下 ...

  2. [附源码]Python计算机毕业设计SSM绩效考核管理系统(程序+LW)

    [附源码]Python计算机毕业设计SSM绩效考核管理系统(程序+LW) 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ ...

  3. [附源码]Python计算机毕业设计SSM即刻实时预约排队系统(程序+LW)

    [附源码]Python计算机毕业设计SSM即刻实时预约排队系统(程序+LW) 项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行) ...

  4. Python毕设-【人脸签到系统】附源码/Python练手项目/Python毕业设计

    本人承诺只做技术分享,永不收费. V----------------->:专栏详情 文章目录 本人承诺只做技术分享,永不收费. V----------------->:专栏详情 一.背景 ...

  5. matlab布林线代码,[转载]布林指标的计算(附源码)

    鉴于通达信软件和其他国内证券分析软件布林带指标与国外Advanced GET 8.0 和 Gannalyst Professional 5.0 分析软件布林指标表示差距过大,特别写一篇博文帮助大家理解 ...

  6. Java 贪吃蛇 最简易地实现方法 超简短代码实现 (附源码 详解)

      分享一个我刚刚写的贪吃蛇小游戏,非常简短的代码实现方法.这可能是全网最简单实现方法,效果图如下: ps 最新贪吃蛇源码+教学视频+论文下载 java贪吃蛇  有多简短呢 ? 上代码!!   一共四 ...

  7. 这下终于可以方便地发表测试型网页代码了(附源码下载)

    前言 色彩斑斓的"马" 虽然利用插入代码功能可以很华丽的插入色彩斑斓的代码,但是就html(Xhtml)代码.js代码.css代码而言,我更喜欢想蓝色理想论坛中的那种:有个文本框, ...

  8. 基于文档注释接口文档生成工具(代码0侵入附源码)

    本文主要分享一个基于个人兴趣,旨在提高工作效率,开发了一个基于文档注释,接口文档生成工具,欢迎大佬指点. 源码以及使用demo地址 :传送门 1.前置介绍 1.1前世 现在大多数项目都走向了前后端分离 ...

  9. SpringBoot整合Elasticsearch详细步骤以及代码示例(附源码)

    准备工作# 环境准备# JAVA版本 Copy java version "1.8.0_121" Java(TM) SE Runtime Environment (build 1. ...

最新文章

  1. ORM 框架中SQLALCHEMY一点点个人总结
  2. Retrofit2 multpart多文件上传详解
  3. PHPCMS v9 二次开发_验证码结合Session开发
  4. python 离散数据时间序列图_每个人都学的会的数据分析
  5. 安卓手机使用linux(含图形界面)——Aid Learning
  6. MySQL报错this is incompatible with sql_mode=only_full_group_by
  7. 抖音联合九大博物馆推出“云游”活动 网友可在家看展
  8. 设计模式学习摘要-抽象工厂
  9. win11安装报错0xc1900101怎么办 Windows11安装报错0xc1900101的解决方法
  10. mysql数据库 性别 优化_BATJ解决千万级别数据之MySQL 的 SQL 优化大总结
  11. python图片裁剪
  12. Python之模块pandas基础知识
  13. 英语写计算机作文600字,介绍电脑 computer 英语作文
  14. 计算机防火墙打不开0x6d9,win7防火墙出现0x6d9该怎么办
  15. 全面质量管理 - TQM Diagram
  16. 3000万存款的陈奕迅哭穷,真不是无病呻吟!
  17. 变频器的四大组成部分和工作原理
  18. 中标麒麟操作系统设置或修改root密码
  19. Linux教程系列 pdf下载(鸟哥私房菜等)
  20. 阿里云启动docker,出现 minergate-cli ,CPU占用100%

热门文章

  1. 2018全球机器学习技术大会议程抢鲜看!
  2. 特斯拉员工年薪曝光:软件工程师 109 万元
  3. QT5 QLineEdit QTextEdit右键菜单的汉化
  4. 微信小程序圣诞帽_构建圣诞快乐Web应用程序界面
  5. Wifi热点java_用笔记本电脑开启热点Java小程序
  6. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十七)具体单板的LED驱动程序
  7. 有50 只狗,找出其中病狗
  8. 使用AHK减少鼠标和方向键的使用频率,高效编辑
  9. 显示农历天气时钟小部件下载_优效日历电脑版-优效日历下载v2.0.10.16
  10. 用 Golang 实现矩阵运算库