Financial Modeling with Python: Building a Three-Statement Model

Author(s): DAVID MASCIO

Edition: 2

Copyright: 2026

Pages: 687

Choose Your Format

Choose Your Platform | Help Me Choose

Ebook

$100.00 USD

ISBN 9798319738776

Details Electronic Delivery EBOOK 180 days

Financial Modeling with Python: Building a Three-Statement Model provides a practical introduction to developing integrated financial models using Python. The book begins with the fundamentals of financial modeling, including valuation concepts, net present value (NPV), discounted cash flow (DCF), and the relationship between financial statements and business performance.

The text guides readers through financial statement analysis before demonstrating how to construct the income statement, balance sheet, and cash flow statement in Python. It explains data acquisition, financial statement components, working capital, depreciation, debt, equity, and the integration of the three statements into a single, consistent financial model with built-in validation and integrity checks.

The book also covers scenario analysis, sensitivity testing, stress testing, model diagnostics, and reproducible workflows for building reliable financial models. A capstone project walks readers through designing, validating, documenting, and exporting a complete three-statement model.

Bonus chapters extend the material by covering historical data preparation and quality assurance, forward financial projections, Monte Carlo simulation, valuation methods, decision support, reporting automation, and project-based applications that reinforce the complete financial modeling process in Python.

1 Introduction to Financial Modeling 
1.1 What Is Financial Modeling?
1.2 Key Components of Financial Modeling 
1.3 The Landscape of Financial Model Types 
1.4 First Python Win: Net Present Value (NPV)
1.5 From NPV to Enterprise Value: A Mini-DCF
1.6 From Valuation Back to Fundamentals: Why the Three Statements Matter 
1.7 Key Takeaways 
2 Fundamentals of Financial Statement Analysis 
2.1 The Big Picture: Three Statements, One Story 
2.2 Common-Size and Trend Analysis
2.3 The Financial Ratio Toolbox
2.4 Automating a Ratio Dashboard in Python
2.5 Integrated Case: Ratio Analysis in Practice
2.6 Linking Ratios to Strategic Decisions
2.7 Unit1: Mini-Project Brief: Historical Data Pack & EDA Notebook
2.8 Key Takeaways
3 Constructing the Income Statement
3.1 Income Statement Fundamentals
3.2 Data Acquisition & Cleaning 
3.3 Revenue Construction
3.4 Cost of Goods Sold (COGS) 
3.5 Operating Expenses
3.6 EBIT, EBITDA, and Non-Operating Items
3.7 Tax Expense & Effective Rate 
3.8 Assembling the Income Statement in Python
3.9 Mini-Project Prompt: Constructing a Python-Based Income Statement
3.10 Key Takeaways
4 Constructing the Balance Sheet in Python
4.1 Balance Sheet Architecture and Sign Conventions 
4.2 Working Capital in Python 
4.3 PP&E Schedule and Depreciation Linkage 
4.4 Equity Roll-Forward in Python 
4.5 A Simple Debt Treatment
4.6 Assembling the Balance Sheet and Balance Checks
5 Constructing the Cash Flow Statement and Integrating the Three Statements in Python
5.1 Indirect Cash Flow Method: Logic and Common Pitfalls 
5.2 Non-Cash Add-Backs and Working Capital Adjustments
5.3 Capital Expenditures and Investing Cash Flows 
5.4 Financing Cash Flows (Debt and Equity Basics) 
5.5 Three-Statement Integrity Checks (Cash Tie-Outs, Balance, Circularity)
5.6 Three-Statement Integrity Checks (Cash Tie-Outs, Balance, Circularity)
5.7 Python Assembly Pattern: One Run, All Statements, One Output
6 Scenario Analysis, Sensitivities, and Model Diagnostics in Python 
6.2 Two-Way Tables and Response Surfaces (Price×Volume,etc.)
6.3 Stress Tests and Break-Evens (What Must Be True?) 
6.4 Model Diagnostics: Guardrails, Assertions, and Unit Tests
6.5 Model Risk: Common Failure Modes and Prevention 
6.6 Packaging Scenarios in Python (Configs, Reproducibility, Minimal Code)
7 Capstone: A Reproducible Three-Statement Model (Inputs→Outputs)
7.1 Project Architecture (Data, Assumptions, Model Layer, Outputs) 
7.2 Reproducibility (Environments, Versioning, Documentation) 
7.3 Output Engineering (Excel, LATEX, Dashboards)
7.4 Audit Trail (Reconciliations, Change Logs, Review Workflow) 
7.5 Capstone Case Study: Build, Validate, Export, Communicate 
7.6 Final Deliverables and Grading Rubric 
8 BONUS: Historical Model Build and Data QA 
8.1 Scope & Interfaces 
8.2 Data Intake & Cleaning Pipeline 
8.3 Historical Statements & Linkage Validation 
8.4 Opening Balances & Diagnostics Handoff
9 BONUS: Forward Projections, Scenarios, and Sensitivities
9.1 Orientation and Scope 
9.2 Driver-Based Forward Projections 
9.3 Scenarios and Monte Carlo
9.4 Sensitivities, Validation, and Reporting 
10 BONUS: Valuation, Decision Support, and Model Automation
10.1 Valuation Foundations: DCF and Trading Multiples
10.2 Decision Support: Scenarios, Sensitivities, and Executive Summary 
10.3 Model Automation: Reporting and Handoff 
10.4 Unit Projects (Units1–4) and Unit 5 Capstone 

DAVID MASCIO

Financial Modeling with Python: Building a Three-Statement Model provides a practical introduction to developing integrated financial models using Python. The book begins with the fundamentals of financial modeling, including valuation concepts, net present value (NPV), discounted cash flow (DCF), and the relationship between financial statements and business performance.

The text guides readers through financial statement analysis before demonstrating how to construct the income statement, balance sheet, and cash flow statement in Python. It explains data acquisition, financial statement components, working capital, depreciation, debt, equity, and the integration of the three statements into a single, consistent financial model with built-in validation and integrity checks.

The book also covers scenario analysis, sensitivity testing, stress testing, model diagnostics, and reproducible workflows for building reliable financial models. A capstone project walks readers through designing, validating, documenting, and exporting a complete three-statement model.

Bonus chapters extend the material by covering historical data preparation and quality assurance, forward financial projections, Monte Carlo simulation, valuation methods, decision support, reporting automation, and project-based applications that reinforce the complete financial modeling process in Python.

1 Introduction to Financial Modeling 
1.1 What Is Financial Modeling?
1.2 Key Components of Financial Modeling 
1.3 The Landscape of Financial Model Types 
1.4 First Python Win: Net Present Value (NPV)
1.5 From NPV to Enterprise Value: A Mini-DCF
1.6 From Valuation Back to Fundamentals: Why the Three Statements Matter 
1.7 Key Takeaways 
2 Fundamentals of Financial Statement Analysis 
2.1 The Big Picture: Three Statements, One Story 
2.2 Common-Size and Trend Analysis
2.3 The Financial Ratio Toolbox
2.4 Automating a Ratio Dashboard in Python
2.5 Integrated Case: Ratio Analysis in Practice
2.6 Linking Ratios to Strategic Decisions
2.7 Unit1: Mini-Project Brief: Historical Data Pack & EDA Notebook
2.8 Key Takeaways
3 Constructing the Income Statement
3.1 Income Statement Fundamentals
3.2 Data Acquisition & Cleaning 
3.3 Revenue Construction
3.4 Cost of Goods Sold (COGS) 
3.5 Operating Expenses
3.6 EBIT, EBITDA, and Non-Operating Items
3.7 Tax Expense & Effective Rate 
3.8 Assembling the Income Statement in Python
3.9 Mini-Project Prompt: Constructing a Python-Based Income Statement
3.10 Key Takeaways
4 Constructing the Balance Sheet in Python
4.1 Balance Sheet Architecture and Sign Conventions 
4.2 Working Capital in Python 
4.3 PP&E Schedule and Depreciation Linkage 
4.4 Equity Roll-Forward in Python 
4.5 A Simple Debt Treatment
4.6 Assembling the Balance Sheet and Balance Checks
5 Constructing the Cash Flow Statement and Integrating the Three Statements in Python
5.1 Indirect Cash Flow Method: Logic and Common Pitfalls 
5.2 Non-Cash Add-Backs and Working Capital Adjustments
5.3 Capital Expenditures and Investing Cash Flows 
5.4 Financing Cash Flows (Debt and Equity Basics) 
5.5 Three-Statement Integrity Checks (Cash Tie-Outs, Balance, Circularity)
5.6 Three-Statement Integrity Checks (Cash Tie-Outs, Balance, Circularity)
5.7 Python Assembly Pattern: One Run, All Statements, One Output
6 Scenario Analysis, Sensitivities, and Model Diagnostics in Python 
6.2 Two-Way Tables and Response Surfaces (Price×Volume,etc.)
6.3 Stress Tests and Break-Evens (What Must Be True?) 
6.4 Model Diagnostics: Guardrails, Assertions, and Unit Tests
6.5 Model Risk: Common Failure Modes and Prevention 
6.6 Packaging Scenarios in Python (Configs, Reproducibility, Minimal Code)
7 Capstone: A Reproducible Three-Statement Model (Inputs→Outputs)
7.1 Project Architecture (Data, Assumptions, Model Layer, Outputs) 
7.2 Reproducibility (Environments, Versioning, Documentation) 
7.3 Output Engineering (Excel, LATEX, Dashboards)
7.4 Audit Trail (Reconciliations, Change Logs, Review Workflow) 
7.5 Capstone Case Study: Build, Validate, Export, Communicate 
7.6 Final Deliverables and Grading Rubric 
8 BONUS: Historical Model Build and Data QA 
8.1 Scope & Interfaces 
8.2 Data Intake & Cleaning Pipeline 
8.3 Historical Statements & Linkage Validation 
8.4 Opening Balances & Diagnostics Handoff
9 BONUS: Forward Projections, Scenarios, and Sensitivities
9.1 Orientation and Scope 
9.2 Driver-Based Forward Projections 
9.3 Scenarios and Monte Carlo
9.4 Sensitivities, Validation, and Reporting 
10 BONUS: Valuation, Decision Support, and Model Automation
10.1 Valuation Foundations: DCF and Trading Multiples
10.2 Decision Support: Scenarios, Sensitivities, and Executive Summary 
10.3 Model Automation: Reporting and Handoff 
10.4 Unit Projects (Units1–4) and Unit 5 Capstone 

DAVID MASCIO