Сделана простая программа для создания экспоненциальных скользящих средних для акций. Код ниже:
import yfinance as yf
import pandas_datareader as pdr
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.style as style
import datetime as dt
yf.pdr_override()
style.use('ggplot')
startyear = 2019
startmonth = 1
startday = 1
start = dt.datetime(startyear, startmonth, startmonth)
end = dt.datetime.now()
stock = input('Enter stock ticker: ')
df = pdr.get_data_yahoo(stock, start, end)
emasUsed = [3, 5, 8, 10, 13, 15, 30, 35, 40, 45, 50, 60]
for x in emasUsed:
ema = x
df['EMA_'+str(ema)] = df['Adj Close'].ewm(span=ema, adjust=True).mean()
df['EMA_'+str(ema)].plot()
plt.show()
Я хочу отобразить скользящие средние, но не могу отобразить легенду, пока я не построю EMA на отдельной строке, например:
df[['EMA_3', 'EMA_5', 'EMA_8', etc...]].plot()
Это очевидно, много работы, особенно если я хочу сказать, добавить или изменить EMA, которые я хочу получить.
Есть ли способ заставить легенду появляться без необходимости вводить каждую EMA вручную?
Спасибо, Дэн