Ejemplo n.º 1
0
        /// <summary>
        /// Pricings the structure ids by market.
        /// </summary>
        /// <param name="marketEnvironmentId">The market environment id.</param>
        /// <returns></returns>
        public static IList <string> PricingStructureIdsByMarket(string marketEnvironmentId)
        {
            MarketEnvironment marketEnvironment = Get(marketEnvironmentId);
            var items = marketEnvironment != null ? marketEnvironment.PricingStructureIds : new List <string>();

            return(items);
        }
        ///<summary>
        /// Creates a market environment for use in calculations.
        ///</summary>
        ///<param name="marketName">The name of the market environment.</param>
        ///<param name="curve">The curve.</param>
        ///<returns></returns>
        public static IMarketEnvironment Create(string marketName, IPricingStructure curve)
        {
            var environment = new MarketEnvironment(marketName);
            var name        = (PricingStructureIdentifier)curve.GetPricingStructureId();

            environment.AddPricingStructure(name.UniqueIdentifier, curve);
            return(environment);
        }
Ejemplo n.º 3
0
        static public IMarketEnvironment CreateSimpleInflationCurve(string curveName, DateTime baseDate, Double[] times, Double[] dfs)
        {
            var market       = new MarketEnvironment();
            var interpMethod = InterpolationMethodHelper.Parse("LinearInterpolation");
            var curve        = new SimpleDiscountFactorCurve(baseDate, interpMethod, true, times, dfs);

            market.AddPricingStructure(curveName, curve);
            return(market);
        }
        ///<summary>
        /// Creates a market environment for use in calculations.
        ///</summary>
        ///<param name="marketName">The name of the market environment.</param>
        ///<param name="curve">The curve.</param>
        ///<returns></returns>
        public static IMarketEnvironment Create(string marketName, List <IPricingStructure> curve)
        {
            var environment = new MarketEnvironment(marketName);

            foreach (var structure in curve)
            {
                var name = (PricingStructureIdentifier)structure.GetPricingStructureId();
                environment.AddPricingStructure(name.UniqueIdentifier, structure);
            }
            return(environment);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Gets the specified id.
        /// </summary>
        /// <param name="id">The id.</param>
        /// <returns></returns>
        public static MarketEnvironment Get(string id)
        {
            MarketEnvironment marketEnvironment = null;

            if (_marketEnvironments.ContainsKey(id))
            {
                marketEnvironment = (MarketEnvironment)_marketEnvironments[id];
            }

            return(marketEnvironment);
        }
Ejemplo n.º 6
0
        static public IMarketEnvironment CreateDFandVolCurves(string curveName, string volcurveName, DateTime baseDate, Double[] times, Double[] dfs, Double[] voltimes, Double[] volstrikes, Double[,] vols)
        {
            var market       = new MarketEnvironment();
            var interpMethod = InterpolationMethodHelper.Parse("LinearInterpolation");
            var curve        = new SimpleDiscountFactorCurve(baseDate, interpMethod, true, times, dfs);
            var volcurve     = new SimpleVolatilitySurface(baseDate, interpMethod, true, voltimes, volstrikes, vols);

            market.AddPricingStructure(curveName, curve);
            market.AddPricingStructure(volcurveName, volcurve);
            return(market);
        }
        /// <summary>
        /// Creates a market environment.
        /// </summary>
        /// <param name="market"></param>
        /// <returns></returns>
        public static IMarketEnvironment CreateMarketEnvironment(string market)
        {
            var marketEnvironment = new MarketEnvironment(market);

            return(marketEnvironment);
        }