For a linear F.I bond/swaps portfolio, if you execute a new trade you have the following considerations for hedging:
- Existing/residual portfolio risks (i.e. those remaining unhedged from previous trades)
- Liquidity of current hedging instruments (i.e. the bid-offer prices available to hedge the required notional size)
- The covariance of hedging with different instruments
- Your view on the evolution of the market (i.e. if you can get a better price if you wait for the market to evolve, or if you join the offer or hit the bid)
If you ignore the last of these points and assume an immediate execution is required, which is sensible from the point of a multi-algorithm system (since one algorithm part of the system can deal with immediate execution, and another module could deal with physically transacting that execution, i.e. waiting or joining the offer), then you have 3 remaining issues.
If you ignore residual risks, which might not be very useful, you are left only with liquidity and covariance.
It is, in most cases, simply not possible to hedge customer trades one-for-one becuase the cost of hedging is more than the margin on the trade.
For example, suppose a customer sold you an 8y off the run bond at 0.3bps to mid. You can sell bond futures (at a cost of 0.05bps), sell 10y futures basis (at 0.05bps to mid) and then switch that 8y bond for the 10y bond (at 0.3bps to mid), thus locking in a loss of 0.1bps for a perfectly hedged set of transactions. Note that you had to transact 3 separate trades since the market operates in this manner: you have to trade the available trades, requesting non-standard trades usually costs more, e.g. requesting to sell 8y bonds in the market directly might cost 0.5bps.
So what would a market-maker generally do? Probably just trade futures. The next trade he might do with a customer is sell a 10y bond at 0.3bps to mid. He can hedge that by buying some futures (at 0.05 to mid), and now his bond basis position is eliminated (measured over the two trades). He has only to execute the 8y-10y spread trade, which if he does he will retain a 0.2bps profit, for a perfectly hedged set of transactions.
You will observe that my example required "rolling-over" residual risk from the first transaction to the second, so everything is always considered, contradicting the notion that residual risks can be ignored, and each transaction can be considered in isolation.