public void SecurityPricingSimpleContructionTest()
        {
            Debt s;
            SecuritiesPricing price;

            try
            {
                using (var db = new FGABusinessComponent.BusinessComponent.FGAContext("TEST", compiledModel))
                {
                    s = new Debt(ISIN: "PR0000000001", FinancialInstrumentName: "Pricing Security 1", MaturityDate: new DateTime(2013, 1, 1), interestCoupon: new InterestCalculation(new PercentageRate(2.365), new FrequencyCode(1)));
                    db.Debts.Add(s);
                    CurrencyAndAmount p = new CurrencyAndAmount(1.25, (CurrencyCode)"EUR");
                    price = new SecuritiesPricing(p, DateTime.Parse("31/07/2012"), (TypeOfPriceCode)"MARKET");
                    price.Set(s);
                    db.SecuritiesPricings.Add(price);

                    db.SaveChanges();
                }
            }
            catch (Exception e)
            {
                System.Console.WriteLine(e);
                throw e;
            }
        }
Beispiel #2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="date"></param>
 /// <param name="Holder"></param>
 /// <param name="HolderISIN"></param>
 /// <param name="HoldAsset"></param>
 /// <param name="Quantity"></param>
 /// <param name="MarketValue"></param>
 /// <param name="BookValue"></param>
 /// <param name="FaceAmount"></param>
 public AssetHolding(DateTime Date, string ISIN, Asset HoldAsset,
                     Composite Holder = null,
                     float?Quantity   = null,
                     CurrencyAndAmount MarketValue = null,
                     CurrencyAndAmount BookValue   = null,
                     CurrencyAndAmount FaceAmount  = null,
                     PercentageRate Weight         = null)
     : base(ISIN, Date)
 {
     // le code ISIN est celui du conteneur (portfolio , index)
     if (Holder != null)
     {
         this.Parent = Holder;
     }
     // lien sur l actif detenu
     this.Asset = HoldAsset;
     if (ISIN == null)
     {
         this.ISINId = HoldAsset.ISINId;
     }
     this.Quantity    = Quantity;
     this.FaceAmount  = FaceAmount ?? new CurrencyAndAmount();
     this.BookValue   = BookValue ?? new CurrencyAndAmount();
     this.MarketValue = MarketValue ?? new CurrencyAndAmount();
     this.Weight      = Weight ?? new PercentageRate();
 }
 public PortfolioValuation(DateTime Date, float?NbParts            = null,
                           Composite Valuated                      = null, CurrencyAndAmount MarketValue = null,
                           CurrencyAndAmount BookValue             = null, CurrencyAndAmount FaceAmount  = null, Yield Yield = null,
                           DebtDataCalculation DebtDataCalculation = null,
                           DebtYield DebtYield                     = null, DebtSpread DebtSpread = null)
     : base(Date, Valuated, MarketValue, BookValue, FaceAmount, Yield, DebtDataCalculation, DebtYield, DebtSpread)
 {
     this.NumberOfParts = NbParts;
 }
 public IndexValuation(DateTime Date, double?IndexPriceValue = null, double?IndexGrossValue          = null, double?IndexNetValue = null, DateTime?BaseDate = null, double?BaseValue = null,
                       Composite Valuated                      = null, CurrencyAndAmount MarketValue = null,
                       CurrencyAndAmount BookValue             = null, CurrencyAndAmount FaceAmount  = null, Yield Yield = null,
                       DebtDataCalculation DebtDataCalculation = null,
                       DebtYield DebtYield                     = null, DebtSpread DebtSpread = null)
     : base(Date, Valuated, MarketValue, BookValue, FaceAmount, Yield, DebtDataCalculation, DebtYield, DebtSpread)
 {
     this.IndexPriceValue = IndexPriceValue;
     this.IndexGrossValue = IndexGrossValue;
     this.IndexNetValue   = IndexNetValue;
     this.IndexBaseDate   = BaseDate;
     this.IndexBaseValue  = BaseValue;
 }
Beispiel #5
0
 public Capital(DateTime?Date = null, double?Unit = null, CurrencyAndAmount Amount = null, CapitalTypeCode Type = null)
 {
     this.Date   = Date;
     this.Unit   = Unit;
     this.Amount = Amount;
     if (Type == null)
     {
         this.Type = CapitalTypeCode.OUTSTANDING;
     }
     else
     {
         this.Type = Type;
     }
 }
        public SecuritiesPricing(CurrencyAndAmount Price, DateTime Date, TypeOfPriceCode PriceType)
        {
            this.Price                = Price;
            this.PriceType            = PriceType ?? (TypeOfPriceCode)"MARKET";
            this.Date                 = Date;
            this.DebtPriceCalculation = new DebtPriceCalculation();
            this.DebtDataCalculation  = new DebtDataCalculation();

            this.PriceFactType = new PriceFactType();

            this.Yield      = new Yield();
            this.DebtSpread = new DebtSpread();
            this.DebtYield  = new DebtYield();
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="ISINHolder"></param>
 /// <param name="HoldAsset"></param>
 /// <param name="Quantity"></param>
 /// <param name="MarketValue"></param>
 /// <param name="BookValue"></param>
 /// <param name="FaceAmount"></param>
 internal Valuation(DateTime Date, Composite Valuated = null, CurrencyAndAmount MarketValue = null,
                    CurrencyAndAmount BookValue       = null, CurrencyAndAmount FaceAmount  = null,
                    Yield Yield = null,
                    DebtDataCalculation DebtDataCalculation = null,
                    DebtYield DebtYield = null, DebtSpread DebtSpread = null)
 {
     if (Valuated != null)
     {
         Valuated.Add(this);
         this.Valuated = Valuated;
     }
     this.Date                = Date;
     this.FaceAmount          = FaceAmount ?? new CurrencyAndAmount();
     this.BookValue           = BookValue ?? new CurrencyAndAmount();
     this.MarketValue         = MarketValue ?? new CurrencyAndAmount();
     this.Yield               = Yield ?? new Yield();
     this.DebtYield           = DebtYield ?? new DebtYield();
     this.DebtSpread          = DebtSpread ?? new DebtSpread();
     this.DebtDataCalculation = DebtDataCalculation ?? new DebtDataCalculation();
 }
        public SecuritiesPricing(CurrencyAndAmount Price, DateTime Date, TypeOfPriceCode PriceType,
                                 double?AskPrice             = null, double?BidPrice = null, double?MidPrice = null,
                                 PriceFactType PriceFactType = null, Yield Yield     = null,
                                 DebtPriceCalculation DebtPriceCalculation = null,
                                 DebtDataCalculation DebtDataCalculation   = null, DebtYield DebtYield = null, DebtSpread DebtSpread = null)
        {
            this.Price     = Price;
            this.PriceType = PriceType ?? (TypeOfPriceCode)"MARKET";
            this.Date      = Date;
            this.AskPrice  = AskPrice;
            this.BidPrice  = BidPrice;
            this.MidPrice  = MidPrice;

            this.PriceFactType = PriceFactType ?? new PriceFactType();
            this.Yield         = Yield ?? new Yield();

            this.DebtPriceCalculation = DebtPriceCalculation ?? new DebtPriceCalculation();
            this.DebtDataCalculation  = DebtDataCalculation ?? new DebtDataCalculation();

            this.DebtSpread = DebtSpread ?? new DebtSpread();
            this.DebtYield  = DebtYield ?? new DebtYield();
        }
        public void SecurityPricingCompleteContructionTest()
        {
            Debt s;
            SecuritiesPricing price;

            try
            {
                using (var db = new FGABusinessComponent.BusinessComponent.FGAContext("PREPROD", compiledModel))
                {
                    s = new Debt(ISIN: "PR0000000002", FinancialInstrumentName: "Pricing Security 2", MaturityDate: new DateTime(2013, 1, 1), interestCoupon: new InterestCalculation(new PercentageRate(2.365), new FrequencyCode(1)));
                    db.Debts.Add(s);
                    CurrencyAndAmount    p                    = new CurrencyAndAmount(1.25, (CurrencyCode)"EUR");
                    Yield                yield                = new Yield(ChangePrice_MTD: 2.1);
                    PriceFactType        priceFact            = new PriceFactType(101.2, 100.1, 100.1, 100.3, 100.4, 100.6);
                    DebtYield            dy                   = new DebtYield(YieldToMaturityRate: 6.2, YieldToWorstRate: 3.5);
                    DebtSpread           ds                   = new DebtSpread(OptionAdjustedSpread: 3.32);
                    DebtPriceCalculation debtPriceCalculation = new DebtPriceCalculation(CleanPrice: 100.1,
                                                                                         AccruedInterest: 2.36);

                    DebtDataCalculation debtDataCalculation = new DebtDataCalculation(MacaulayDuration: 9.5,
                                                                                      ModifiedDuration: 9.6,
                                                                                      TimeToMaturity: 9.3);

                    price = new SecuritiesPricing(p, DateTime.Parse("31/07/2012"), (TypeOfPriceCode)"MARKET",
                                                  100.3, 100.4, 100.35, priceFact, yield, debtPriceCalculation, debtDataCalculation, dy, ds);
                    price.Set(s);
                    db.SecuritiesPricings.Add(price);

                    db.SaveChanges();
                }
            }
            catch (Exception e)
            {
                System.Console.WriteLine(e);
                throw e;
            }
        }