Time-Series Rolling Window Analysis for Multi-Stock Price Data
Beginner Mode

Start your terminal to use beginner mode.

Scenario

A CSV file contains daily stock price data for multiple companies that needs statistical analysis using rolling window calculations across different time periods.

Task

Write a Python script at /home/interview/calculate_rolling.py using pandas that reads /home/interview/stock_data.csv, calculates rolling statistics (mean, sum, standard deviation) for the close_price column using three different window sizes (7-day, 14-day, 30-day), rounds all calculated values to 2 decimal places, and saves the result to /home/interview/rolling_stats.csv.

Note: The dataset contains multiple stock tickers. Calculate rolling statistics separately for each ticker.

Example

Input (stock_data.csv):

date,ticker,close_price
2025-01-01,AAPL,180.50
2025-01-01,GOOGL,142.30
2025-01-02,AAPL,182.10
2025-01-02,GOOGL,143.20
...

Expected output (rolling_stats.csv):

date,ticker,close_price,rolling_mean_7d,rolling_sum_7d,rolling_std_7d,rolling_mean_14d,rolling_sum_14d,rolling_std_14d,rolling_mean_30d,rolling_sum_30d,rolling_std_30d
2025-01-01,AAPL,180.50,,,,,,,,,,
...
2025-01-07,AAPL,185.20,182.45,1277.15,2.34,,,,,,,
...
2025-01-14,AAPL,188.50,186.30,1304.10,2.51,184.20,2578.80,3.12,,,,
...

Terminal requires a larger screen

Open this page on a desktop or tablet (≥ 768px) to launch the terminal and practice hands-on.

Linux Terminal Environment

Write and execute your solution in the terminal below.

Sign In

Track

Question Difficulty Company Access
Need more practice in this area? Explore more questions →