exponential_moving_average returns an incorrect second value when window_size=1
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 88/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- python
调研方向
从 financial/exponential_moving_average.py 开始,使用 window_size=1 运行报告中的复现。检查 i <= window_size 附近的初始化分支,并查看现有的 doctest 以了解上下文。完成的标准是:对于该输入,exponential_moving_average 返回 [10.0, 20.0, 30.0],同时保持现有的 window_size=3 行为不变。
由索引模型根据 Issue 内容生成。
描述
Repository commit
7f81fcd68c195ce71534de09d1b69d2b61665902
Python version (python --version)
Python 3.14.7
Dependencies version (pip freeze)
No third-party dependencies are required for this reproduction; the function uses only the Python standard library.
Expected behavior
For window_size=1, the documented smoothing factor is:
alpha = 2 / (1 + window_size) = 1
Therefore, the documented recurrence should return each input value unchanged.
For input [10.0, 20.0, 30.0], the expected output is:
[10.0, 20.0, 30.0]
Actual behavior
The function returns [10.0, 15.0, 30.0], so the second value is incorrect.
Reproduction from the repository root:
from financial.exponential_moving_average import exponential_moving_average
actual = list(
exponential_moving_average(iter([10.0, 20.0, 30.0]), window_size=1)
)
print(actual)
# [10.0, 15.0, 30.0]
assert actual == [10.0, 20.0, 30.0]
# AssertionError
The initialization branch uses if i <= window_size. At i=1 and window_size=1, it calculates (moving_average + stock_price) * 0.5, producing 15.0 instead of applying alpha=1.
The existing doctest uses window_size=3 and passes, but does not cover this case.
The unmodified source file at the reported commit was tested with Python 3.14.7.
- 主要语言
- Python
- 星标
- 225k
- 派生
- 51.1k
- 平均合并
- 16 小时 12 分钟
- 30 天内合并 PR
- 180
环境准备
在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
TheAlgorithms/Python 的其他 Issue
-
enhancement good first issue hacktoberfest tracking issue
难度 2/5 1-3 小时 新手友好度 74/100
TheAlgorithms/Python#15234 · 91 条评论 ·
维护者通常 1 天内回复
-
TheAlgorithms/python_maintainers: Call for help in preparing for Hacktoberfest 2026可能已有人在做 @AnupKumarPanwar 于 13 天前认领。 未关闭help wanted
TheAlgorithms/Python#15351 · 已指派 2 人 ·
维护者通常 1 天内回复
-
enhancement
难度 4/5 3-5 天 新手友好度 45/100
TheAlgorithms/Python#15337 · 14 条评论 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 25/100
TheAlgorithms/Python#15310 · 23 条评论 ·
维护者通常 1 天内回复
-
hacktoberfest help wanted tracking issue
难度 4/5 3-5 天 新手友好度 42/100
TheAlgorithms/Python#15187 · 8 条评论 ·
维护者通常 1 天内回复
查看 TheAlgorithms/Python 的全部 Issue
相似的 Issue
-
namespace operations
难度 1/5 1 小时以内 新手友好度 82/100
EclipseFdn/open-vsx.org#13573 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
collective/icalendar#1854 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
rancher/rancher-ai-agent#412 ·
维护者通常 6 天内回复
-
难度 2/5 1-3 小时 新手友好度 84/100
TUDelftGeodesy/DePSI#134 ·
-
难度 2/5 1-3 小时 新手友好度 88/100
HenriquesLab/rxiv-maker#335 ·