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 .
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.