Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Challenge: Detect Trend Reversals with Moving Averages | Financial Data Visualization and Trend Analysis
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Python for Financial Analysts

bookChallenge: Detect Trend Reversals with Moving Averages

Moving averages are powerful tools in financial analysis, especially when it comes to identifying trends and potential reversals in stock prices. By smoothing out short-term fluctuations, moving averages help you focus on the underlying direction of a price series. Two of the most commonly used moving averages are the 50-day and 200-day simple moving averages (SMAs). When the shorter-term 50-day SMA crosses above the longer-term 200-day SMA, this is known as a golden cross and is often interpreted as a bullish signal, suggesting a potential upward trend. Conversely, when the 50-day SMA crosses below the 200-day SMA, it forms a death cross, which can signal a bearish reversal or downward trend. Detecting these crossover events can be crucial for making informed trading decisions.

12345678910
import pandas as pd import numpy as np # Create a DataFrame with two years of daily closing prices np.random.seed(42) dates = pd.date_range(start="2022-01-01", end="2023-12-31", freq="B") # Business days price = np.cumsum(np.random.randn(len(dates)) * 2 + 0.1) + 100 # Simulated price path df = pd.DataFrame({"Close": price}, index=dates) print(df.head())
copy

To tackle this challenge, start by calculating the 50-day and 200-day simple moving averages for the closing prices in your DataFrame. You can use the rolling method in pandas to compute these averages efficiently. Once you have the moving averages, plot the closing price together with both moving averages on a single chart to visualize trends and potential reversals. Next, identify the dates where the 50-day moving average crosses above the 200-day moving average (golden cross) and where it crosses below (death cross). Print out these crossover dates to highlight the key moments of trend reversals in the data.

Tarea

Swipe to start coding

Given a DataFrame containing daily closing prices for a stock over two years, your task is to analyze trend reversals using moving averages.

  • Calculate the 50-day simple moving average and the 200-day simple moving average for the "Close" column.
  • Plot the closing price, the 50-day SMA, and the 200-day SMA together on a single chart.
  • Identify the dates when the 50-day SMA crosses above the 200-day SMA (golden cross).
  • Identify the dates when the 50-day SMA crosses below the 200-day SMA (death cross).
  • Print the golden cross and death cross dates.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 7
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

close

bookChallenge: Detect Trend Reversals with Moving Averages

Desliza para mostrar el menú

Moving averages are powerful tools in financial analysis, especially when it comes to identifying trends and potential reversals in stock prices. By smoothing out short-term fluctuations, moving averages help you focus on the underlying direction of a price series. Two of the most commonly used moving averages are the 50-day and 200-day simple moving averages (SMAs). When the shorter-term 50-day SMA crosses above the longer-term 200-day SMA, this is known as a golden cross and is often interpreted as a bullish signal, suggesting a potential upward trend. Conversely, when the 50-day SMA crosses below the 200-day SMA, it forms a death cross, which can signal a bearish reversal or downward trend. Detecting these crossover events can be crucial for making informed trading decisions.

12345678910
import pandas as pd import numpy as np # Create a DataFrame with two years of daily closing prices np.random.seed(42) dates = pd.date_range(start="2022-01-01", end="2023-12-31", freq="B") # Business days price = np.cumsum(np.random.randn(len(dates)) * 2 + 0.1) + 100 # Simulated price path df = pd.DataFrame({"Close": price}, index=dates) print(df.head())
copy

To tackle this challenge, start by calculating the 50-day and 200-day simple moving averages for the closing prices in your DataFrame. You can use the rolling method in pandas to compute these averages efficiently. Once you have the moving averages, plot the closing price together with both moving averages on a single chart to visualize trends and potential reversals. Next, identify the dates where the 50-day moving average crosses above the 200-day moving average (golden cross) and where it crosses below (death cross). Print out these crossover dates to highlight the key moments of trend reversals in the data.

Tarea

Swipe to start coding

Given a DataFrame containing daily closing prices for a stock over two years, your task is to analyze trend reversals using moving averages.

  • Calculate the 50-day simple moving average and the 200-day simple moving average for the "Close" column.
  • Plot the closing price, the 50-day SMA, and the 200-day SMA together on a single chart.
  • Identify the dates when the 50-day SMA crosses above the 200-day SMA (golden cross).
  • Identify the dates when the 50-day SMA crosses below the 200-day SMA (death cross).
  • Print the golden cross and death cross dates.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 7
single

single

some-alt