Python 中的指数移动平均值2025年03月17日 | 阅读 9 分钟 移动平均线是当我们查找特定时期内股票或份额的趋势时必不可少的指标。移动平均线严格分析时间序列;因此,它们对于经济学家、交易员和分析师来说非常有用,可以深入了解市场趋势,识别关键表现和支撑位,并跟踪任何股票的过去和未来表现。 交易员通常在入场和出场点使用移动平均线,并帮助他们衡量趋势、任何交易中证券的强度以及预测股票的未来趋势。 移动平均线主要有三种类型。它们是简单移动平均线(SMA)、加权移动平均线(WMA)和指数移动平均线(EMA)。SMA 是最基本的一种。它简单地找出 m 个数据点的平均值,其中 m 是给定 MA 的周期。加权移动平均线为 SMA 中涉及的数据点提供权重。EMA 也与 WMA 相同,因为这两种类型都更侧重于当前或最近的数据。 EMA 是一种加权移动平均线。它们更侧重于最近的数据,因此可以跟踪任何股票在给定期间的表现。这使得这些平均线在对给定期间的价格变化做出反应时更快。 在这里,我们将了解更多关于 EMA 以及如何在 Python 中实现它。 什么是指数移动平均线?EMA 提供了一种衡量股票平均价格的方法。它更侧重于当前数据点。与 SMA 相比,EMA 对近期价格变动反应更快,并对所有观察值赋予相同权重。 基于先前价格的指数移动平均线(EMA)是一种技术指标,显示证券价格的趋势。因此,EMA 是滞后指标,它们突出股票价格模式而不是预测未来价值。 在确定股票市场的 EMA 时,应考虑以下因素
指数移动平均线 (EMA) 的计算公式 以下是计算 EMA 的公式 ![]() 计算 EMA 的步骤以下是计算 EMA 的步骤 步骤 1 - 确定简单移动平均线。因此,如果我们希望估计前十天的简单移动平均线,将商品的最新十个值相加,然后将总和除以 10。 例如 - (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10) / 10 = 5.5 步骤 2 - 使用以下公式计算要乘以特定时期差异的加权常数 EMA(当前) = ((价格(当前) - EMA (之前)) x 乘数) + EMA(之前) 步骤 3 - 现在您已经有了 SMA 和常数乘数的值,您可以使用该公式计算 EMA (收盘价 - EMA(前一天)) x 乘数 + EMA(前一天) 在这种情况下,EMA 利用前一天的读数,并将所有价格数据合并到其当前值中。先前价格对移动平均线的影响可以忽略不计,但新价格的影响最大。 ![]() Curr = 当前值 Prev = EMA 的先前值 W = 指数加权常数 EMA 告诉你什么?EMA 计算是计算 10、15、20、50、100 和 200 天移动平均线的好选择。
现在我们将看到如何在 Python 中计算指数移动平均线 Python 中的 EMA方法 1在此示例中,我们不会使用任何内置库或函数。我们将创建自己的算法来计算 EMA。我们将创建一小组数据值以供参考。 代码 输出 The EMA values are: [121, 117.64, 118.3, 115.98, 117.39, 118.96, 121.21, 122.27, 124.43, 125.15, 127.35, 129.49, 130.19, 131.82, 131.59, 133.1, 133.35, 134.93, 134.95, 136.36, 136.54] 方法 2在此示例中,我们将使用 Pandas 库的 emw 函数来计算 EMA。让我们首先看一下此函数的语法。 函数语法 其中 com = 1 / (1 + K),其中 K 是用于计算 EMA 的公式中的平滑因子。 示例 1 我们将计算数据值的 EMA,并使用 matplotlib 库绘制数据和移动平均线。由于 EMA 是一个平均值,它是实际时间序列数据的平滑版本。我们将 com 值取为 2.5,这是我们为 K = 0.28 计算的。然后,我们可以比较我们使用算法计算的 EMA 值和内置 ewm 函数计算的 EMA 值。 代码 输出 EMA: Values 0 121.000000 1 114.000000 2 116.697248 3 114.110360 4 116.528432 5 118.660629 6 121.293028 7 122.429146 8 124.702267 9 125.382271 10 127.613872 11 129.762086 12 130.409649 13 132.021396 14 131.727681 15 133.241006 16 133.458575 17 135.045557 18 135.032519 19 136.453498 20 136.609775 我们可以看到 EMA 值与我们之前计算的值接近。因此,这证明该算法给出了 EMA 的合理估计。 示例 2 在此示例中,我们将使用与上一示例中相同的时间序列。但是,我们将看到更改 com 值后对 EMA 的影响。 代码 输出 EMA: Values 0 121.000000 1 114.333333 2 116.655738 3 114.401084 4 116.364112 5 118.162807 6 120.399265 7 121.504908 8 123.467316 9 124.258843 10 126.171358 11 128.067380 12 128.899659 13 130.385056 14 130.512530 15 131.847603 16 132.287999 17 133.655025 18 133.927954 19 135.156527 20 135.528654 示例 3 在此示例中,我们还将使用与之前相同的时间序列。在这里,我们将为 emw 函数提供不同的 com 值。这次该值将接近零。我们将看到如此小的值如何改变 EMA 计算,并将像上面案例中那样将其可视化。 代码 输出 ![]() 指数移动平均线和简单移动平均线之间的差异
指数移动平均线的局限性
|
Python 中 Set 和 List 的区别。在本文中,我们将讨论 Python 中 Set 和 list 之间的区别。Set 和 list 是 Python 中的数据结构,用于以有效的方式存储和组织数据。List Python 中的 List 是…
阅读 4 分钟
在本教程中,我们将学习 Python 矩阵。在 Python 中,矩阵对象类似于嵌套列表,因为它们是多维的。我们将了解如何使用 Numpy 数组创建矩阵。在此之后,我们将看到各种矩阵运算方法和示例...
阅读 10 分钟
在本教程中,我们将学习一些每个 Python 开发人员都应该知道的令人惊叹的 Python 装饰器。这些装饰器将帮助将代码提升到一个新的水平,并用更少的代码做更多的事情。正如我们所知,Python 装饰器是一个强大的工具,它有助于...
阅读 10 分钟
Python 中有 sorted() 函数,我们可以用它对输入的字符串进行排序。但如果我们必须对输入的字符串进行反向排序怎么办?我们可以使用 sorted() 函数进行反向排序吗?答案是肯定的。在本节中,...
阅读 2 分钟
? 在本文中,您将学习如何在 Python 中打印给定矩阵的螺旋矩阵。以下是打印给定矩阵的螺旋矩阵的 Python 实现:def spiral_matrix(matrix): # 定义变量 top, bottom = 0, len(matrix)-1 ...
阅读 6 分钟
本教程的问题陈述是,对于给定的二维矩阵,我们必须设计一个算法以螺旋形式将其打印到一维数组中。我们将在 Python 中实现该算法。理解问题的示例输入和输出:输入:{{1, 2, 3,...
阅读 16 分钟
在本教程中,我们将学习 Python 中的 Shutil 模块。我们将讨论如何使用 Python 脚本执行高级文件操作,例如创建新的复制文件并将其存档以及将内容从一个文件复制到另一个文件。让我们...
阅读 6 分钟
什么是二叉搜索树?二叉搜索树是一种二叉数据结构,包含具有以下几个属性的各种节点:左子树节点小于根节点。右子树节点大于根节点。每个节点的子节点...
阅读 6 分钟
? 在 Python 中,“NaN”代表“非数字”,是一个特殊值,用于表示缺失或未定义的数值数据。它是 IEEE(电气和电子工程师协会)浮点算术标准定义的一个特殊值。它通常用于表示...
阅读 3 分钟
在 Python 中,`容器` 是一个包含其他对象的对象。容器提供了一种组织和管理数据集合的方法。Python 提供了几种内置容器类型,包括 `列表`、`元组`、`集合` 和 `字典`。每种类型都有其自身的特点和用例。列表 列表是有序集合...
阅读 2 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India