We consider a model where each company's asset value follows a jump-diffusion process, and is connected with other companies via global factors. Motivated by ideas in Bush et al. (2011), where the joint density of asset values is evolved in a large basket approximation, we develop an algorithm for the efficient estimation of CDO index and tranche spreads consistent with underlying CDSs, through a finite difference simulation of the resulting SPDE. We verify the validity of this approximation numerically by comparison to results obtained by direct Monte Carlo simulation of the basket constituents. A calibration exercise assesses the flexibility of the model and its extensions to match CDO spreads from pre-crisis and crisis periods.