ok, ahora vuelveme a dar el codigo que me realizaste anteriormente con las medias moviles el RSI Y MACD
Claro, aquí te dejo un ejemplo de código en Python que utiliza pandas y la biblioteca `ta` para calcular las medias móviles, el RSI y el MACD a partir de un conjunto de datos de precios. Para este ejemplo, asumo que tienes tus datos de precios en un DataFrame de pandas llamado `df`, con una columna llamada `Close` que contiene los precios de cierre.
Primero, asegúrate de tener instaladas las bibliotecas necesarias. Puedes instalarlas usando pip si no las tienes:
```bash
pip install pandas ta
```
Aquí está el código:
```python
import pandas as pd
import ta
# Supongamos que tienes un DataFrame `df` con una columna 'Close' y un índice de fecha
# df = pd.read_csv('tu_archivo.csv', parse_dates=True, index_col='Date')
# Ejemplo de creación de un DataFrame (deberías usar tus datos)
data = {
'Close': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
}
df = pd.DataFrame(data)
# Cálculo de medias móviles
df['SMA_20'] = df['Close'].rolling(window=20).mean() # Media Móvil Simple de 20 períodos
df['EMA_20'] = df['Close'].ewm(span=20, adjust=False).mean() # Media Móvil Exponencial de 20 períodos
# Cálculo del RSI
df['RSI'] = ta.momentum.RSIIndicator(close=df['Close'], window=14).rsi()
# Cálculo del MACD
df['MACD'] = ta.trend.MACD(close=df['Close']).macd()
df['MACD_signal'] = ta.trend.MACD(close=df['Close']).macd_signal()
df['MACD_diff'] = ta.trend.MACD(close=df['Close']).macd_diff()
# Mostrar el DataFrame con los indicadores
print(df)
```
Este código calculará:
- Una Media Móvil Simple (SMA) de 20 períodos.
- Una Media Móvil Exponencial (EMA) de 20 períodos.
- El Índice de Fuerza Relativa (RSI) con un período de 14.
- El MACD y su señal correspondiente, así como la diferencia entre ambos.
Asegúrate de ajustar el tamaño de la ventana según tus necesidades. Además, como el DataFrame de ejemplo es muy pequeño, es probable que muchas de las columnas de indicadores contengan valores nulos (NaN) al principio, ya que no hay suficientes datos para calcularlos. Você debería adaptar el código para trabajar con tus datos reales.