Exemplo n.º 1
0
 private static double[] RealDeltaSingleMonde(
     double maturity,
     double[] currents,      //on le veut (l'actif) dans la monnaie etrangère,sa monnaie de base quoi ici.Tableau de taille 1.
     double[] volatilities,  //les vol dans un ordre suivant: actif puis taux de change de 1euro en dollars
     double[] interestRates, //les taux d'interets domestiques et etrangers dans cet ordre!
     double[] correlations,
     double date)
 {
     double[] deltas = new double[2];
     deltas[0] = 100 / currents[0] * (TestsQuanto.RealDeltaQuanto0(maturity, 0.85 * currents[0], new double[1] {
         currents[0]
     }, volatilities, interestRates, correlations, new double[1] {
         currents[1]
     }, date)[0]
                                      - TestsQuanto.RealDeltaQuanto0(maturity, 1.15 * currents[0], new double[1] {
         currents[0]
     }, volatilities, interestRates, correlations, new double[1] {
         currents[1]
     }, date)[0]);
     deltas[1] = 100 / currents[0] * (TestsQuanto.RealDeltaQuanto0(maturity, 0.85 * currents[0], new double[1] {
         currents[0]
     }, volatilities, interestRates, correlations, new double[1] {
         currents[1]
     }, date)[1]
                                      - TestsQuanto.RealDeltaQuanto0(maturity, 1.15 * currents[0], new double[1] {
         currents[0]
     }, volatilities, interestRates, correlations, new double[1] {
         currents[1]
     }, date)[1]);
     return(deltas);
 }
Exemplo n.º 2
0
 private static double RealPriceSingleMonde(
     double maturity,
     double[] currents,      //on le veut (l'actif) dans la monnaie etrangère,sa monnaie de base quoi ici.Tableau de taille 1.
     double[] volatilities,  //les vol dans un ordre suivant: actif puis taux de change de 1euro en dollars
     double[] interestRates, //les taux d'interets domestiques et etrangers dans cet ordre!
     double[] correlations,
     double date)
 {
     return(85 * Math.Exp(-interestRates[0] * (maturity - date))
            + 100 / currents[0] * TestsQuanto.RealPriceCallQuanto(maturity, 0.85 * currents[0], currents, volatilities, interestRates, correlations, date)
            - 100 / currents[0] * TestsQuanto.RealPriceCallQuanto(maturity, 1.15 * currents[0], currents, volatilities, interestRates, correlations, date));
 }