Exemplo n.º 1
0
        public RebalancementModel Jour0(DataFeed feedJour0, int periodeRebalancement)
        {
            RebalancementModel couverture = new RebalancementModel(option, dateDebut, (double)feedJour0.PriceList["1"], dataFeedProvider.NumberOfDaysPerYear, periodeRebalancement);

            couverture.NbActifSsJacents   = couverture.NbActifSsJacents;
            couverture.ValeurPortefeuille = couverture.prixOption();
            couverture.Liquidite          = couverture.Liquidite;

            return(couverture);
        }
 public RebalancementModel(IOption option, DateTime date, double spotPrice, int nbJourParAn, int periodeRebalancement, RebalancementModel ancienJour)
 {
     this.option               = option;
     this.date                 = date;
     this.spotPrice            = spotPrice;
     this.nbJourParAn          = nbJourParAn;
     this.periodeRebalancement = periodeRebalancement;
     this.ancienJour           = ancienJour;
     nbActifSsJacents          = NbActifSsJacents;
     valeurPortefeuille        = ValeurPortefeuille;
     liquidite                 = Liquidite;
 }
Exemplo n.º 3
0
        public List <RebalancementModel> GetRebalancement()
        {
            List <RebalancementModel> couvertures = new List <RebalancementModel>();
            var priceList                     = dataFeedProvider.GetDataFeed(option, dateDebut);
            int periodeRebalancement          = 1;
            RebalancementModel couverture     = Jour0(priceList[0], periodeRebalancement);
            double             optionInitiale = couverture.prixOption();

            couvertures.Add(couverture);

            for (var i = 1; i < priceList.Count; i += periodeRebalancement)
            {
                var                element       = priceList[i];
                decimal            spotPrice     = element.PriceList["1"];
                RebalancementModel NewCouverture = new RebalancementModel(option, element.Date, (double)spotPrice,
                                                                          dataFeedProvider.NumberOfDaysPerYear, periodeRebalancement, couverture);
                couverture = NewCouverture;

                couvertures.Add(NewCouverture);
            }

            return(couvertures);
        }