Learn how to use pandas for financial data analysis and fetch real market data using yfinance and pandas_datareader.
Understanding pandas DataFrame basics for financial data.
import pandas as pd
import numpy as np
# Create a DataFrame with stock data
data = {
    'Symbol': ['AAPL', 'MSFT', 'GOOGL'],
    'Price': [190.50, 375.00, 140.50],
    'Shares': [100, 50, 75]
}
df = pd.DataFrame(data)
# Calculate position values
df['Position Value'] = df['Price'] * df['Shares']
# Basic statistics
print(df.describe())  # Summary statistics
print(df.groupby('Symbol').sum())  # Group by symbol
            📚 Can't access the link? Use Perplexity.ai and search for "pandas DataFrame tutorial for finance"
Using yfinance and pandas_datareader to get real market data.
import yfinance as yf
import pandas_datareader as pdr
# Download Apple stock data
aapl = yf.download('AAPL', 
                   start='2023-01-01', 
                   end='2023-12-31')
# Calculate daily returns
aapl['Returns'] = aapl['Adj Close'].pct_change()
# Get multiple stocks using pandas_datareader
tickers = ['AAPL', 'MSFT', 'GOOGL']
portfolio = pdr.get_data_yahoo(tickers, 
                             start='2023-01-01',
                             end='2023-12-31')['Adj Close']
# Calculate correlation matrix
correlation = portfolio.corr()
            Working with financial time series in pandas.
# Resample data to monthly frequency
monthly = aapl['Adj Close'].resample('M').last()
# Calculate moving averages
aapl['MA50'] = aapl['Adj Close'].rolling(window=50).mean()
aapl['MA200'] = aapl['Adj Close'].rolling(window=200).mean()
# Generate trading signals
aapl['Signal'] = np.where(aapl['MA50'] > aapl['MA200'], 1, -1)
# Calculate returns by time period
returns = {
    'Daily': aapl['Returns'].mean(),
    'Monthly': aapl['Returns'].resample('M').mean(),
    'Annual': aapl['Returns'].resample('Y').mean()
}
            Use these prompts to enhance your learning: