# Exponential Moving Average(EMA) Calculation with Python

Updated: Apr 29

## Exponential Moving Average Python

Here's an example Python code that calculates the exponential moving average (EMA) for a given stock using the pandas library:

```
import pandas as pd
# Read stock data from a CSV file
df = pd.read_csv('stock_data.csv', index_col=0)
# Set the smoothing factor
smoothing_factor = 0.5
# Calculate the initial SMA
sma = df['Close'].rolling(window=5).mean()
# Calculate the EMA using the first value of the SMA as the starting point
ema = [sma[0]]
for i in range(1, len(df)):
close_price = df['Close'][i]
ema_value = (close_price * smoothing_factor) + (ema[i-1] * (1 - smoothing_factor))
ema.append(ema_value)
# Add the EMA values as a new column to the dataframe
df['EMA'] = ema
# Print the final dataframe with the EMA column
print(df)
```

In this example, we first read the stock data from a CSV file using the pandas library. We then set the smoothing factor to 0.5 and calculate the initial __SMA__ using the rolling() function. We then use a loop to calculate the EMA for each data point using the formula we discussed earlier. Finally, we add the __EMA__ values as a new column to the dataframe and print the final dataframe with the EMA column.

Note that you will need to have a CSV file with stock data in order to run this code, and you may need to modify the code depending on the format and structure of your data.

Learn More : ** What is Exponential Moving Average(EMA)** |

**|**

__What is Moving Average Formula__

__Mastering Moving Averages: A Guide to Analyzing Time-Series Data and Identifying Trends__