The 2026 CFA curriculum introduces Python as a mandatory practical skill via Practical Skills Modules (PSMs) - but here's what matters for your career: the exam tests finance concepts, not code. Yet employers treat Python proficiency as near-essential for analyst, quant, and risk management roles.
The gap between what CFA teaches and what the market demands is widening, and closing it determines whether you land entry-level spreadsheet work or a high-impact analyst position.
Short answer: No. The Level I, II, and III exams themselves remain calculator and Excel-driven. Python does not appear in the question bank, and no coding is required to pass all three levels.
But and this is critical starting in 2026, candidates must complete at least one Practical Skills Module (PSM) per level to access exam results. Several of these modules are Python-based, making Python "optional but strategically essential" for charter completion.
The CFA Institute's language is revealing: "An increasing number of employers expect their staff to have Python knowledge." This isn't a curriculum requirement phrased as professional development it's an acknowledgment that the finance job market has shifted. Python is no longer a differentiator; it's a threshold skill for competitive roles.
| Module | Availability | Core Content | Career Signal |
|---|---|---|---|
| Python Programming Fundamentals | L1, L2, L3 | Syntax, Pandas, Jupyter, portfolio analytics, Monte Carlo, API data pulls | Foundational fluency; signals readiness for data-heavy analyst roles |
| Python, Data Science & AI | L2, L3 | Data pipelines, feature engineering, ML models (EPS forecasting, sentiment analysis) | Advanced data literacy; differentiates you for quant and research roles |
| Financial Modeling | L1, L2 | Three-statement models, DCF, scenario analysis in Excel | Traditional modeling chops; less competitive than Python in fintech/quant roles |
| Analyst Skills | L1, L2 | Research writing, pitch frameworks, industry analysis | Soft skills emphasis; complements quantitative modules |
Your strategy: If your target roles are in equity research, risk, or fintech, Python modules are the smarter choice. If you're aiming for generalist corporate finance, Financial Modeling may suffice but Python gives you optionality.
Here's the uncomfortable truth distilled into a table:
| Skill | CFA PSM Coverage | Employer Expectation | Gap? |
|---|---|---|---|
| Python syntax & Pandas | High | High | ✓ Covered |
| Portfolio optimization & backTesting | Medium | High | ✗ You must extend |
| Git / version control | None | Required | ✗ Learn separately |
| Unit testing & code validation | Low | Strongly expected | ✗ Critical gap |
| SQL & database integration | None | Frequent | ✗ Learn separately |
| Production deployment & automation | None | Common in quant roles | ✗ Major gap |
| Machine learning depth | Low–Medium | Medium–High | ✗ Self-study needed |
| Code structure & documentation | Partial | Required | ✗ Significant gap |
The PSM curriculum teaches applied finance workflows, not software engineering practices. Real investment teams operate with version control, testing, code reviews, and automated deployment. Building those habits yourself is the difference between "PSM certificate holder" and "production-ready analyst."
If you're new to coding, attempting the Python Programming Fundamentals PSM cold is like sitting the CFA Level I without studying quantitative methods technically possible, practically painful.
The five essentials to grasp before (or alongside) your first PSM:
Where to start: Codecademy's Python course (10–15 hours) or "Python for Everybody" on YouTube covers this ground without finance context perfect for de-risking the transition. The PSM will feel like an application, not a struggle, once these fundamentals click.
The CFA PSM introduces Pandas, Matplotlib, and yfinance as core tools. These are essential but they're just the starting point.
| Library | Finance Use | PSM Coverage | Why Learn More |
|---|---|---|---|
| NumPy | Vectorized math, Monte Carlo, array operations | Medium | Critical for performance on large datasets |
| Pandas | Time series, merging, rolling windows, factor returns | High | Master this; it's 60% of daily analyst work |
| Matplotlib / Seaborn | Basic plots, distribution charts, heatmaps | Medium | Learn for reports; Plotly for dashboards |
| yfinance / pandas_datareader | Pulling OHLCV, fundamentals, macro data | Medium | Foundation for live workflows |
| SciPy / statsmodels | Statistical tests, regressions, ARIMA forecasting | Low | Essential for risk and equity research roles |
| scikit-learn | ML: train/test splits, regression, classification, ensembles | Low–Medium | Required for signal generation and ML roles |
| cvxpy / PyPortfolioOpt | Portfolio optimization, constraints, efficient frontiers | Very Low | Bridges theory to production workflows |
| Plotly / Dash | Interactive dashboards for PMs and stakeholders | Very Low | Sets you apart in fintech and buyside |
Recommendation: After completing the PSM, prioritize statsmodels and scikit-learn if you're targeting research or quant roles, and cvxpy if you're focused on portfolio management.
Completing the PSM demonstrates you can run guided exercises. Excelling in the job requires habits that CFA doesn't teach:
Analysts don't work in isolation. Code goes into repositories, gets reviewed, and merged by teams. Learning Git basics (commit, branch, merge, push to GitHub) is non-negotiable for hybrid analyst-quant or research roles.
CFA encourages notebook-based exploration. Production teams expect modular code: functions in modules, clear separation of concerns, reusable components. A 500-line notebook is exploratory; a 20-line script calling well-structured functions is production.
Your future self and your teammates won't understand your code without comments and docstrings. This is enforced professionally but rarely emphasized in educational modules.
Before deploying a model, you validate outputs against benchmarks, test edge cases, and document assumptions. CFA teaches the analytics; you must teach yourself the rigor.
Pandas is intuitive; NumPy vectorization is fast. The difference between a script that processes 1 million rows in 5 minutes vs. 2 hours is vectorization. Employers expect this optimization instinct.
This is what a modern investment team's morning looks like:
This workflow is invisible in the CFA curriculum but visible in job postings. Master it, and you become essential.
A concrete example: Cleaning 5 years of ticker data and computing rolling correlations.
| Task | Excel | Python (Pandas) |
|---|---|---|
| Import & clean data | Manual, error-prone | 2–3 lines |
| Rename & merge tickers | Complex formulas | .merge() |
| Rolling 90-day correlation | Multi-step, static | df.rolling(90).corr() |
| Rerun next month | Entire workbook refresh | Automated |
| Time saved per cycle | — | 45–90 minutes |
| Annual time saved | — | 10–20 hours |
| Error reduction | — | Eliminates manual copy-paste risk |
For analysts running this analysis monthly across 50+ securities, Python isn't optional it's career hygiene.
After Level I + Python PSM:
After Level II + Python PSM:
After Level III + Specialization:
The gap widens as you advance because technical roles demand both domain knowledge (which CFA provides) and engineering practices (which it doesn't).
Before you proceed with the CFA Level 1 course, try to do one Python module end-to-end. Choose Python Programming Fundamentals if you're new to coding; Python, Data Science & AI if you already code. Don't skip this is mandatory for exam results.
Host both on GitHub with clean code, docstrings, and a README. Employers will see this before your resume.
| Profile | Entry Role | Salary (India) | Growth | Ceiling |
|---|---|---|---|---|
| CFA Only | Junior analyst, back-office support | ₹4–8 LPA | Slow; Excel-bound | ₹15–25 LPA (limited to manual analyst roles) |
| CFA + Python | Junior analyst / quant-lite research | ₹10–15 LPA | Fast; automation + model-building | ₹25–40+ LPA (hybrid analyst-quant, research, fintech) |
| CFA + FRM + Python | Risk modeling, quant-risk | ₹15–20 LPA+ | Very fast; credentials + skills scarcity | ₹40–60+ LPA (model-risk, credit-risk, quant roles) |
Reality check: A CFA charter alone opens analyst doors. CFA + Python opens analyst-quant hybrid doors, which pay 25–50% more and offer faster promotion.
The 2026 CFA curriculum places Python in the spotlight not because the exam tests it, but because employers demand it. Completing a PSM is necessary; building production-grade skills is the differentiator. Close the gap between "PSM certificate" and "job-ready analyst" by learning Git, writing modular code, validating rigorously, and building public projects.
That combination CFA charter + Python fluency + software discipline is rare and valuable. It's the difference between a spreadsheet analyst and an analyst-quant hybrid who moves faster, earns more, and stays employed through market cycles.
Q: Do CFA charterholders really use Python on the job, or is it just a buzzword?
A: Yes Python is widely used by analysts, portfolio managers, and risk professionals for data analysis, portfolio construction, factor research, and reporting automation. CFA Institute's own Python PSMs were introduced because employers increasingly expect analysts to work with Python and Jupyter Notebooks rather than only Excel.
Q: What Python skills do CFAs actually use day-to-day?
A: Most CFAs who code use: Pandas and NumPy for time series and cross-sectional analysis, Matplotlib/Seaborn or Plotly for visualization, APIs (like yfinance, DataReader, or vendor SDKs) for live data, Simple optimization (e.g., portfolio weights, risk budgeting), and Lightweight automation scripts for recurring tasks. More advanced roles add ML (scikit-learn) and optimization libraries (cvxpy, PyPortfolioOpt).
Q: Is the CFA Python Programming Fundamentals PSM enough to get a Python-based job?
A: It's a strong starting point but not sufficient by itself. The PSM teaches fundamentals, Jupyter, Pandas, and basic optimization/Monte Carlo in ~10–20 hours. To be job-ready, you need more: deeper Pandas practice, version control, better code organization, and at least a couple of real projects (portfolio analysis, risk reports, or ML prototypes) you can show to employers.
Q: Should I learn Python before starting the CFA Program, or can I wait for the PSMs?
A: If you're completely new to coding, it helps to learn basic Python syntax and data structures (30–50 hours) before or alongside your first PSM, so the module feels like applied reinforcement rather than a first exposure. That said, you don't need Python to start Level I; many candidates complete Level I/II first, then use PSMs and external courses to build Python once they're comfortable with the finance content.
Q: I'm a CFA Level II candidate. Should I pick Python Programming Fundamentals or Python, Data Science & AI?
A: If your Python is weak or non-existent, start with Python Programming Fundamentals to build basics and financial workflows. If you already know Python and want to apply ML to finance, Python, Data Science & AI will stretch you with end-to-end workflows (EPS forecasting, sentiment analysis, data pipelines). Many candidates ultimately benefit from doing both modules across Levels I–III.

It is very natural for students to think that they have prepared enough. While recognizing that sufficient preparation has been accomplished, you may want to take a few mock tests.
17-12-2024

Pursuing the CFA charter can significantly elevate your career, but the associated costs can be challenging.
10-09-2024

The financial world thrives on calculated risks. But without proper management, those risks can morph into crippling losses.
16-11-2024

© 2026 All Rights Reserved @Aswini Bajaj