Why Python?

Python has become the dominant language for quantitative finance and data analysis, largely because its ecosystem of libraries happens to be a near-perfect fit for the work. Pandas handles tabular data with the same logic you’d use in a spreadsheet but at scale. NumPy makes matrix operations fast and readable. Matplotlib and Seaborn cover most visualization needs. For statistical work, SciPy and StatsModels provide the models you’d otherwise pay for in specialized software. And for finance-specific tasks—like modeling time-varying volatility—libraries like Arch exist precisely for that purpose.

Python is also free, runs on any operating system, and has a large enough community that debugging usually means finding a Stack Overflow answer rather than reading a manual. That combination—powerful libraries, low cost, broad adoption—is why it’s used by hedge funds, banks, and individual analysts alike.

It’s worth noting that everything covered in this course could be done in R or Julia as well. R has a long history in statistics and finance, and its tidyverse and quantmod ecosystems are excellent. Julia is faster than both and increasingly used in quantitative research. Python is a choice, not a requirement—one made here because of its broad adoption and the fact that skills transfer well outside of finance into general data work and software development.

In this course we’ll use Python hands-on throughout. That means pulling real financial data (stock prices, financial statements, economic indicators), cleaning it, analyzing it, and building models—rather than working through toy examples. The goal is to leave with workflows you can actually use, not just familiarity with syntax.