CAPM Analysis in R: A Complete Guide to Capital Asset Pricing Model for Investment Analysis

CAPM Analysis in R, Investors constantly seek answers to two critical questions:

  • What return should I expect from an investment?
  • Is the investment providing adequate compensation for its risk?

The Capital Asset Pricing Model (CAPM) is one of the most widely used financial models for answering these questions. Developed by economists including William Sharpe, CAPM establishes a relationship between risk and expected return, helping investors evaluate stocks, portfolios, and investment opportunities.

CAPM remains a cornerstone of modern portfolio theory and is extensively used by investment banks, hedge funds, asset management firms, financial analysts, and corporate finance professionals.

R provides powerful tools for performing CAPM analysis, estimating beta coefficients, evaluating systematic risk, and calculating expected returns.

In this guide, you’ll learn how to perform CAPM analysis in R using real-world financial data and practical examples.

What Is CAPM?

The Capital Asset Pricing Model estimates the expected return of an asset based on its systematic market risk.

The CAPM formula is:

[
E(R_i) = R_f + \beta_i (R_m – R_f)
]

Where:

  • (E(R_i)) = Expected return of the asset
  • (R_f) = Risk-free rate
  • (\beta_i) = Asset beta
  • (R_m) = Expected market return
  • ((R_m – R_f)) = Market risk premium

The model suggests that investors should receive compensation for:

  1. The time value of money (risk-free rate)
  2. Market risk (beta)

Why CAPM Matters

CAPM is widely used for:

Stock Valuation

Estimate whether a stock is fairly valued.

Portfolio Management

Evaluate portfolio risk and performance.

Cost of Equity Estimation

Calculate the required return for shareholders.

Capital Budgeting

Assess investment projects.

Performance Evaluation

Measure risk-adjusted investment returns.

Understanding Beta

Beta is the most important component of CAPM.

It measures how sensitive an asset is to market movements.

Beta Interpretation

BetaInterpretation
β = 1Moves with the market
β > 1More volatile than market
β < 1Less volatile than market
β = 0No market relationship
β < 0Moves opposite market

Examples:

  • Beta = 1.5 → Stock tends to move 1.5% when the market moves 1%.
  • Beta = 0.8 → Stock tends to move 0.8% when the market moves 1%.

Why Use R for CAPM Analysis?

R offers several advantages:

Financial Data Integration

Download market data directly from Yahoo Finance.

Statistical Modeling

Estimate beta using regression analysis.

Portfolio Analytics

Evaluate portfolio performance and risk.

Advanced Visualization

Create professional financial charts.

Open-Source Ecosystem

No expensive software licenses required.

Installing Required Packages

install.packages(c(
  "quantmod",
  "PerformanceAnalytics",
  "xts",
  "zoo"
))

Load packages:

library(quantmod)
library(PerformanceAnalytics)
library(xts)
library(zoo)

Downloading Stock and Market Data

We’ll analyze Apple stock against the S&P 500 index.

library(quantmod)

getSymbols(
  c("AAPL", "^GSPC"),
  src = "yahoo",
  from = "2022-01-01"
)

Where:

  • AAPL = Apple stock
  • GSPC = S&P 500 Index

Calculate Daily Returns

stock_returns <- dailyReturn(
  Ad(AAPL)
)

market_returns <- dailyReturn(
  Ad(GSPC)
)

Merge datasets:

data <- na.omit(
  merge(
    stock_returns,
    market_returns
  )
)

colnames(data) <-
  c("Stock", "Market")

Visualizing Return Relationships

plot(
  data$Market,
  data$Stock,
  xlab = "Market Returns",
  ylab = "Stock Returns",
  main = "CAPM Scatter Plot"
)

The relationship between market and stock returns forms the basis of beta estimation.

Estimating Beta Using Linear Regression

CAPM beta is estimated using regression analysis.

capm_model <- lm(
  Stock ~ Market,
  data = data
)

summary(capm_model)

The slope coefficient represents beta.

Example output:

Beta = 1.25

Interpretation:

Apple is approximately 25% more volatile than the overall market.

Extracting Beta

beta <- coef(
  capm_model
)[2]

beta

This beta value will be used in the CAPM formula.

Calculating Expected Return Using CAPM

Assume:

  • Risk-Free Rate = 4%
  • Market Return = 10%
  • Beta = 1.25
risk_free <- 0.04
market_return <- 0.10

expected_return <-
  risk_free +
  beta *
  (market_return - risk_free)

expected_return

Result:

11.5%

The stock should generate approximately 11.5% annual return according to CAPM.

Visualizing Regression Line

plot(
  data$Market,
  data$Stock,
  main = "CAPM Regression"
)

abline(
  capm_model,
  lwd = 2
)

This chart helps visualize the relationship between market risk and stock returns.

Measuring Systematic and Unsystematic Risk

CAPM focuses on systematic risk.

Systematic Risk

Market-wide risks:

  • Inflation
  • Interest rates
  • Recessions
  • Geopolitical events

Cannot be diversified away.

Unsystematic Risk

Company-specific risks:

  • Management decisions
  • Product failures
  • Legal issues

Can be reduced through diversification.

CAPM Analysis for Multiple Stocks

Download multiple stocks:

symbols <- c(
  "AAPL",
  "MSFT",
  "GOOG",
  "AMZN"
)

getSymbols(
  symbols,
  src = "yahoo",
  from = "2022-01-01"
)

Calculate beta for each stock using the same regression framework.

This enables comparison of systematic risk across investments.

Security Market Line (SML)

The Security Market Line represents the CAPM relationship between beta and expected return.

Calculate expected returns:

beta_values <- c(
  0.5,
  1,
  1.5,
  2
)

expected_returns <-
  risk_free +
  beta_values *
  (
    market_return -
    risk_free
  )

Plot:

plot(
  beta_values,
  expected_returns,
  type = "b",
  xlab = "Beta",
  ylab = "Expected Return"
)

Higher beta investments require higher expected returns.

CAPM Performance Evaluation

CAPM can help determine whether a stock is:

Undervalued

Actual return exceeds CAPM expectation.

Fairly Valued

Actual return equals CAPM expectation.

Overvalued

Actual return falls below CAPM expectation.

This framework is widely used by investment professionals.

Advantages of CAPM

Simple and Intuitive

Easy to understand and implement.

Industry Standard

Widely accepted in finance.

Useful for Cost of Equity

Frequently used in valuation models.

Supports Investment Decisions

Provides a benchmark for expected returns.

Limitations of CAPM

Assumes Efficient Markets

Real markets are not perfectly efficient.

Relies on Historical Beta

Future risk may differ.

Single-Factor Model

Only market risk is considered.

Constant Risk Assumption

Beta may change over time.

CAPM vs Multi-Factor Models

Modern investment firms often supplement CAPM with:

Fama-French Three-Factor Model

Adds:

  • Size factor
  • Value factor

Carhart Four-Factor Model

Adds momentum.

Arbitrage Pricing Theory (APT)

Uses multiple risk factors.

These models often explain returns more effectively than CAPM alone.

Real-World Applications

Investment Banks

Estimate cost of equity.

Asset Managers

Evaluate investment opportunities.

Hedge Funds

Assess systematic risk exposure.

Corporate Finance Teams

Calculate discount rates.

FinTech Platforms

Power investment analytics tools.

Best Practices

  1. Use adjusted stock prices.
  2. Analyze long historical periods.
  3. Recalculate beta regularly.
  4. Combine CAPM with other valuation methods.
  5. Compare actual and expected returns.
  6. Use diversified portfolios.
  7. Monitor changing market conditions.

Conclusion

CAPM Analysis in R provides a practical framework for understanding the relationship between risk and return. By estimating beta and applying the Capital Asset Pricing Model, investors can evaluate expected returns, assess systematic risk, and make more informed investment decisions.

Using R’s financial analytics ecosystem, analysts can efficiently perform CAPM calculations, visualize market relationships, estimate betas, and compare investment opportunities. Although modern finance increasingly incorporates multi-factor and machine learning models, CAPM remains one of the most important and widely used tools in investment analysis and portfolio management.

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

3 × four =