Lundi 20 avril 2009 1 20 /04 /2009 00:40
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)
Par Gilles De Truchis - Publié dans : Programmation AS3
Ecrire un commentaire - Voir les commentaires - Recommander
Retour à l'accueil

Un problème d'affichage...?

Certaines pages de ce site contiennent des animations Flash qui nécessitent la dernière version du flash player.

haut de page

Présentation

Recherche

Music Player

Calendrier

Mars 2010
L M M J V S D
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
<< < > >>
 
Créer un blog sur over-blog.com - Contact - C.G.U. - Signaler un abus