Trading Dev AcademyFree quant education

Free lesson · Arbitrage

Start with every possible payoff

Open interactive lessonPractice calculationsExplore labs

Start with the idea

Two portfolios are equivalent only if they deliver the same cash in every relevant state at the same time. Equal average returns are insufficient.

Symbols, units & horizon
  • s: terminal state
  • j: instrument
  • q_j: signed instrument units
  • X_sj: payoff USD/unit in state s
  • C_0: initial USD cost
  • r: simple annual funding rate
  • T: years to settlement
  • Π_s: terminal surplus USD

When and why to use this

Prove complete-set or replication payoffs before calling a price difference arbitrage.

Two portfolios are equivalent only if they deliver the same cash in every relevant state at the same time. Equal average returns are insufficient.

Create one row per terminal outcome, including void or default when permitted. A statistical tendency to converge is different from a contractual identity.

A certain payment above its purchase price still has to cover the time value of capital. Compare payoff and funded cost at the same date.

Πs=∑jqjXsj−C0(1+rT)
Cash-flow identity under specified states and simple funding

Start with every possible payoff

  1. Multiply each holding by its state payoff and sum.
  2. Grow the initial cost by 1+rT.
  3. Subtract funded cost in each state; inspect the minimum and omitted states.
Work it by hand

One YES and one NO pay $1 under an exhaustive binary resolution. Cost $.96, r=.04, T=.5: funded cost=.9792, leaving $.0208 in either state.

Apply it in a strategy

  • Prove complete-set or replication payoffs before calling a price difference arbitrage.
  • Record the input timestamp, executable quantity, currency and horizon. Reconcile the result with a cash-flow or state table.
  • Stress this failure condition: A void, default or incompatible settlement state can destroy equivalence.

Research deliverable

Build and explain a start with every possible payoff worksheet. Prove complete-set or replication payoffs before calling a price difference arbitrage.

Evidence boundary: Synthetic arithmetic and scenarios illustrate mechanics. They are not historical returns, a paper replication, or evidence of an executable edge. Research sources and their access limitations are recorded at the end of this module.

Research sources, review dates and limitations

Python implementation

Self-contained teaching example. Python 3.10+; dependencies and input conventions are shown in the code and notation. Run in your own Python environment.

# Python 3.10+; standard library unless NumPy is imported below.
# Inputs and outputs use the units defined in this lesson. Synthetic teaching example.
def state_surplus(payoffs,holdings,cost,rate,years):
    if not payoffs or years<0 or any(len(row)!=len(holdings) for row in payoffs):
        raise ValueError("Aligned states and holdings required")
    return [sum(q*x for q,x in zip(holdings,row))-cost*(1+rate*years) for row in payoffs]

print(state_surplus([[1,0],[0,1]],[1,1],.96,.04,.5))

Continue learning

Arbitrage: Payoffs, Financing and Execution — all lessons
  1. Start with every possible payoff
  2. Bid, ask and the gross-to-net waterfall
  3. Put–call parity from expiration states
  4. Dated cash-and-carry
  5. Triangular currency conversion
  6. ETF baskets and creation access
  7. Haircuts and survival capital
  8. Size, impact and the research decision

Quantitative finance and development glossary · Python resources and libraries · Research sources and limitations