移动平均法是一种常用的技术分析工具,用于平滑时间序列数据,减少短期波动的影响,从而更容易识别出长期趋势。简单移动平均(Simple Moving Average, SMA)是最基本的一种移动平均法。
简单移动平均(SMA)的原理
简单移动平均是在一个固定的窗口内计算数据点的平均值。具体来说,对于一个窗口大小为 n
的简单移动平均,第 t
天的SMA值计算公式如下:
SMA𝑡=∑𝑖=𝑡−𝑛+1𝑡value𝑖𝑛SMAt=n∑i=t−n+1tvaluei
其中:
value_i
是第i
天的数据值。n
是窗口大小。
具体步骤
-
选择窗口大小:窗口大小
n
是一个重要的参数,通常根据数据的特性和分析需求来选择。较小的窗口大小对短期波动更敏感,较大的窗口大小则更平滑,但可能会延迟趋势的识别。 -
计算SMA:对于每个数据点,计算其窗口内的平均值。如果数据点的数量少于窗口大小,则直接使用原始数据。
-
平滑后的数据:将计算得到的SMA值作为新的数据点,形成平滑后的数据序列
import java.math.BigDecimal;
import java.util.List;
import java.util.stream.Collectors;
public class DataAnalyzer {
/**
* 预测未来趋势的方法。
*
* @param xAxisDatas 时间轴数据,例如 ["2024-06", "2024-07", "2024-08", "2024-09", "2024-10"]