Site Statistics  |   Contact  |   About Us       Thursday, July 29, 2021

HOME ›  AREAS OF EXPERTISE ›   Curve Fitting  ›  ~ Expontl Moving Avg

 "Curve Fitting Solutions" Exponential Moving Average Method
 EMA = (44.095, 43.707, 43.4742, 43.78452, 43.670712, 43.9524272, 44.72145632, 45.532873792, 46.3697242752, 47.02183456512, 47.863100739072, 48.2178604434432, 47.3807162660659, 47.1284297596396, 46.9270578557837, 46.5562347134702)

 DATA ARRAY

{ , , , , , , , , ,
, , , , , , , , , }

[ Initial Data Array(top): { 45.375, 45.500, 45.000, 43.625, 43.375, 43.125, 43.125, 44.250, 43.500, 44.375 } ]
[ Initial Data Array(bot): { 45.875, 46.750, 47.625, 48.000, 49.125, 48.750, 46.125, 46.750, 46.625, 46.000 } ]

 Time Frame:

IMPLEMENTATION
Curve Fitting Exponential Moving Average

One drawback of both the simple and weighted moving average (see) Simple Moving Average and Weighted Moving Average is that they include data for only the number of periods the moving average covers. For example, a 5-day simple or weighted moving average only uses five days' worth of data. Data prior to those five days are not included in the calculation of the moving average.

In some situations, however, the prior data is an important reflection of prices and should be included in a moving average calculation. This can be achieved by using an exponential moving average.

An exponential moving average (EMA) uses weight factors that decrease exponentially. The weight for each older data point decreases exponentially, giving much more importance to recent observations while still not discarding older observations entirely.

The formula for calculating the EMA at time periods t ≥ 2 is:

 Si = Þ Yt-1 + (1 - Þ) St-1

This formula can also be expressed in technical analysis terms as follows, showing how the EMA steps towards the latest data point:

 EMAtoday = EMAyesterday + Þ(p0 - EMAyesterday)

Testing the Exponential Average Moving Method

As a sample we provide the input data points using one double array using data of a stock for 20 days (Data Array), we use the same closing data of stock for 20 days that was used under Simple Moving Average and Weighted Moving Average to calculate a 5-day time frame n.

Running this application produces the results WMA shown above.

The user can manipulate all values and try variations on the arrays themselves by specifying new estimate values. For comparison purposes, the user can plot the data, the 5-day simple, weighted and exponential average. It will show how the three methods perform under similar input conditions.

In order to test the Exponential Average Moving Method as defined above, a new ExponentialAverageMovingMethod() static method has been added and executed. Supporting code and methods are not shown.

static void ExponentialAverageMovingMethod();
{
ListBox1.Items.Clear();
double[] xarray = new double[] {t1, t2, t3, t4, t5, t6, t7, t8,
t9, t10, t11, t12, t13, t14, t15, t16,
t17, t18, t19, t20};
VectorR ema = CurveFitting.ExponentialMovingAverage(data, t21);
ListBox1.Items.Add(" " + ema.ToString());
}

 Other Implementations...

 Object-Oriented Implementation Graphics and Animation Sample Applications Ore Extraction Optimization Vectors and Matrices Complex Numbers and Functions Ordinary Differential Equations - Euler Method Ordinary Differential Equations 2nd-Order Runge-Kutta Ordinary Differential Equations 4th-Order Runge-Kutta Higher Order Differential Equations Nonlinear Systems Numerical Integration Numerical Differentiation Function Evaluation

Math, Analysis,
expertise..."

EIGENVALUE SOLUTIONS...
Eigen Inverse Iteration
Rayleigh-Quotient Method
Cubic Spline Method

 Applied Mathematical Algorithms
 A complex number z = x + iy, where... Complex Functions Non-linear system methods... Non Linear Systems Construction of differentiation... Differentiation Consider the function where... Integration
 About Us KMP Engineering is an independent multidisciplinary engineering consulting company specializing in mathematical algorithms.  → ABOUT  → SITE STATISTICS Contact Us KMP ENGINEERING 2461 E Orangethorpe Ave Fullerton, CA 92631 USA info@keystoneminingpost.com Site Map  →  Home  →  Areas of Expertise  →  Reference Items  →  Managed Services  →  Login Mining & Software Engineering