def structured_calc(mocker, priceable: Priceable, measure: risk.RiskMeasure): set_session() values = { '$type': 'RiskVector', 'asset': [0.01, 0.015], 'points': [ {'type': 'IR', 'asset': 'USD', 'class_': 'Swap', 'point': '1y'}, {'type': 'IR', 'asset': 'USD', 'class_': 'Swap', 'point': '2y'} ] } mocker.return_value = [[[[values]]]] expected = risk.sort_risk(pd.DataFrame([ {'mkt_type': 'IR', 'mkt_asset': 'USD', 'mkt_class': 'Swap', 'mkt_point': '1y', 'value': 0.01}, {'mkt_type': 'IR', 'mkt_asset': 'USD', 'mkt_class': 'Swap', 'mkt_point': '2y', 'value': 0.015} ])) current = PricingContext.current result = priceable.calc(measure) assert result.raw_value.equals(expected) risk_requests = (risk.RiskRequest( positions=(RiskPosition(instrument=priceable, quantity=1),), measures=(measure,), pricing_and_market_data_as_of=(PricingDateAndMarketDataAsOf(pricing_date=current.pricing_date, market=current.market),), parameters=RiskRequestParameters(raw_results=True), wait_for_results=True),) mocker.assert_called_with(risk_requests)
def structured_calc(mocker, priceable: Priceable, measure: risk.RiskMeasure): set_session() values = [{ 'marketDataType': 'IR', 'assetId': 'USD', 'pointClass': 'Swap', 'point': '1y', 'value': 0.01 }, { 'marketDataType': 'IR', 'assetId': 'USD', 'pointClass': 'Swap', 'point': '2y', 'value': 0.015 }] mocker.return_value = [[values]] result = priceable.calc(measure) expected = risk.sort_risk(pd.DataFrame(values)) assert result.equals(expected) risk_request = risk.RiskRequest( positions=(risk.RiskPosition(priceable, 1), ), measures=(measure, ), pricing_location=PricingContext.current.market_data_location, pricing_and_market_data_as_of=PricingContext.current. _pricing_market_data_as_of, parameters=RiskRequestParameters(), wait_for_results=True) mocker.assert_called_with(risk_request)
def scalar_calc(mocker, priceable: Priceable, measure: risk.RiskMeasure): set_session() mocker.return_value = [[[{'value': 0.01}]]] result = priceable.calc(measure) assert result == 0.01 risk_request = risk.RiskRequest( positions=(risk.RiskPosition(priceable, 1),), measures=(measure,), pricingLocation=PricingContext.current.market_data_location, pricingAndMarketDataAsOf=PricingContext.current._pricing_market_data_as_of, waitForResults=True) mocker.assert_called_with(risk_request)
def scalar_calc(mocker, priceable: Priceable, measure: risk.RiskMeasure): set_session() mocker.return_value = [[[[{'$type': 'Risk', 'val': 0.01}]]]] current = PricingContext.current result = priceable.calc(measure) assert result == 0.01 risk_requests = (risk.RiskRequest( positions=(RiskPosition(instrument=priceable, quantity=1),), measures=(measure,), pricing_and_market_data_as_of=(PricingDateAndMarketDataAsOf(pricing_date=current.pricing_date, market=current.market),), parameters=RiskRequestParameters(raw_results=True), wait_for_results=True),) mocker.assert_called_with(risk_requests)
def scalar_calc(mocker, priceable: Priceable, measure: risk.RiskMeasure): set_session() mocker.return_value = [[[[{'$type': 'Risk', 'val': 0.01}]]]] result = priceable.calc(measure) assert result == 0.01 risk_requests = (risk.RiskRequest( positions=(risk.RiskPosition(priceable, 1), ), measures=(measure, ), pricing_location=PricingContext.current.market_data_location, pricing_and_market_data_as_of=PricingContext.current. _pricing_market_data_as_of, parameters=RiskRequestParameters(raw_results=True), wait_for_results=True), ) mocker.assert_called_with(risk_requests)
def calc(self, priceable: Priceable, risk_measure: RiskMeasure) -> PricingFuture: futures = [] for date in self.__date_range: with PricingContext(pricing_date=date, market=CloseMarket( location=self.market_data_location, date=close_market_date( self.market_data_location, date)), is_async=True, csa_term=self.csa_term, use_cache=self.use_cache, visible_to_gs=self.visible_to_gs): futures.append(priceable.calc(risk_measure)) return HistoricalPricingFuture(futures)