Free starter course · no Python experience required
Your first returns and risk analysis.
Start with a price change you can calculate by hand. Learn enough Python to turn that calculation into reusable functions. Finish by comparing two unfamiliar paths and writing a report with evidence.
Your starting point
Basic arithmetic only. A calculator is welcome. No Python, finance vocabulary or spreadsheet experience is assumed.
Time and pace
Allow roughly 8–10 hours including practice and the final lab; this estimate has not yet been calibrated with beginner learners. Pause between chapters. Code, chapter position and attempts save on this device; sign in to sync code and lesson passes.
What counts as learning
Each lesson needs at least 80% on five concept questions, every required code check and a separate transfer task without a worked solution. These record practice completion; written explanations and reports still need human review.
Lesson 1 · 70 minutes including practice
FreePercentages and returns
Turn a price change into a comparable rate, explain its denominator, and check decimal units.
- Compute a decimal and percentage return by hand.
- Explain the starting-price denominator.
- Calculate the rise needed to recover a loss.
Recommended prerequisite: none. Chapters remain freely accessible.
Lesson 2 · 160 minutes including practice
FreeYour first return calculation in Python
Read code from top to bottom, use variables and lists, then write and check your first function.
- Run a calculation and read its output.
- Explain inputs, indexing and return values.
- Write a checked single_return function without a loop.
Recommended prerequisite: lesson 1. Chapters remain freely accessible.
Lesson 3 · 100 minutes including practice
FreeFrom one return to a series
Follow adjacent prices through a loop and build an ordered list of decimal returns.
- Trace every adjacent pair.
- Use a loop and append without changing the input.
- Handle empty, singleton and invalid price lists.
Recommended prerequisite: lesson 2. Chapters remain freely accessible.
Lesson 4 · 125 minutes including practice
FreeCompound performance and drawdown
Track balances and historical peaks, then compare paths that finish at the same price.
- Build wealth including its initial value.
- Compound decimal returns.
- Measure a nonnegative maximum drawdown and explain what it misses.
Recommended prerequisite: lesson 3. Chapters remain freely accessible.
Independent work · about 60–90 minutes
Compare two new price paths
Use your four functions to calculate adjacent returns, normalized wealth, cumulative returns and maximum drawdowns. Write a 150–250 word report, then export your code, inputs, actual results and instructions as a ZIP that runs with plain Python. Then design your own counterexample, record reviewer feedback and revise the report when needed.
The observations are synthetic, chronological and assume no dividends. The work assesses calculation and explanation. A human can review the report using the published rubric. Record the feedback and revision history; self-review is kept separate from peer feedback.
Open the lab →