示例#1
0
        private void RequestSchedulerTimeout(object notUsed)
        {
            // time to post a portfolio valuation request
            TimeSpan retention = TimeSpan.FromDays(2);
            // publish portfolio specification
            List <PortfolioSubquery> portfolioSubqueries = new List <PortfolioSubquery>();

            portfolioSubqueries.Add(new PortfolioSubquery()
            {
                CounterpartyId = "13142"
            });                                                                            // Barclays
            portfolioSubqueries.Add(new PortfolioSubquery()
            {
                CounterpartyId = "14859"
            });                                                                            // Woolworths
            string portfolioId = Guid.NewGuid().ToString();
            var    portfolio   = new PortfolioSpecification
            {
                PortfolioId = portfolioId,
                OwnerId     = new UserIdentity()
                {
                    Name        = this.Client.ClientInfo.Name,
                    DisplayName = "Portfolio Valuation Server"
                },
                Description         = "Woolworths (14859) Scheduled",
                PortfolioSubqueries = portfolioSubqueries.ToArray()
            };

            this.Client.SaveObject <PortfolioSpecification>(portfolio, retention);

            // publish the portfolio valuation requests
            foreach (string marketName in new string[] { CurveConst.NAB_EOD })
            {
                Guid requestId = Guid.NewGuid();
                PortfolioValuationRequest request = new PortfolioValuationRequest()
                {
                    BaseDate    = DateTime.Today,
                    RequestId   = requestId.ToString(),
                    Retention   = retention.ToString(),
                    SubmitTime  = DateTimeOffset.Now.ToString("o"),
                    RequesterId = new UserIdentity()
                    {
                        Name        = this.Client.ClientInfo.Name,
                        DisplayName = "Portfolio Valuation Server"
                    },
                    PortfolioId       = portfolioId,
                    MarketDate        = null,
                    MarketName        = marketName,
                    ReportingCurrency = "AUD",
                    IsDetailedReport  = false,
                    IRScenarioNames   = ScenarioConst.AllIrScenarioIds,
                    FXScenarioNames   = ScenarioConst.AllFxScenarioIds
                };
                this.Client.SaveObject <PortfolioValuationRequest>(request, false, retention);
            }
        }
示例#2
0
        private RequestBase CreatePVRequest(string marketName, string counterPartyId, string counterPartyName, bool allIRStresses, bool allFXStresses)
        {
            // time to post a portfolio valuation request
            TimeSpan retention = TimeSpan.FromDays(1);
            // publish portfolio specifications
            List <PortfolioSubquery> portfolioSubqueries = new List <PortfolioSubquery>();

            portfolioSubqueries.Add(new PortfolioSubquery()
            {
                CounterpartyId = counterPartyId
            });
            string portfolioId = Guid.NewGuid().ToString();
            var    portfolio   = new PortfolioSpecification
            {
                PortfolioId = portfolioId,
                OwnerId     = new UserIdentity()
                {
                    Name = _ClientRef.Target.ClientInfo.Name, DisplayName = "Grid Test Harness"
                },
                Description         = String.Format("{1} ({0}) Test Request", counterPartyId, counterPartyName),
                PortfolioSubqueries = portfolioSubqueries.ToArray()
            };

            _ClientRef.Target.SaveObject <PortfolioSpecification>(portfolio, retention);

            // publish the portfolio valuation requests
            Guid requestId = Guid.NewGuid();
            PortfolioValuationRequest request = new PortfolioValuationRequest()
            {
                BaseDate           = DateTime.Today,
                RequestId          = requestId.ToString(),
                Retention          = retention.ToString(),
                SubmitTime         = DateTimeOffset.Now.ToString("o"),
                RequestDescription = String.Format("{0} [{1}]", portfolio.Description, marketName),
                RequesterId        = new UserIdentity()
                {
                    Name = _ClientRef.Target.ClientInfo.Name, DisplayName = "Grid Test Harness"
                },
                PortfolioId       = portfolioId,
                MarketDate        = null,
                MarketName        = marketName,
                ReportingCurrency = "AUD",
                IRScenarioNames   = allIRStresses ? ScenarioConst.AllIrScenarioIds : null,
                FXScenarioNames   = allFXStresses ? ScenarioConst.AllFxScenarioIds : null
            };

            _ClientRef.Target.SaveObject <PortfolioValuationRequest>(request);
            return(request);
        }
        /// <summary>
        /// Create a portfolio with the matching trades
        /// </summary>
        /// <param name="tradeItemNames"></param>
        private static string InitializePortfolio(string[] tradeItemNames)
        {
            // publish portfolio specification
            string portfolioId = Guid.NewGuid().ToString();
            var    portfolio   = new PortfolioSpecification
            {
                PortfolioId = portfolioId,
                OwnerId     = new UserIdentity
                {
                    Name        = Engine.Cache.ClientInfo.Name,
                    DisplayName = "Unit Test Agent"
                },
                Description            = "Unit Test",
                IncludedTradeItemNames = tradeItemNames
            };

            Engine.Cache.SaveObject(portfolio, Retention);
            return(portfolioId);
        }