Skip to content

Column space

The column space is the set of outputs a matrix can reach. Use a three-bucket hedge example to distinguish coverage, rank, nonunique holdings and trading constraints.

The column space of a matrix is the set of every output that matrix can produce when multiplied by an unrestricted input vector. If the columns describe instrument exposures and the inputs are holdings, the column space answers a practical question: which exposure targets can this instrument set deliver?

For a real m×nm\times n matrix A=[a1 ⋯ an]A=[\mathbf a_1\ \cdots\ \mathbf a_n],

C(A)={Ax:x∈Rn}=span⁡{a1,…,an}⊆Rm.C(A)=\{A\mathbf x:\mathbf x\in\mathbb R^n\} =\operatorname{span}\{\mathbf a_1,\ldots,\mathbf a_n\} \subseteq\mathbb R^m.
Here span means all linear combinations of the columns. Each column has mm entries, so the column space lives in the output space Rm\mathbb R^m, even though there are nn columns. It is a subspace: it contains zero and is closed under addition and real scaling. Strang's Introduction to Linear Algebra, §3.1, develops this output-space interpretation.

Two packages cannot necessarily cover three rate buckets

A desk can adjust positions in two hypothetical hedge packages. Their signed local sensitivities to the 2-year, 5-year and 10-year yield-curve buckets are the columns of

A=(122400).A=\begin{pmatrix} 1&2\\ 2&4\\ 0&0 \end{pmatrix}.
Rows are rate buckets; columns are packages. Each entry is the change in package value, in USD per basis-point increase in that bucket's yield, per lot, at a fixed valuation point and under a specified curve-bump convention. Positive entries mean a gain when that yield rises. These are synthetic signed sensitivities, rather than observed bond prices or a claim about a standard DV01 sign convention.

Let x=(x1,x2)⊤\mathbf x=(x_1,x_2)^\top be real-valued lot holdings, with negative holdings representing shorts. The resulting sensitivity vector is

Ax=(x1+2x22x1+4x20)=(x1+2x2)(120).A\mathbf x =\begin{pmatrix}x_1+2x_2\\2x_1+4x_2\\0\end{pmatrix} =(x_1+2x_2)\begin{pmatrix}1\\2\\0\end{pmatrix}.

The second package supplies twice the first package's sensitivity profile. It changes how a target can be implemented, but adds no new output direction. Thus

C(A)={(s,2s,0)⊤:s∈R}.C(A)=\{(s,2s,0)^\top:s\in\mathbb R\}.
This is a line inside a three-dimensional output space. Its dimension is one, which is the rank of AA. Two available packages do not imply two independent directions of hedge coverage.

Consider a desired sensitivity change b=(3,6,0)⊤\mathbf b=(3,6,0)^\top, measured in USD per bp in the same bucket order. Both of these holdings achieve it:

Package 1 lotsPackage 2 lotsResulting sensitivity, USD per bp
30(3,6,0)(3,6,0)
11(3,6,0)(3,6,0)
Indeed, every x=(3−2t,t)⊤\mathbf x=(3-2t,t)^\top with t∈Rt\in\mathbb R gives this target. Moving between those holdings adds a multiple of (−2,1)⊤(-2,1)^\top, a null-space direction that changes positions while leaving the measured sensitivities unchanged.

By contrast, c=(0,0,1)⊤\mathbf c=(0,0,1)^\top is unreachable. The third component of AxA\mathbf x is always zero, so no position sizes can generate the requested 10-year sensitivity. Nor is zero third-bucket exposure sufficient for reachability: the first two components must also satisfy b2=2b1b_2=2b_1.

A synthetic three-by-two sensitivity matrix has columns (1, 2, 0) and (2, 4, 0), in USD per bp per package lot. Their column space is one line in three output coordinates. Target (3, 6, 0) is reached by lots (3, 0) or (1, 1); target (0, 0, 1) lies outside that line.
A synthetic three-by-two sensitivity matrix has columns (1, 2, 0) and (2, 4, 0), in USD per bp per package lot. Their column space is one line in three output coordinates. Target (3, 6, 0) is reached by lots (3, 0) or (1, 1); target (0, 0, 1) lies outside that line.
Original synthetic local-sensitivity example. The perspective drawing shows a line in three dimensions; its displayed segment continues in both directions. All output components use USD per bp.
These calculations concern local linear sensitivity matching. They do not establish exact payoff replication for large yield moves: curvature, changing sensitivities and unmodelled curve movements can leave residual P&L.

Reachability and uniqueness are separate questions

A system of linear equations Ax=bA\mathbf x=\mathbf b has a solution if and only if b∈C(A)\mathbf b\in C(A). That says whether a target is reachable. It does not say whether the holdings are unique.

For an m×nm\times n matrix of rank rr:

  • Every output target is reachable exactly when r=mr=m, so C(A)=RmC(A)=\mathbb R^m.
  • Each reachable target has unique holdings exactly when r=nr=n, so the null space contains only zero.

Our example has r=1<m=3r=1<m=3 and r=1<n=2r=1<n=2: some targets are impossible, while every reachable target has infinitely many unrestricted holdings.

The row space belongs to the input-coordinate space R2\mathbb R^2 here: it is generated by (1,2)(1,2). The column space belongs to R3\mathbb R^3: it is generated by (1,2,0)(1,2,0). They have equal dimension—rank one—but are different spaces with different jobs. A row computes one bucket's sensitivity from holdings; the columns determine which complete sensitivity profiles can be produced.
To find a column-space basis by elimination, locate the pivot columns and then take the corresponding original columns of AA. Row operations preserve rank but can change the column space itself. In this example the first original column alone is a basis.

A reachable target still needs an executable trade

Column-space membership allows arbitrary real coefficients. A desk may face lot-size rules, short-sale restrictions, position caps, funding limits and transaction costs. Those restrictions can remove holdings that the algebra permits. If allowed holdings form a set F\mathcal F, the practically admissible outputs are {Ax:x∈F}\{A\mathbf x:\mathbf x\in\mathcal F\}, generally only a subset of C(A)C(A).

Even the two portfolios in the table can have different purchase costs, liquidity and omitted risks. Rank supplies a statement about independent measured output directions; it supplies no price, financing plan or guarantee of a costless hedge. Adding another package enlarges the column space only if its column lies outside the existing space. A duplicate profile may still help execution, but cannot cure missing mathematical coverage.

For a longer treatment connecting holdings, attainable targets and null-space freedom, see Vectors, Matrices and Linear Systems. The public page provides a preview; the full lesson requires membership.

Sources

Last updated
  • linear algebra
  • exposure matching
  • rank
  • linear systems
  • hedging
← Back to the glossaryBack to top ↑