Individual lessons / Proposed programme
AI Academy
A personal learning plan for getting started with AI or portfolio optimization, one lesson at a time.
I’m developing a programme of individual lessons for newcomers who would like to understand the ideas behind AI and quantitative portfolio methods, and learn to work with them in Python.
The plans below are a starting point. We would agree on a goal, work out what you already know, and adjust the order and pace. You can follow a complete route or focus on a particular lesson.
Where to begin
Find a starting plan
Choose the subject you want to study and your current experience with Python.
If you are starting from scratch
Optional preparation
Take one or both of these lessons before either route. We can also revisit these ideas as needed along the way.
P1Getting comfortable with Python
- In the lesson
- Variables, functions, a notebook, and reading error messages. No previous programming experience assumed.
- Practice
- Run a small notebook, change its inputs, and write a function that computes an average.
- What you take away
- A notebook you can run and explain without copying each step.
P2Working with data and uncertainty
- In the lesson
- Tables, plots, averages, variation, and the difference between a sample and a population. Introduce mathematical notation through examples.
- Practice
- Load a small dataset, plot its values, and compare two groups without hiding their spread.
- What you take away
- A short exploratory notebook and an explanation of what the data can and cannot tell you.
8 individual lessons / Suggested sequence
AI foundations
For people who want to understand AI and start building small experiments.
Starting point Basic Python is useful from lesson 2 onward; take the preparation lessons first if it is new to you.
Project to work towards A reproducible machine learning notebook, plus a small document-question-answering experiment with an explicit evaluation set.
01What does an AI model learn?
- In the lesson
- Distinguish rules, learning from examples, and generation. Introduce features, targets, training, and prediction with familiar examples.
- Practice
- Frame a small prediction task and compare it with a simple rule-based baseline.
- What you take away
- A problem statement that identifies the data, the target, and how success will be checked.
02Your first machine learning model
- In the lesson
- Load a dataset, separate training and test data, fit a model, and read its predictions using scikit-learn.
- Practice
- Build a regression or classification notebook and compare its test results with the baseline.
- What you take away
- A first model with a held-out test result and a plot of its errors.
03How to tell whether a model works
- In the lesson
- Overfitting, data leakage, suitable metrics, cross-validation, and the role of preprocessing pipelines.
- Practice
- Compare two models on identical splits and inspect several failed predictions.
- What you take away
- An evaluation table and a short explanation of the model’s limitations.
04Neural networks, one step at a time
- In the lesson
- Neurons, weights, activations, loss, and gradient descent. Work through the intuition before adding notation.
- Practice
- Train a small network and inspect what changes when its capacity or learning rate changes.
- What you take away
- Learning curves you can interpret, including a case of overfitting.
05How language models generate text
- In the lesson
- Tokens, embeddings, attention, and next-token prediction. Discuss why fluent output can still be incorrect.
- Practice
- Compare outputs on a fixed set of prompts and record factual errors and variations.
- What you take away
- A small prompt-evaluation notebook with documented failure cases.
06Giving a model useful context
- In the lesson
- Instructions, structured outputs, document retrieval, and the separation between retrieved evidence and generated answers.
- Practice
- Prototype question answering over a small public document collection and check the supporting passages.
- What you take away
- A document-based prototype with traceable sources for its answers.
07Evaluating an AI application
- In the lesson
- Test cases, missing answers, unsupported claims, latency, and the cost of a model call. Decide what needs human review.
- Practice
- Write a fixed evaluation set, then compare the prototype before and after one change.
- What you take away
- A repeatable evaluation report that explains both improvements and regressions.
08Review a small project together
- In the lesson
- Revisit the assumptions, explain the implementation, and make the experiment reproducible.
- Practice
- Present your notebook and document prototype; rerun them from a clean starting point.
- What you take away
- A compact project with a README, results, and a clear account of what remains unresolved.
8 individual lessons / Suggested sequence
Portfolio optimization
For people new to quantitative portfolio methods, with examples in Python and skfolio.
Starting point No finance background is required. Basic Python and the preparation lesson on data are useful before lesson 2.
Project to work towards A portfolio research notebook comparing simple allocations with optimized portfolios on later, unseen observations.
01From investments to a portfolio model
- In the lesson
- Prices, returns, weights, compounding, and why a portfolio is more than a list of assets.
- Practice
- Calculate returns and the value of an equal-weight portfolio on a small example.
- What you take away
- A notebook with explicit assumptions about weights and rebalancing.
02Measuring risk and diversification
- In the lesson
- Volatility, correlation, covariance, and drawdown. Introduce the limits of describing risk with one number.
- Practice
- Compare two allocations and plot how their returns and drawdowns differ.
- What you take away
- A risk summary that explains what each measure captures.
03What optimization actually solves
- In the lesson
- Objectives, constraints, the efficient frontier, and the sensitivity of solutions to estimated inputs.
- Practice
- Solve a small allocation problem and observe how weights change when the estimates change.
- What you take away
- A clear formulation of an optimization problem and a sensitivity plot.
04Building portfolios with skfolio
- In the lesson
- Estimators, fit and predict, weight constraints, and the comparison with an equal-weight baseline.
- Practice
- Fit a minimum-risk model on training data and evaluate its portfolio on later observations.
- What you take away
- A baseline comparison with a chronological train/test split.
05Estimation and alternative allocations
- In the lesson
- Covariance estimation, shrinkage, concentration, risk budgeting, and hierarchical methods.
- Practice
- Compare a small set of methods using the same data and constraints.
- What you take away
- An allocation comparison with an explanation of why the methods differ.
06Backtesting without looking ahead
- In the lesson
- Walk-forward evaluation, rebalancing, transaction costs, turnover, and how information can leak from the future.
- Practice
- Build a chronological backtest with documented trading assumptions and an unchanged baseline.
- What you take away
- An out-of-sample report including costs and turnover.
07Checking sensitivity and uncertainty
- In the lesson
- Different market periods, parameter sensitivity, estimation noise, and the limits of selecting a strategy from one backtest.
- Practice
- Change the estimation window and costs, then check whether the conclusion survives.
- What you take away
- A sensitivity report that identifies unstable conclusions.
08Review a portfolio research notebook
- In the lesson
- Reproducibility, comparison design, interpretation, and communicating the assumptions behind a result.
- Practice
- Present a comparison of simple and optimized allocations and rerun it from the original data.
- What you take away
- A documented research notebook with an honest account of its limitations.
Reading alongside the lessons
The exercises would use public datasets and openly documented tools. These are useful references to return to as we introduce the concepts.
Discuss a learning plan
Tell me what you would like to learn, any programming or mathematical background, and how much time you can set aside for practice in a message on LinkedIn. We can use that to discuss a suitable starting point and lesson format.
Discuss individual lessons on LinkedIn ↗This programme is a proposal. Timing and practical arrangements would be agreed individually.