Spaces:
Running
Running
import pandas as pd | |
def calculate_ema(prices, periods): | |
""" | |
Calculates the Exponential Moving Averages (EMA) for the given periods. | |
Parameters: | |
- prices (pd.Series): A pandas Series containing the stock's closing prices. | |
- periods (list of int): A list of integers representing the periods over which to calculate the EMAs. | |
Returns: | |
- dict of pd.Series: A dictionary where each key is the period, and the value is a pandas Series containing the EMA values for that period. | |
""" | |
emas = {} | |
for period in periods: | |
ema = prices.ewm(span=period, adjust=False).mean() | |
emas[period] = ema | |
return emas | |
if __name__ == "__main__": | |
# Example usage | |
data = {'Close': [22, 24, 23, 25, 26, 28, 27, 29, 30, 32, 31, 33]} | |
prices = pd.Series(data['Close']) | |
# User-defined EMA periods | |
periods = [20, 50] # Example: 20-day and 50-day EMAs | |
# Calculate EMAs for specified periods | |
ema_values = calculate_ema(prices, periods) | |
for period, ema in ema_values.items(): | |
print(f"{period}-period EMA:") | |
print(ema) | |
print() | |