Gilles De Truchis

Voici une classe qui permet de calculer la prime (spread) d'un CDS mono-support sur obligation et une application flash de pricing des CDS en question. La méthode utilisée est celle du démantèlement, présentée précédemment.

 

package fx.bidesign.maths
{
    import fx.bidesign.maths.Factorial;
    
    public class CDS
    {

        public function CDS()
        {

        }
        public static function evaluate( n:Number, s:Number, a:Number, r:Array, rc:Array ):Array
        {
            var phi:Array = [];
            var spreads:Array = [];
            var gamma:Array = [];
           
            var leg1:Number = 0;
            var leg2:Number = 0;
           
            var value:Number = 0;
           
            a = a / 100;
            s = s / 100;
           
            for( var i:int = 0; i < r.length; i++ )
            {
                r[i] = Number( r[i] ) / 100;
                rc[i] = Number( rc[i] ) / 100;
               
                spreads.push( rc[i] - r[i] );
               
                phi.push( (i+1) * 1 / ( 1 - a ) * spreads[i] );
               
                gamma.push( 1 - phi[i] );
               
                if( i == 0 ) leg1 += 1 / Math.pow( 1 + r[i], i+1 ) * phi[i];
                else leg1 += 1 / Math.pow( 1 + r[i], i+1 ) * ( gamma[i-1] - gamma[i] );
               
                leg2 += 1 / Math.pow( 1 + r[i], i+1 ) * gamma[i];
            }
           
            leg1 *= ( 1 - a ) * n;
            leg2 *= s * n;
           
            value = leg1 - leg2;
           
            return [value, leg1, leg2, phi, spreads];
        }
    }
}



Télécharger les sources (.rar)

Lun 20 avr 2009 1 commentaire
Bonjour Gilles,

Je souhaiterais savoir si vous avez également effectué la programmation du pricing CDS ainsi que des probabilités de survie Risque neutre à partir des spreads cds observés? Auriez vous cette programmation sous VBA à tout hasard?

Très cordialement,

Benjamin
Benjamin - le 15/12/2011 à 11h39

Hélas je n'ai pas poussé l'application jusque là. Mais il me semble avoir vu passer il y a quelque temps ce genre de programme en VBA sur le net.

Bon courage pour votre recherche.

Gilles De Truchis