Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Challenge: Aggregate and Visualize Stock Data | Financial Data Manipulation with Python
Practice
Projects
Quizzes & Challenges
Quizzes
Challenges
/
Python for Financial Analysts

bookChallenge: Aggregate and Visualize Stock Data

Before you tackle the challenge of aggregating and visualizing stock data, it is important to recap the key techniques you have learned for manipulating financial time series in Python. Resampling allows you to convert time series data from one frequency to another, such as from daily to monthly data. This is especially useful in financial analysis when you want to observe broader trends or reduce noise from daily fluctuations. Aggregation functions—such as mean() for averages or last() for closing values—help you summarize your data over the chosen period. These tools, combined with visualization libraries like matplotlib, enable you to present complex financial data in an accessible and insightful manner.

1234567891011121314151617181920
import pandas as pd import numpy as np # Create a date range for one year of business days dates = pd.date_range(start="2023-01-01", end="2023-12-31", freq="B") # Simulate daily closing prices for three stocks np.random.seed(42) stock_a = np.cumsum(np.random.normal(0, 1, len(dates))) + 100 stock_b = np.cumsum(np.random.normal(0, 1.5, len(dates))) + 50 stock_c = np.cumsum(np.random.normal(0, 2, len(dates))) + 200 # Create DataFrame prices = pd.DataFrame({ "Stock_A": stock_a, "Stock_B": stock_b, "Stock_C": stock_c }, index=dates) print(prices.head())
copy

To aggregate and visualize this financial time series data, you will use pandas' resample method to convert daily prices to monthly frequency. The last() function will help you extract the monthly closing price for each stock, while the mean() function will calculate the monthly average price. For visualization, matplotlib's plotting functions allow you to overlay both the monthly closing and average prices on the same chart for each stock, making it easy to compare trends and spot differences. Remember to label your axes, add a title, and include a legend to ensure your chart is easy to interpret.

Завдання

Swipe to start coding

You are given a DataFrame with daily closing prices for three stocks over one year. Your task is to aggregate and visualize this data using pandas and matplotlib.

  • Resample the daily price data to obtain the monthly closing price for each stock.
  • Calculate the monthly average price for each stock.
  • Plot both the monthly closing prices and monthly average prices on the same chart for each stock.
  • Ensure each chart is clearly labeled with axis labels, a title, and a legend.

Рішення

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 7
single

single

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

close

bookChallenge: Aggregate and Visualize Stock Data

Свайпніть щоб показати меню

Before you tackle the challenge of aggregating and visualizing stock data, it is important to recap the key techniques you have learned for manipulating financial time series in Python. Resampling allows you to convert time series data from one frequency to another, such as from daily to monthly data. This is especially useful in financial analysis when you want to observe broader trends or reduce noise from daily fluctuations. Aggregation functions—such as mean() for averages or last() for closing values—help you summarize your data over the chosen period. These tools, combined with visualization libraries like matplotlib, enable you to present complex financial data in an accessible and insightful manner.

1234567891011121314151617181920
import pandas as pd import numpy as np # Create a date range for one year of business days dates = pd.date_range(start="2023-01-01", end="2023-12-31", freq="B") # Simulate daily closing prices for three stocks np.random.seed(42) stock_a = np.cumsum(np.random.normal(0, 1, len(dates))) + 100 stock_b = np.cumsum(np.random.normal(0, 1.5, len(dates))) + 50 stock_c = np.cumsum(np.random.normal(0, 2, len(dates))) + 200 # Create DataFrame prices = pd.DataFrame({ "Stock_A": stock_a, "Stock_B": stock_b, "Stock_C": stock_c }, index=dates) print(prices.head())
copy

To aggregate and visualize this financial time series data, you will use pandas' resample method to convert daily prices to monthly frequency. The last() function will help you extract the monthly closing price for each stock, while the mean() function will calculate the monthly average price. For visualization, matplotlib's plotting functions allow you to overlay both the monthly closing and average prices on the same chart for each stock, making it easy to compare trends and spot differences. Remember to label your axes, add a title, and include a legend to ensure your chart is easy to interpret.

Завдання

Swipe to start coding

You are given a DataFrame with daily closing prices for three stocks over one year. Your task is to aggregate and visualize this data using pandas and matplotlib.

  • Resample the daily price data to obtain the monthly closing price for each stock.
  • Calculate the monthly average price for each stock.
  • Plot both the monthly closing prices and monthly average prices on the same chart for each stock.
  • Ensure each chart is clearly labeled with axis labels, a title, and a legend.

Рішення

Switch to desktopПерейдіть на комп'ютер для реальної практикиПродовжуйте з того місця, де ви зупинились, використовуючи один з наведених нижче варіантів
Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 7
single

single

some-alt