The Stochastic Discount Factor
This notebook introduces the stochastic discount factor (SDF), one of the central objects in asset pricing. The SDF is a random variable m that prices every traded payoff through the formula p(x) = \operatorname{E}(mx). Its importance is that it compresses all of asset pricing into a single object: once m is known, we can value any traded cash flow, recover the risk-free rate, and decompose expected returns into time-value-of-money and risk-premium components. The same idea also creates a bridge between no-arbitrage and equilibrium theory. In no-arbitrage language, the SDF is the linear functional that prices payoffs consistently across assets; in equilibrium language, it is the marginal value of wealth or consumption across states, as in Lucas (1978) and Breeden (1979). This is why the SDF, or pricing kernel, is the common language of modern asset pricing; see also Cochrane (2009).
Rather than taking the pricing formula as given, we derive it from basic restrictions on asset prices. First, the law of one price implies that prices must be generated by a linear pricing rule on the space of traded payoffs. Then the principle of no-arbitrage strengthens that result by implying the existence of a strictly positive SDF. In complete markets, this strictly positive SDF is unique. The representation used here follows the SDF approach developed in Hansen and Richard (1987), Hansen and Jagannathan (1991), and Hansen and Jagannathan (1997), with the no-arbitrage foundations rooted in work such as Kreps (1981).
The Set of Traded Payoffs
Let L = \mathbb{R}^{S} denote the full space of state-contingent payoffs: each element of L specifies one payoff in each of the S states of the world. In this economy, not all payoffs are necessarily traded unless the market is complete. We denote by X the linear subspace of traded payoffs spanned by \{x_{1}, x_{2}, \ldots, x_{N}\}, where N \leq S and all payoffs are assumed to be linearly independent. Denote by \mathbf{x}' = (x_{1}, x_{2}, \ldots, x_{N}) \tag{1} a vector containing all the basis payoffs. In the following, we assume that the Gram matrix \operatorname{E}(\mathbf{x} \mathbf{x}') = \sum_{s=1}^{S} q(s) \mathbf{x}(s) \mathbf{x}'(s) is invertible.
We can create other payoffs by buying or selling our N original assets. Any x \in X can be expressed as: x = \sum_{i = 1}^{N} a_{i} x_{i}, \tag{2} for a_{i} \in \mathbb{R}, 1 \leq i \leq N. Finally, we denote by \pi_{i} the price of asset i for 1 \leq i \leq N, and by \pmb{\pi}' = (\pi_{1}, \pi_{2}, \ldots, \pi_{N}) a vector containing the prices. of the N basis payoffs.
The Law of One Price
Now, we would like to know if there is a way to create a pricing functional p: X \rightarrow \mathbb{R} that gives the price of any traded payoff. Clearly, we have that p(x_{i}) = \pi_{i} for 1 \leq i \leq N, and our intuition tells us that the price of any other traded payoff should be pinned down by the prices of the basis assets used to construct it. The next example shows what goes wrong when this consistency fails.
Example 1 Suppose that p(x) = 1 and p(y) = 2. There is also an asset z = 3x + 4y such that p(z) = 12. Is there an arbitrage opportunity?
Of course! We could buy 3 units of x and 4 units of y and bundle them as z. The cost of the bundle is $11, but we can sell it for $12, generating a riskless profit of $1 per trade. Since there is no shortage of these securities, we could continue doing it until the prices of x and y go up and/or the price of z goes down.
In order to avoid these type of situations, we will assume the following.
Assumption 1 (The Law of One Price) Suppose that x_{i} \in X and a_{i} \in \mathbb{R} for i \in 1, 2, \ldots, N \leq S. If x = \sum_{i = 1}^{N} a_{i} x_{i} \in X, then p(x) = \sum_{i = 1}^{N} a_{i} p(x_{i}). \tag{3}
In competitive markets, the law of one price (LOOP) guarantees that the price of a basket of stocks is equal to the sum of the prices of its constituents. This logic is at the heart of how Exchange-Traded Funds (ETF) operate, as the next example shows.
Example 2 An ETF is a type of investment fund that is traded on stock exchanges, similar to individual stocks. ETFs hold a diversified portfolio of assets, such as stocks, bonds, or commodities, which provides investors with broad exposure to specific markets or investment strategies.
ETF arbitrage is the mechanism that helps keep the market price of an ETF in line with its Net Asset Value (NAV). Authorized Participants (APs), typically large financial institutions, have the ability to create or redeem ETF shares in large blocks called creation units.
When the ETF market price is higher than the NAV, APs can buy the underlying securities of the ETF in the open market and then deliver them to the ETF issuer in exchange for new ETF shares. The AP can then sell these ETF shares at the higher market price, making a profit. This buying of underlying securities pushes their prices up, while the selling of new ETF shares pushes the ETF price down, bringing the two prices closer together.
When the ETF market price is lower than the NAV, APs can buy ETF shares in the open market and deliver them to the ETF issuer in exchange for the underlying securities. The AP can then sell these underlying securities at the higher NAV price, making a profit. This buying of ETF shares pushes their price up, while the selling of the underlying securities pushes their prices down, again bringing the two prices closer together.
This creation and redemption process happens continuously and helps to keep the ETF price in line with the NAV. The arbitrage opportunities are typically small but sufficient for APs to engage in the process for profit, ensuring that the ETF price does not deviate significantly from its NAV.
You can find more information here.
The fact that the market for ETFs is so liquid and works flawlessly reassures us that LOOP is a reasonable axiom to start working from. The law of one price implies that the price functional defined in (3) is linear on the finite-dimensional payoff space X, hence continuous. By the Riesz Representation Theorem, there exists a unique x^{*} \in X such that p(x) = \operatorname{E}(x^{*} x) for all x \in X.
Since p(x_{i}) = \pi_{i} for each basis asset, the representing payoff x^{*} itself satisfies \operatorname{E}(x^{*}\mathbf{x}) = \pmb{\pi} and is therefore a valid SDF. More generally, if m is any valid SDF, then \operatorname{E}(m \mathbf{x}) = \pmb{\pi}. Substituting into the Projection onto a Subspace formula (with y = m, M = X, and G = \operatorname{E}(\mathbf{x}\mathbf{x}')) identifies x^{*} as the projection of any valid SDF onto X.
Property 1 Under LOOP, the unique SDF in X is the projection of any valid SDF m onto X, given by x^{*} = \pmb{\pi}' \operatorname{E}(\mathbf{x} \mathbf{x}')^{-1} \mathbf{x} \in X. \tag{4}
To verify directly, take any x = \mathbf{x}' \mathbf{a} \in X and compute \begin{aligned} \operatorname{E}(x^{*} x) & = \operatorname{E}(\pmb{\pi}' \operatorname{E}(\mathbf{x} \mathbf{x}')^{-1} \mathbf{x} \mathbf{x}' \mathbf{a}) \\ & = \pmb{\pi}' \operatorname{E}(\mathbf{x} \mathbf{x}')^{-1} \operatorname{E}(\mathbf{x} \mathbf{x}') \mathbf{a} \\ & = \pmb{\pi}' \mathbf{a} = p(x), \end{aligned} confirming that x^{*} prices all assets correctly.
Any other SDF m will price the assets correctly, so that \operatorname{E}((m - x^{*}) x) = \operatorname{E}(m x) - \operatorname{E}(x^{*} x) = p(x) - p(x) = 0. This shows that we can create new SDFs by combining x^{*} with any vector e orthogonal to X. In other words, all the SDFs that price assets correctly in X can be written as: m = x^{*} + e, where e \mathrel\bot x for all x \in X.
The Principle of No-Arbitrage
The law of one price disciplines prices across portfolios: equal payoffs must have equal prices. But LOOP says nothing about the relationship between prices and the sign of payoffs. A pricing functional can be perfectly linear — satisfying LOOP — and yet assign a non-positive price to a payoff that is non-negative in every state. An investor facing such an opportunity would want to hold an unbounded position: buying costs nothing (or generates an immediate cash inflow) while the payoff can only be zero or positive. In competitive markets, unbounded demand is inconsistent with equilibrium clearing, so such opportunities cannot persist.
Assumption 2 (Principle of No-Arbitrage) The price of a payoff that is non-negative in all states and strictly positive in at least one state of the world must be positive.
To see that PNA is strictly stronger than LOOP, consider a market with a single risky asset x_1 that pays $1 in state 1 and $0 in state 2. Any pricing functional of the form p(a x_1) = a \pi_1 is linear and therefore satisfies LOOP regardless of the sign of \pi_1. But if \pi_1 \leq 0, buying x_1 costs nothing (or generates income) while delivering a non-negative payoff. LOOP is silent on this because there is no inconsistency across portfolios; the problem is that the price assigns the wrong sign to a desirable payoff.
More generally, PNA adds the requirement that prices respect dominance: a payoff that weakly improves on zero in every state, and strictly improves in at least one, must carry a strictly positive price. This is the minimal condition consistent with the behavior of an investor who strictly prefers more consumption to less in every state of the world.
The principle of no-arbitrage (PNA) is a strictly stronger assumption than LOOP, as the next property shows.
Property 2 \text{PNA} \Rightarrow \text{LOOP}.
Proof
Assume that LOOP fails. Then there exist two portfolios with the same payoff but different prices. Subtracting one from the other yields a portfolio with zero payoff in every state and non-zero price, so p(0) \neq 0. Without loss of generality, assume p(0) > 0. Selling this zero-payoff portfolio generates a strictly positive cash inflow today and no future liability at all. Such a price discrepancy is incompatible with no-arbitrage. Therefore PNA implies LOOP.
This contradiction establishes the result.The reverse implication does not hold: a market can satisfy LOOP while still admitting free lunches, as the single-asset example above illustrates. PNA therefore imposes a genuinely additional restriction on the pricing functional beyond linearity. In particular, it rules out not only mispricing across equivalent portfolios, but also prices that attach non-positive value to payoffs that are everywhere non-negative. This distinction is important because return-based formulas implicitly assume that the asset price is strictly positive. If a non-negative payoff had zero or negative price, its gross return would be undefined or economically ill-behaved. That is why arbitrage restrictions are stated first in payoff-price language, and only afterwards translated into statements about returns.
A more important consequence of PNA is that it is equivalent to the existence of a strictly positive SDF. Under LOOP, an SDF m prices every traded payoff via p(x) = \operatorname{E}(mx), but a generic SDF need not be positive in every state. If some component satisfies m(s) \leq 0, then the state-s payoff receives non-positive marginal value. In complete markets, the Arrow-Debreu security e_s would then have price p(e_s) = \operatorname{E}(m e_s) = q(s) m(s) \leq 0, immediately violating PNA. More generally, the positive-SDF theorem below shows that ruling out such statewise negative valuations on the traded payoff space is exactly equivalent to PNA.
Property 3 (No-Arbitrage and Strictly Positive SDFs) \text{PNA} \Leftrightarrow \exists m > 0.
A proof is provided in the appendix. Even in a finite state space, this is not an elementary result: the argument already requires a geometric reformulation of the pricing problem and an application of the Separating Hyperplane Theorem. That depth is part of the point. The equivalence says that no-arbitrage is exactly the condition that the market assigns a positive shadow value to wealth in every state — no state is “throwaway.” In complete markets (N = S), PNA pins down a unique strictly positive SDF, since X = L leaves no room for the orthogonal residual e in the decomposition m = x^{*} + e.
Arrow-Debreu Securities
Arrow-Debreu securities are the most elementary financial contracts imaginable: security e_s pays $1 if state s occurs and $0 in every other state. They are the atomic building blocks of the full payoff space L: every contingent claim can be decomposed state by state using these elementary vectors, whether or not the corresponding securities are actually traded.
Formally, define the random variable e_{s} by e_{s}(i) = \begin{cases} 1 & \text{if } i = s, \\ 0 & \text{otherwise,} \end{cases} for each s \in \mathcal{S}. Since the payoff space L has dimension S, the collection \{e_1, e_2, \ldots, e_S\} forms a basis for L. Any payoff x \in L therefore admits the unique decomposition x = x(1)\, e_{1} + x(2)\, e_{2} + \cdots + x(S)\, e_{S}, \tag{5} since in state s the right-hand side evaluates to x(s) \cdot 1 = x(s).
This decomposition is purely geometric. It does not mean that every Arrow-Debreu security is traded. When N < S, the marketed payoff space X is only a subspace of L, so many contingent claims in L need not be attainable by portfolios of traded assets.
State prices. If an Arrow-Debreu security e_s is traded, its price is called the state price for state s and is denoted \psi(s). In a complete market, where all S Arrow-Debreu securities are traded, the price of any payoff x \in L follows immediately from the spanning representation: p(x) = \sum_{s=1}^{S} x(s)\, \psi(s) = \pmb{\psi}' \mathbf{x}, where \pmb{\psi} = (\psi(1), \ldots, \psi(S))' collects all state prices. In that case prices are inner products with the state-price vector.
More generally, even when Arrow-Debreu securities are not traded individually, any SDF m induces a state-price vector \psi(s) = q(s)\, m(s), and the pricing equation becomes \operatorname{E}(m x) = \sum_{s=1}^{S} q(s)\, m(s)\, x(s) = \sum_{s=1}^{S} \psi(s)\, x(s) = \pmb{\psi}' \mathbf{x}. Thus an SDF and a state-price vector are just two representations of the same linear pricing rule. The positivity condition m > 0 is equivalent to \psi(s) > 0 for all s.
Complete markets. If all S Arrow-Debreu securities are traded — that is, N = S and X = L — the market is complete. In this case the state-price vector \pmb{\psi} is uniquely determined by the S asset prices, and so is the SDF: m(s) = \psi(s)/q(s) for each s. Incomplete markets (N < S) admit multiple valid state-price vectors and hence multiple SDFs, all of which price the N traded assets correctly but assign different values to non-traded payoffs.
Maximum Sharpe Ratio
We now translate the pricing relation into a restriction on expected returns. For any traded payoff x with non-zero price p(x) \neq 0, define its gross return by R = x/p(x). We work with gross returns throughout this section.
Assume there is a traded risk-free asset that pays 1 in every state of the world. PNA implies p(1) = \operatorname{E}(m) > 0. The gross return of this asset, which is constant in all states of the world, is the risk-free rate R^{f} = \frac{1}{p(1)} = \frac{1}{\operatorname{E}(m)}. Thus, the risk-free rate is the reciprocal of the expected SDF. A higher average discount factor (more patient or more risk-averse investors) implies a lower risk-free rate.
The Sharpe ratio of asset i is its excess expected return per unit of return volatility: \mathit{SR}^{i} = \frac{\operatorname{E}(R^{i}) - R^{f}}{\sigma(R^{i})}, provided \sigma(R^{i}) > 0. It is the most widely used measure of risk-adjusted performance. We will show that any valid SDF places a universal upper bound on the Sharpe ratio of every traded asset.
For any traded asset i, the pricing equation expands as 1 = \operatorname{E}(m R^{i}) = \operatorname{E}(m)\operatorname{E}(R^{i}) + \operatorname{Cov}(m, R^{i}). Substituting \operatorname{E}(m) = 1/R^{f} and rearranging: \operatorname{E}(R^{i}) - R^{f} = -\frac{\operatorname{Cov}(m, R^{i})}{\operatorname{E}(m)} = -R^{f} \operatorname{Cov}(m, R^{i}). The excess return of any asset equals -R^{f} times its covariance with the SDF. Assets that tend to pay off when the SDF is high — that is, when the marginal value of wealth is high, typically in bad times — are valuable as insurance and therefore command lower excess returns. Assets that pay off when the SDF is low, in good times, offer little insurance and must compensate investors with higher expected returns.
Writing the covariance in terms of the correlation \rho_{m,i}, \begin{aligned} \operatorname{E}(R^{i}) - R^{f} & = -\frac{\operatorname{Cov}(m, R^{i})}{\operatorname{E}(m)} \\ & = -\frac{\rho_{m,i}\, \sigma(m)\, \sigma(R^{i})}{\operatorname{E}(m)}. \end{aligned} Dividing by \sigma(R^{i}) and taking absolute values gives \left| \frac{\operatorname{E}(R^{i}) - R^{f}}{\sigma(R^{i})} \right| = |\rho_{m,i}|\, \frac{\sigma(m)}{\operatorname{E}(m)}. Since the Cauchy-Schwarz inequality implies |\rho_{m,i}| \leq 1, we obtain \left| \frac{\operatorname{E}(R^{i}) - R^{f}}{\sigma(R^{i})} \right| \leq \frac{\sigma(m)}{\operatorname{E}(m)}. \tag{6}
This is the Hansen-Jagannathan bound (Hansen and Jagannathan 1991): the absolute Sharpe ratio of any traded asset is bounded above by the coefficient of variation \sigma(m)/\operatorname{E}(m) of the SDF. The bound holds for every valid SDF m and every traded asset i with non-zero return volatility. Equality holds when |\rho_{m,i}| = 1, i.e., when the return is perfectly correlated with the SDF up to sign.
At bottom, this is Cauchy-Schwarz in disguise: a geometric inequality in an inner-product space becomes a sharp restriction on equilibrium asset prices. Economically, since \sigma(m)/\operatorname{E}(m) = R^{f}\,\sigma(m), a large observed Sharpe ratio forces any valid SDF to be highly volatile relative to its mean. The U.S. equity market has historically delivered a Sharpe ratio of roughly 0.5 per year, implying \sigma(m)/\operatorname{E}(m) \geq 0.5. Standard consumption-based models with power utility and observed aggregate consumption growth produce SDFs that are far too smooth to satisfy this bound unless the coefficient of relative risk aversion is implausibly large. This tension is the equity premium puzzle of Mehra and Prescott (1985), and the Hansen-Jagannathan bound provides its sharpest quantitative statement.
Appendix
Proof of Property 3
The proof relies on the following geometric result.
Lemma 1 (Separating Hyperplane Theorem) If A and B are non-empty disjoint convex subsets of \mathbb{R}^{n}, there exists a non-zero vector \phi \in \mathbb{R}^{n} and a scalar \alpha \in \mathbb{R} such that \phi' a \leq \alpha \leq \phi' b \quad \text{for all } a \in A,\; b \in B.
See, for example, Boyd and Vandenberghe (2004).
Road map. The direction (\Leftarrow) is direct: if m > 0, every non-negative non-zero payoff receives a positive price, ruling out arbitrage. For (\Rightarrow), we argue by contradiction. We reformulate the problem as finding a strictly positive state-price vector that correctly prices all assets. Assume no such vector exists, so the plane of valid state prices and the positive orthant are disjoint. The Separating Hyperplane Theorem then places a hyperplane between them, producing a separating normal vector. We show this normal is the payoff vector of some traded portfolio, and that the three properties forced by the separation — non-negative payoff, non-zero payoff, and non-positive cost — make that portfolio an arbitrage, contradicting PNA.
(\Leftarrow): Suppose m > 0 and let x \in X satisfy x \geq 0 and x \neq 0. Since x is non-negative but not identically zero, there is at least one state s^{*} with x(s^{*}) > 0. In the sum p(x) = \operatorname{E}(mx) = \sum_{s=1}^{S} q(s)\, m(s)\, x(s), every term is non-negative (because q(s) > 0, m(s) > 0, and x(s) \geq 0), and the term at s = s^{*} is strictly positive. Hence p(x) > 0, which is exactly PNA.
(\Rightarrow): Suppose PNA holds. Since PNA \Rightarrow LOOP (by Property 2), the SDF x^{*} exists by Property 1. We must show that some SDF is strictly positive in every state.
Reformulation in terms of state prices. Recall that the state-price vector \psi \in \mathbb{R}^{S} is given by \psi(s) = q(s)\, m(s). Since q(s) > 0, we have m(s) > 0 if and only if \psi(s) > 0, so proving m > 0 is equivalent to finding \psi \gg 0. In terms of \psi, the pricing condition \pi_{i} = \operatorname{E}(m x_{i}) becomes a Euclidean dot product \pi_i = \psi'd_i, where d_{i} \in \mathbb{R}^{S} is the payoff vector of asset i. Stacking the N conditions into the S \times N payoff matrix D (whose i-th column is d_{i}), the pricing constraints become D'\psi = \pmb{\pi}. Note that the traded payoff space is X = \operatorname{col}(D) = \{D\theta : \theta \in \mathbb{R}^{N}\}, so its orthogonal complement is X^{\mathrel\bot} = \{e \in \mathbb{R}^{S} : D'e = 0\}. We therefore need to show that D'\psi = \pmb{\pi} has a solution with \psi \gg 0.
Geometric setup. Define \Psi = \{\psi \in \mathbb{R}^{S} : D'\psi = \pmb{\pi}\}, the flat plane of all state-price vectors consistent with observed prices. It is non-empty because \psi^{*}(s) = q(s)\, x^{*}(s) \in \Psi. The open positive orthant \mathbb{R}^{S}_{++} is the set of strictly positive state prices. Our goal is to show that \Psi \cap \mathbb{R}^{S}_{++} \neq \emptyset under PNA.
Contradiction. Suppose \Psi \cap \mathbb{R}^{S}_{++} = \emptyset. Since both sets are non-empty and convex, the Separating Hyperplane Theorem yields a non-zero \phi \in \mathbb{R}^{S} and \alpha \in \mathbb{R} with \phi'\psi \leq \alpha \leq \phi' y \quad \text{for all } \psi \in \Psi,\; y \in \mathbb{R}^{S}_{++}.
Step 1: \phi \geq 0 and \alpha \leq 0. The positive orthant is a cone: if y \in \mathbb{R}^{S}_{++}, then ty \in \mathbb{R}^{S}_{++} for every t > 0. Hence the separation inequality gives \alpha \leq \phi'(ty) = t\,\phi'y \quad \text{for all } t > 0. Letting t \to 0^{+} yields \alpha \leq 0. Next, suppose for contradiction that \phi(s) < 0 for some state s. For any \varepsilon > 0 and any t > 0, the vector y = \varepsilon \mathbf{1} + t e_{s} lies in \mathbb{R}^{S}_{++}, so separation implies \alpha \leq \phi'y = \varepsilon \phi'\mathbf{1} + t\,\phi(s). Since \phi(s) < 0, the right-hand side tends to -\infty as t \to \infty, contradicting the fixed lower bound \alpha. Therefore every coordinate satisfies \phi(s) \geq 0, i.e., \phi \geq 0.
Step 2: \phi \in X, so \phi is the payoff of some portfolio. Fix any \psi_{0} \in \Psi. Since \Psi = \psi_{0} + X^{\mathrel\bot}, every vector of the form \psi_{0} + te with e \in X^{\mathrel\bot} and t \in \mathbb{R} also lies in \Psi. Therefore \phi'(\psi_{0}+te) = \phi'\psi_{0} + t\,\phi'e \leq \alpha \quad \text{for all } e \in X^{\mathrel\bot},\; t \in \mathbb{R}. A linear function of t that is bounded above for all t \in \mathbb{R} must have zero slope, so \phi'e = 0 for every e \in X^{\mathrel\bot}. Hence \phi \in (X^{\mathrel\bot})^{\mathrel\bot} = X, and therefore there exists a portfolio \theta \in \mathbb{R}^{N} with \phi = D\theta. For any \psi \in \Psi, \phi'\psi = (D\theta)'\psi = \theta'(D'\psi) = \theta'\pmb{\pi} = \pmb{\pi}'\theta, so \phi'\psi is constant on \Psi. Since separation gives \phi'\psi \leq \alpha for every \psi \in \Psi, it follows that \pmb{\pi}'\theta \leq \alpha.
Step 3: Arbitrage. The portfolio \theta satisfies:
- Non-negative payoff in every state: D\theta = \phi \geq 0.
- Strictly positive payoff in at least one state: \phi \neq 0 (since \phi is a non-zero separating vector).
- Non-positive cost: \pmb{\pi}'\theta \leq \alpha \leq 0.
This is precisely an arbitrage, contradicting PNA.
Conclusion. The assumption \Psi \cap \mathbb{R}^{S}_{++} = \emptyset leads to an arbitrage, so it must be false. Hence there exists \psi \gg 0 with D'\psi = \pmb{\pi}, and the SDF m(s) = \psi(s)/q(s) > 0 is strictly positive in every state.