The NecrophiliacHaters’ Guide to Building ArbitrageFree Models*
POSTED — October 5, 2013 — Miscellany
I am going to teach an introductory course in financial engineering, and I hate the way people who introduce the subject in continuous time struggle with martingales and changes of measure and formalism, and those who introduce it in discrete time and space struggle with Farkas Lemma / HahnBanach theorem/ Hyperplanes … in order to get to the engineering knowledge of how to build arbitragefree models.
I always return to this topic because all of this just seems to me too heavy a burden for an introduction, perhaps even for anyone, and also hides the essential insight.
So here, once again, is my somewhat sloppy take on it, based on how I've actually built models in the past.

The essential point. If you want to build an arbitragefree model you must not model individual contingent claims separately. You cannot have a separate model for stock, option1, option2, bond, etc. To avoid this, you must focus your model on cash flows. If you value all contingent cash flows with the same model, then, whatever your name your security  stock, option, bond  securities with the same cashflows will be treated similarly, and therefore have the same current prices, and hence avoid arbitrage. A model is a pricing machine: you put cashflows in the future in, today's price comes out. You must have one pricing machine for all securities!

Choose an underlyer or numeraire and write down any stochastic process you like for it, continuous or discrete, with any parameters you like. For example, in Merton's jump diffusion, you must specify drift, volatility, jump distribution, jump probability. The model is not hedgeable, not complete.

Call the expected drift of that process be Mu (for jump diffusion, for example, this is the net drift including Ito terms and jump terms and their effect on the drift).

Now value anything by expected discounted value/backward induction, using a discount factor R. (R could be time, and even statedependent if this is a yield curve model like BDT, but let me ignore that here and assume a single constant discount factor.) The value of a security will depend on the model paramaters, drifts etc.

Now impose consistency/calibration: If you want to value derivatives, you have to first make sure that you value all underlyers or numeraires consistent with their known current value, because valuing contingent claims is a relativevalue problem. Your (one) model for an option is wrong if it produces the wrong value for an underlyer.

There are two securities you must unambiguously value correctly.

The first is the underlyer. Let's say the underlyer is a stock. It's current value in the model will depend on the final values at expiration in the stochastic model, which grow by Mu and are discounted by R.
To get the current stock price correct, you must have Mu = R. 
The second is a zerocoupon riskless bond whose cash flows are not contingent at all and have the same payoff in all states. When you discount them using the same pricing machine, you must match the model price to the market price. This will require that
R = the riskless discount rate (at each maturity, actually).

The first is the underlyer. Let's say the underlyer is a stock. It's current value in the model will depend on the final values at expiration in the stochastic model, which grow by Mu and are discounted by R.

Therefore, you must adjust the parameters in the stochastic process so that Mu = R = riskless rate then the model will be arbitragefree.
If, furthermore, the number of states matches the number of securities, then the model is complete and you can hedge exactly. But that's not necessary.
QED
___________________________________________________
*Necrophiliachaters because necrophiliacs love rigor.