This is a specification of a toy balance sheet simulation model, an LP/NLP optimization problem formulation, and a numerically optimized execution for the constrained maximization of the Net Interest Margin/ Net Interest Income (NIM/NII) over a given holding period using Federal Reserve historical data. Depending on the available computational resources and the availability of clean up-to-date accrual portfolio contract details, the NIM optimization can be run at the Firm or the entire market level. The novel idea investigated here is contract-by-contract quantitative modeling of an entire accrual portfolio used as a basis for a Firm or market wide numerical optimization of the NIM/NII function. The NIM/NII are optimized relative to the current market expectations and explicit forecasts. Clean CCAR portfolio data and “free” floating point arithmetic execution on commodity processors make this computation feasible in 2015.

An asset or a liability in a Firm’s accrual portfolio (or an aggregation/pool of a specific type of assets/liabilities) is represented by a 6-tuple:

ALM position = (time start, time end, cost(t), amount(t), runoff(t), default(t)),

where, assuming time start < time end is in the future, we define:

- Expected discrete holding period (time start, time end) or (ts, te);
- Expected holding cost function,
**cost(t) (or c(t)),**is an amount in USD to be paid or received on (apportioned to) each business day in order to maintain the contractual position over the holding period ts < t < te. The cost may include fees and realized losses as well as scheduled contractual cashflows; - Expected USD contractual notional amount is represented by the asset/liability function,
**amount(t) (or a(t))**, over the holding period ts < t < te. The initial amount, a(ts), may change at time a(t) where t > ts due to contractual accretion or amortization cashflows, intra-period new business activity, or default loss realization; - Expected daily retained accreted or amortized amount in USD is represented by the function,
**runoff(t) (or r(t))**, for the holding period ts < t < te. r(t) tracks the daily expected change in amount due to contractual accretion and/or amortization (excluding new business, trading, or default realization); and - Expected daily realized loss in USD is represented by the function
**default(t) (or d(t))**, for the holding period ts < t < te.

If t is in the past then we replace the Expected functions above with the Actual (or realized) function equivalents. The holding cost at time t or the realized default loss at time t are examples of the actual function equivalents. **The cost function, c(t),** allows the calculation of the excess capital available to be allocated, or the capital short fall, in multi-period balance sheet simulations. That cost is the sum of several components including: the expected credit loss on default, the contractual payment rate on the current face amount, and various contractual fees. The holding cost primarily determines the daily change in the balance sheet and the daily return on the balance sheet. The daily quantities can be aggregated to holding period balances and returns. All the remaining functions allow simply for attribution of the cost cashflows and the returns. **The default function, d(t),** allows the attribution of the collateral recovery and recognized loss during the holding period to be distinguished from cost changes or amortizing paydowns. In mortgage backed security terms, we are concerned mainly with the Constant Default Rate (CDR or probability of default) and the Loss Severity (LS or recovery rate in default). More detailed default modeling issues like Lockout Before Loss or loss Recovery Periods are deferred to higher fidelity models than this toy model. It seems important for the fidelity of the toy model under optimization to include some explicit notion of breakeven for the credit exposure so that the optimal NIM/NII does not simply converge on the largest coupon loans funded by the least costly deposits. For example, Ruszczynski [*Nonlinear Optimization*] does this with Portfolio Optimization by retaining a portfolio return variance term in the problem formulation that forces the optimization to become quadratic. In this toy model we are going to instead rely on a no-arbitrage Credit model for the loans to enforce the non-triviality of the optimizer convergence. **The runoff function, r(t),** allows profit and loss attribution through the holding period for contracts/securities/pools in the accrual portfolio. So the runoff function allows one to determine how much of the current notional amount is due to contractual notional paydown schedules or position accretion versus new investment or liquidation. This should be useful in the case of contract pools with a variety of maturities and prepayment options. **The amount function, a(t),** establishes the base-line nominal amount at the inception of the contract/security/pool and then altered in the accrual portfolio during the holding period by trading activity, new business, or for existing accruing or amortizing positions rolled from the previous holding period in the simulation.

The ratio of the holding period cost, c(t), and the amount, a(t), determines the return for the balance.

return(t) = c(t)/a(t)

where

c(t) = r(t) + d(t) + other terms

the other terms could be brokerage fees, allocated charges, or Financial Control adjustments. For now let’s label the 6-tuple with the designation of Asset or Liability. So we designate a simple accrual portfolio as:

{Asset(ts, te, c(t), a(t), r(t), d(t)) , Liability(ts, te, c(t), a(t), r(t), d(t))}

or

{Credit Cards(ts, te, c(t), a(t), r(t), d(t)) , Deposits(ts, te, c(t), a(t), r(t), d(t))}.

In most circumstances you could use the sign of the holding period cost to determine if a position was a liability, but now you have seen recently negative interest rates in EUR deposits, so perhaps being a little more explicit in notation is good. The balance model outputs are recorded in a(t). The return model outputs are recorded by computing c(t)/a(t).

The idea is that the notational framework (developed throughout this paper) is sufficient to display the balance and return model outputs for the individual contracts in the accrual portfolio, as well as pools of similar contracts. The Balance and Return models are the key quantitative parameters representing the contract’s contribution to the balance sheet over time. This is sort of interesting in that we are less interested in the valuation model for the contract mark-to-market than the model for the current face amount of the contract and a return model for the coupon accrual, fee payment, and principal prepayment. So in mortgage backed security terms, we are more interested in the prepayment model than the full valuation model. Non-callable US Treasury bonds, for example, do not amortize or accrete and thus have very simple balance models with known contractual maturity dates,

a(t) = par bet. settlement and maturity, 0 otherwise

and ignoring brokerage fees for the moment,

c(t) = accrued coupon.

Callable municipal bonds, most all deposit accounts, credit cards, mortgages, and commercial loans typically have more complex balance models because the contract accounts accrete and amortize. Additionally, some contracts have no predefined maturity date making balance modeling harder to maintain accuracy over a simulation horizon. The notation is sufficiently precise that we can write code matching a specification presented in the notation. The notation allows us to then specify: the Treasury function of matching assets and liabilities, tracking the runoff cashflows from the accrual portfolio; entering new investments with (or due to) the accrual portfolio runoff; model the full balance sheet to a selected simulation horizon; calculate the NIM/NII in a variety of market scenarios; and finally run a numerical optimization LP/NLP to find the maximum NIM/NII over the holding period.

This paper is organized as follows. The Introduction defines the toy model and the notation for the Accrual portfolio securities. The One Period NIM section shows how compulsory capital allocation operations are simulated. The Multi-Period NIM Section defines the toy model discretionary capital allocation operations and demonstrates how they are simulated. The idea is that the size of NIM/NII is driven by the implementation of the discretionary capital allocation plan and the market movement. The Expected Multi-Period NIM section shows how to introduce a stochastic market model to generate Monte Carlo paths to compute the expected NIM. For the purpose of simplicity we will restrict ourselves to historical US Federal Reserve data in this presentation. The Net Interest Margin Optimization Problem Formulation shows how to formulate a Net Interest Margin optimization problem using the Expected Multi-Period NIM machinery. The summary section concludes the toy model presentation, analyses the trade off between LP and NLP formulations, and outlines the next steps in NIMo research and development.