top of page

​Mutual Fund & ETF Performance
Benchmarking return, risk, and risk-adjusted performance
​

Business question

Investors are often told to “diversify” across asset classes, but diversification alone does not answer the most important questions:

​

  • Which ETFs delivered the best long-term returns?

  • Which achieved those returns with the least risk?

  • Which provided the best risk-adjusted performance?

  • How severe were the worst drawdowns, and where did downside risk truly sit?

​

The goal of this project was to benchmark a small universe of core ETFs across return, volatility, Sharpe ratio, and maximum drawdown, and present the results in a clear, interactive dashboard suitable for decision-making.

 

Dataset and scope

The analysis focuses on widely used core ETFs representing major asset classes:

​

  • US equities (broad market and growth)

  • International equities

  • Small-cap equities

  • Real estate

  • Bonds

​

Daily and monthly price data was used to calculate long-term performance metrics consistently across all ETFs.

​

Methodology overview

This project was built end-to-end using Python, SQL, and Tableau, with each tool used intentionally for what it does best.
 

Python — data preparation and financial metrics

Python was used for data ingestion, cleaning, and financial calculations.

Key steps included:
 

  • Loading historical ETF price data

  • Calculating returns from adjusted close prices

  • Computing core performance metrics:

    • CAGR (Compound Annual Growth Rate)

    • Annualised volatility

    • Sharpe ratio (risk-free rate = 0%)

    • Maximum drawdown

  • Validating results across daily vs monthly frequencies

  • Exporting clean, analysis-ready CSVs for visualisation

​

Python ensured the calculations were:

  • Reproducible

  • Transparent

  • Consistent across all assets

​

This stage answered the quantitative side of the problem:
What does the raw performance data actually say?

​

SQL — analytical modelling

SQL (via DuckDB) was used to structure the results into a clean analytical model:

  • A fact table containing ETF-level metrics

  • A dimension table containing ETF categories

  • Clear separation of measures and descriptive attributes

​

This modelling step:

  • Reduced complexity in Tableau

  • Made the analysis scalable

  • Reflected real-world BI practices

​

The output of the Python + SQL stages was a set of well-structured CSVs, ready for dashboarding.

​

Tableau — analysis, storytelling, and interactivity

Tableau was used to answer the interpretive side of the business question:

“Given these metrics, how should an investor understand the trade-offs between return and risk?”

Key dashboard components include:

​

  • Risk–return scatter plot
    Visualising annualised volatility vs CAGR to show the fundamental trade-off between risk and reward.

  • Sharpe ratio ranking
    Highlighting which ETFs delivered the most return per unit of risk.

  • Maximum drawdown ranking
    Showing where downside risk was most severe.

  • Dynamic KPI tiles
    Identifying:

    • Best risk-adjusted ETF

    • Best performing ETF

    • Lowest-risk ETF

  • Fully interactive filtering
    Allowing users to dynamically change the ETF universe while keeping KPIs and charts in sync.

​

Special care was taken to ensure:

  • Correct handling of LOD expressions

  • Proper context filtering for dynamic KPIs

  • Clean, professional layout suitable for a portfolio

​

Key findings and insights

Several important patterns emerged from the analysis:

​

1. Higher returns came with higher volatility — but not always better outcomes

Growth-oriented equity ETFs achieved the highest CAGRs, but they also carried significantly higher volatility and deeper drawdowns. High returns alone did not guarantee superior risk-adjusted performance.

​

2. Risk-adjusted performance told a different story

When evaluating performance using the Sharpe ratio, broad US equity exposure emerged as the most efficient trade-off between risk and return. Some higher-return ETFs looked less attractive once volatility was considered.

 

3. Bonds played a defensive role, not a performance role

Bond ETFs delivered the lowest volatility and shallowest drawdowns, confirming their role as risk stabilisers, not return drivers. They ranked lowest on CAGR but highest on downside protection.

​

4. Drawdowns revealed investor experience, not just statistics

Maximum drawdown highlighted how painful the worst periods would have felt in real time. Assets with similar long-term returns often differed dramatically in downside risk.

​

Business takeaway

This project demonstrates that:

  • Performance cannot be evaluated on returns alone

  • Risk-adjusted metrics fundamentally change rankings

  • Visualising trade-offs leads to better investment decisions than isolated numbers

  • Interactive dashboards allow decision-makers to explore scenarios rather than accept static conclusions

​​​

Tools and skills demonstrated

  • Python: financial calculations, time-series analysis, data cleaning

  • SQL (DuckDB): analytical modelling and data structuring

  • Tableau Public: interactive dashboards, LOD expressions, KPI design

  • Financial analysis: CAGR, volatility, Sharpe ratio, drawdown

  • Data storytelling: turning metrics into insights

​

Final result

The final output is a single-page, fully interactive Tableau dashboard that benchmarks core ETFs across return, risk, and downside exposure, built using best practices from data engineering through to business intelligence.

 

This project reflects how I approach data problems:
start with a business question, use the right tools at each stage, and communicate results clearly.

© 2026 by Shah Choudhury. 

bottom of page