## Price Factors

A financial instrument derives its value from several inherently random market variables (e.g. Equity,
commodity, FX, interest rates, etc.). These variables (referred to as *price factors*) will either have
a single value at time (i.e. , e.g. Spot Equity or FX rates), or multiple values
parametrized by which represents term, moneyness etc. (e.g. interest rate curves and volatility
surfaces).

Interest rates have values representing discount factors parametrized by maturity . Equity/FX volatility price factors has values representing implied volatilities for expiry , spot price and strike . Valuing a deal at time involves requesting the set of corresponding price factor values for times , where (in the general case), and parameters . Note that if there is no path dependency then .

## Factor models

A *factor model* calculates future values of a price factor under monte carlo simulation. The factor
model attached to a price factor has a vector of random processes , which
generates the underlying (-factor) source of randomness. All generated random numbers are gaussian
and then transformed to simulate other (potentially correlated) stochastic processes as necessary.

Under a particular factor model, the corresponding price factor value at time may depend on other price factor values, . Typically, an FX rate at time would depend on the foreign and domestic interest rates at time .

## Simulation of price factors with no model

At , all price factors are read directly from their marketdata file. If no factor model is
attached and a value is requested at time , then the price factor at time is used (i.e. it
is assumed **Constant**). This can be extended for some risk factors to make it more **Risk Neutral**
but is not implemented yet.