Intro Tools and Skills
Financial Modeling with Python and Excel
An Introduction
Nick DeRobertis1
1 University of Florida
Department of Finance, Insurance, and Real Estate
June 9, 2021
DeRobertis (UF) Intro June 9, 2021 1 / 19
Intro Tools and Skills
Table of Contents
1 Introduction to Financial Modeling
2 Introduction to the Modeling Toolset
DeRobertis (UF) Intro June 9, 2021 2 / 19
Intro Tools and Skills
What is this Class?
This is a skills-based course
focused on teaching financial
modeling techniques in Python
and Excel
The focus is not a lot of specific
models, but rather general
model-building techniques
The focus will be simple models,
but extending them in powerful
ways
DeRobertis (UF) Intro June 9, 2021 3 / 19
Intro Tools and Skills
What is a Model?
Inputs Model Outputs
DeRobertis (UF) Intro June 9, 2021 4 / 19
Intro Tools and Skills
A Retirement Problem
A General Structure
Inputs Process Outputs
Real-world Problem
Cash in the
Wages, Savings Investment bank, person
retires
A Model of the Problem
Cash Flows, Savings FV of CF, time
Model
Rate, Interest Rates until retirement
DeRobertis (UF) Intro June 9, 2021 5 / 19
Intro Tools and Skills
Valuing a Company (DCF Model)
A General Structure
Inputs Process Outputs
Real-world Problem
Microsoft Generates cash for
creates soft- Sells the software investors, stock
ware reaches a price
A Model of the Problem
Revenue, COGS,
Stock price,
SG&A, growth rates, Model
stock returns
costs of capital, etc.
DeRobertis (UF) Intro June 9, 2021 6 / 19
Intro Tools and Skills
Table of Contents
1 Introduction to Financial Modeling
2 Introduction to the Modeling Toolset
DeRobertis (UF) Intro June 9, 2021 7 / 19
Intro Tools and Skills
Why Python?
DeRobertis (UF) Intro June 9, 2021 8 / 19
Intro Tools and Skills
Python is a Good Choice for Finance
The easiest to learn mainstream programming language
Heavily used in the financial industry
Python is the Most Flexible of the Top Languages
Modeling Devices
Data science Web Development
Algorithmic Trading Web Scraping
Scripting Even these slides
DeRobertis (UF) Intro June 9, 2021 9 / 19
Intro Tools and Skills
Python is the Fastest Growing Programming Lanugage
DeRobertis (UF) Intro June 9, 2021 10 / 19
Intro Tools and Skills
More Python Advantages
Open source - completely free and open
Focus on readability - almost pseudo-code
Take as much as you need. Easy for beginners, many features for
experts.
Deep integrations with Excel - VBA replacement, run Python in
Excel, run Excel from Python
DeRobertis (UF) Intro June 9, 2021 11 / 19
Intro Tools and Skills
Why Not use Python?
DeRobertis (UF) Intro June 9, 2021 12 / 19
Intro Tools and Skills
Python Disadvantages
No graphical interface (by default)
Hard to get others working with it if they don’t know Python
Can take more work to get started on a project
DeRobertis (UF) Intro June 9, 2021 13 / 19
Intro Tools and Skills
Why Not use VBA?
DeRobertis (UF) Intro June 9, 2021 14 / 19
Intro Tools and Skills
VBA is Old-School
Code is not as readable as
Python
Power is limited to working
within Microsoft Office
Python has a complete VBA
API built into a package -
Python can do VBA and more
DeRobertis (UF) Intro June 9, 2021 15 / 19
Intro Tools and Skills
We Can’t Ditch Excel Yet
Excel is everywhere. Most of the world’s data is in Excel spreadsheets
(Nearly) everyone knows how use it
You can see what you’re doing (without effort)
Easy introspection into a particular value
DeRobertis (UF) Intro June 9, 2021 16 / 19
Intro Tools and Skills
Escaping Excel Hell
DeRobertis (UF) Intro June 9, 2021 17 / 19
Intro Tools and Skills
The Pains of Excel
Code and view are mixed together, code is hidden
Both cell formulas and VBA macros - What is going on?
Easy to make mistakes (one cell different)
Some tasks which are very simple in Python are very complex in Excel
DeRobertis (UF) Intro June 9, 2021 18 / 19
Intro Tools and Skills
Let’s Get Python Set Up on your System
Install Steps
1 Go to https://www.anaconda.com/products/individual to download
Python 3.8
2 Follow the steps in the installer
3 You will hit ”Advanced Installation Options”. It is very important that you
select ”Add Anaconda to my PATH environment variable”. It says it is not
recommended, and will highlight it in red when checked, but we will need it
later in the course.
4 Open CMD (windows key, search cmd)
5 Type python and hit enter. You should see Python 3.8 and a >>> come up.
Make sure you have selected Python 3.8 and not 2.7
DeRobertis (UF) Intro June 9, 2021 19 / 19
Lecture Resources
Lecture Resources
1 Syllabus
2 Course Schedule
3 Slides - Financial Modeling with Python and Excel
4 Lecture Notes - Financial Modeling with Python and Excel
DeRobertis (UF) Intro June 9, 2021 20 / 19