Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

413
Visualizações
¿La EMA de Pandas no coincide con la EMA de las acciones?

Estoy tratando de usar Python (con Pandas) para calcular los promedios móviles exponenciales (EMA) de 20 días de datos de acciones diarias para Intel (INTC). Pandas tiene varias formas de hacer esto, y también probé stockstats, que se ejecuta en Pandas, pero nunca devuelven la misma EMA que obtengo de los sitios web de acciones/finanzas.

Revisé dos veces los precios de cierre y coinciden, pero la EMA siempre sale "incorrecta".

Este es el CSV que estoy usando: INTC Stock Data

Contiene la fecha diaria, el nombre del mes, la apertura, el máximo, el mínimo, el cierre, el promedio diario y el volumen de las acciones de Intel (Ticker: INTC) del 20/04/2016 al 01/02/2018.

Cuando miro a los sitios web de acciones más grandes como MarketWatch o Fidelity , sus números no coinciden con los míos. Ellos coinciden entre sí , pero no conmigo.

Por ejemplo...

 df2['Close'].ewm(span=20,min_periods=0,adjust=False,ignore_na=False).mean()

o...

 df2['Close'].ewm(span=20, min_periods=20, adjust=True).mean()

o...

 df2["Close"].shift().fillna(df["Close"]).ewm(com=1, adjust=False).mean()

Dame EMA para el 1/2/2018 como $ 44.71, $ 47.65, $ 46.15, etc. cuando el EMA real de 20 días en cualquier sitio de finanzas es $ 45.65. Y obtengo los números incorrectos sin importar la fecha para la que intente calcular la EMA. Incluso está mal cuando solo trato de EMA de 5 días.

He leído, visto y seguido tutoriales sobre el tema, pero sus resultados tampoco coinciden con los EMA aceptados/publicados que encontraría en cualquier sitio de finanzas. Las personas que crean los tutoriales y los videos simplemente nunca los comparan entre sí después de que Panda calcula los números. Y necesito que mis números coincidan.

¿Cómo llego a las mismas cifras que todos los demás sitios de finanzas en Internet obtienen para los EMA? No creo que esto tenga nada que ver con los precios de cierre ajustados porque estoy usando datos antiguos/establecidos y mis precios y fechas de cierre son los mismos que los de ellos.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Ordene el DataFrame para que las fechas estén en orden creciente. Dado que sus datos están en orden decreciente por fecha, si no ordena las fechas primero, su cálculo de ewm pondera exponencialmente las fechas más tempranas , en lugar de la fecha más reciente (como debería ser).

 import pandas as pd df = pd.read_csv('intc_data.txt', parse_dates=['Date'], index_col=['Date']) df['backward_ewm'] = df['Close'].ewm(span=20,min_periods=0,adjust=False,ignore_na=False).mean() df = df.sort_index() df['ewm'] = df['Close'].ewm(span=20,min_periods=0,adjust=False,ignore_na=False).mean() print(df[['ewm', 'backward_ewm']].tail())

rendimientos

 ewm backward_ewm Date 2018-01-26 45.370936 48.205638 2018-01-29 45.809895 48.008337 2018-01-30 46.093714 47.800794 2018-01-31 46.288599 47.696667 2018-02-01 46.418256 47.650000

Esto está de acuerdo con Marketwatch , que dice que el EWMA (20) el 2018-02-01 fue 46.42.

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Relatório

0

Sugiero usar Pandas TA para calcular indicadores técnicos en python. Lo encuentro más preciso y tiene muchos más indicadores que los que vienen con pandas.

Usando Pandas TA, el promedio móvil exponencial de 20 períodos se calcula como:

 import pandas_ta as ta data["EMA20"] = ta.ema(df2["Close"], length=20)
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda