Watch the video above, then read on for a detailed walk through the course structure and what each phase will prepare you to do.
Why a roadmap matters before you start
You are about to invest time learning Python for finance work. Before you dive in, you deserve to know where you are going and why each step matters. A clear roadmap does three things: it shows you that concepts are not random; it explains why you are learning something when it feels slow; and it connects what you learn to work you will actually do in treasury, risk, or analysis roles.
This course is built in four deliberate phases. Each one depends on the previous one. Nothing is wasted.
The four phases of the course
Phase 1: Foundations and syntax
You start here. Phase 1 teaches you how Python works at the most basic level: variables, data types, operators, and how to write your first working script.
This is not abstract computer science. You will learn about integers and floats because you need them for calculations. You will learn strings because you work with codes, dates, and descriptions. You will learn about lists and dictionaries because real data comes in collections. The operators (add, multiply, compare) matter because you use them to transform values.
By the end of Phase 1, you can write a simple script that reads a value, does something with it, and prints a result. You understand that Python is just instructions, written in a specific way, executed in order from top to bottom.
The effort here feels foundational because it is. You are learning the vocabulary. Do not skip it or rush it.
Phase 2: Logic and flow control
Now that you can write simple statements, you need to write code that makes decisions and repeats tasks. Phase 2 teaches conditionals (if/else) and loops (for, while).
Conditionals let you say "if this condition is true, do this; otherwise do that". In treasury work, that might be: if the balance is below the minimum, raise an alert. In risk reporting, it might be: if the counterparty is rated below investment grade, flag it.
Loops let you do the same thing many times. Instead of writing ten separate statements to process ten accounts, you write one statement inside a loop and it runs ten times. This is where Python's efficiency starts to show.
By the end of Phase 2, you can write a script that processes a batch of data: read through a list of transactions, check each one against a rule, and count or accumulate results. This is the foundation of every data task you will do.
Phase 3: Reusable code through functions
You are now writing longer scripts. Phase 3 teaches you to organise that code into functions: reusable blocks that take inputs, do something, and return a result.
Functions matter because they let other people use your code. They also let you reuse your own code without copying and pasting. If you write a function to calculate a rate or validate a date, you can call it dozens of times without rewriting it.
Functions also force you to think clearly about what a piece of code does. When you write a function, you must decide what inputs it takes, what it returns, and what it does in between. That clarity is a skill in itself.
By the end of Phase 3, you can break a task into separate functions, each with a clear purpose. Your code becomes modular and maintainable. Other people can read it and understand it without your explanation.
Phase 4: Objects, libraries and real work
The final phase teaches you about objects and how to use libraries. An object is a bundle of data and the functions that work on it. A library is a collection of code someone else wrote that you can use.
At this phase, you stop writing everything from scratch. You use pandas to read and transform data from CSV files and databases. You use numpy for numerical work. You use libraries that other people built and tested so you do not have to.
This is where the course transitions from "learning to code" to "using code to do your job". You will read a position file, transform it, run calculations, and export a report. You will automate a weekly reconciliation. You will build a tool that your team can use.
By the end of Phase 4, you have the pattern for a real piece of finance work: read data, process it, check it, and output results. You understand how to find and use libraries. You can read someone else's code and adapt it to your scenario.
How concepts build and connect
Each phase builds deliberately on the last. You cannot write meaningful loops if you do not understand variables and types. You cannot write functions if you do not understand loops. You cannot use pandas if you do not understand how to think about data in collections.
This is not accidental. The course is designed so that every new idea rests on solid ground. When you learn a function, you have already written ten small scripts by hand, so you understand what you are optimising. When you learn pandas, you have already processed data with loops, so you understand what the library is actually doing.
This pacing matters. Moving too fast leaves gaps. You end up copying code you do not understand or getting stuck when something does not work as expected. Moving deliberately is slower in the moment but faster overall.
The hardest part of learning to code is not the first concept. It is the moment when several concepts come together (a loop inside a function inside a conditional). When that moment comes, you will be ready because you have built each piece already.
What you will be able to do at the end
After Phase 1, you can write a working script that does a calculation.
After Phase 2, you can process a batch of data and apply a rule to each item.
After Phase 3, you can organise your code into reusable blocks that other people can call.
After Phase 4, you can read a real data file, transform it, run meaningful calculations, and produce output that you can use or share.
Concretely, that means you can:
- Read a CSV file containing transactions, positions, or market data
- Filter it according to a rule (maturity less than one month, counterparty tier, facility type)
- Calculate derived values (accrued interest, duration, funding gap)
- Aggregate results by bucket or dimension
- Write the output to a new file or print a summary report
- Run the same process automatically every day or week
- Make the code clear enough that a colleague can read it and adapt it without starting from scratch
None of that requires advanced algorithms or computer science knowledge. It requires thinking clearly about data, writing instructions in the right order, and using the right tools. That is what this course teaches you.
What you need before you start
You do not need to know Python. You do not need prior coding experience. You do need a computer with Python installed (the course covers setup in a separate post) and the willingness to write code every day, even for 20 minutes.
If you have used spreadsheets to process data, understand the idea of a formula, or written a function in VBA, you will recognise some of the logic. That helps but is not required.
Getting the most from structured learning
Understanding this roadmap now helps you recognise what each topic is for. When you are in the middle of Phase 2 learning loops, you might think "why am I doing this?". The answer is: because in two weeks you will process 500 transactions with a loop and save yourself two hours of work. That motivation matters when the practice exercises feel slow.
Take time to complete the practice problems in each phase. They feel repetitive because repetition is how learning happens. When you come back to Phase 4 and use pandas, you will already know how to think about data as a collection of rows. The earlier work pays off.
If something does not click, it is usually because a concept from an earlier phase did not land. Go back. Reread that section. Write a small test script. Do not move on until it feels solid. The course is online; you can move at your own pace.
Write code every day. Even 20 minutes of writing, testing, and fixing is better than an hour of reading. Your hands need to learn the syntax as much as your mind needs to learn the logic.
What comes next
This post maps out the full course. After you have read it and are ready to begin, move to Phase 1: variables, types, and your first script. You will learn how to store information, what different types of information Python understands, and how to do basic operations on them.
If you have not already read the introductory post on why Python works for finance, it is worth reading now. It sets the context for why you are learning this language at all.
Once you are comfortable with the fundamentals and understand loops, you will also benefit from seeing how those concepts apply to real data. The post on reading a liquidity position with pandas shows a Phase 4 example of what the full journey leads to.
For now: watch the video, read this post, and come back when you are ready to start Phase 1. You have a clear map. You know where you are going. That is half the battle.
Get the next one in your inbox
A weekly note on treasury, liquidity and practical Python. No spam, unsubscribe any time.
Practitioner notes on treasury, liquidity, regulatory reporting and practical Python.
