Computational work

Python practicals

The notebooks make standard financial calculations reproducible. They are deliberately small enough to inspect line by line: the aim is to understand the valuation or empirical result, not to hide it inside a large software system.

Working with the files

DownloadUse the complete bundle when running locally; it preserves the expected data folders.
RunOpen the student notebook in Jupyter, or upload it and its CSV files to Google Colab.
CompleteFill the marked calculation and interpretation cells, then run from top to bottom.
ExplainState the financial conclusion, its units, its assumptions and the relevant limitation.
Python is supporting evidence. A correct output without a financial interpretation is incomplete. Equally, a verbal claim that cannot reproduce the underlying calculation is not enough.

Week One · Valuation and capital markets

D1Cash-flow valuation and the term structureDay 1Student notebook + data

Value irregular cash flows, compare rate conventions, calculate real returns, construct discount factors and recover forward rates from a frozen teaching curve.

Data: project cash flows, Bank of England OIS teaching curve, and UK rates/inflation extract.

D2Bond pricing and interest-rate riskDay 2Student notebook + data

Price two 2032 gilts from cash flows and the spot curve, solve for yield, measure duration and convexity, and compare exact with approximate repricing.

Data: two gilt cash-flow schedules, Bank of England nominal spot curve, and a teaching stress matrix.

D3Equity valuation and market cross-checksDay 3Student notebook + data

Reconcile payout evidence and valuation claims, reproduce three FCFF scenarios, stress WACC and terminal growth, and compare DCF values with matched-peer multiples.

Data: Apple FY2025 payout extract, S&P 500 payout context, Aster valuation inputs, scenarios, peers and sensitivity grid.

D4Portfolio risk, beta and CAPMDay 4Student notebook + data

Compare arithmetic with compound returns, calculate covariance-based portfolio risk, estimate Aster's beta, and translate estimation uncertainty into a cost-of-equity range.

Data: Kenneth French factor and industry extracts, synthetic Aster returns and cost-of-equity sensitivity.

Week Two · Risk transfer, information and digital finance

D5Forward, futures and hedge statesDay 5Student notebook + data

Calculate contract payoffs, compare hedged with unhedged outcomes, size a hedge and trace how daily futures settlement changes the margin account.

Data: hedge-state table, futures margin ledger and calculation metadata.

D6Option payoffs and strategiesDay 6Student notebook + data

Build long and short call/put payoffs, separate payoff from profit, check parity and compare a protective put, covered call and simple combinations state by state.

Data: common terminal-price states and verified option/strategy outcomes.

D7Monetary-policy surprises and communicationDay 7Student notebook + data

Translate futures prices into rates, measure announcement-window changes, compare responses across the curve and construct an auditable hawkish/dovish text score.

Data: selected USMPD event windows, 2026 FOMC statements and dictionary-level text contributions.

D8Bitcoin, stablecoins and payment systemsDay 8Student notebook + data

Measure Bitcoin returns and drawdowns, inspect the March 2023 USDC de-peg, stress redemption resources, and compare gross with net settlement using UK payment data.

Data: Coin Metrics teaching extracts, stablecoin stress cases, UK policy status, Pay.UK system statistics and Bank of England CHAPS distribution statistics.

Data provenance

The bundles use frozen extracts so every student obtains the same result. The principal public sources are the Bank of England yield curves, the Kenneth French Data Library, the U.S. Monetary Policy Event-Study Database, Coin Metrics Community API, and Bank of England payment and settlement statistics. Synthetic company cases are labelled as such inside the files.

Oxford · United KingdomTeachingCV
University of Oxford