Example #1
0
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)
Example #2
0
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)
Example #3
0
def price(mocker, priceable: Priceable):
    set_session()
    mocker.return_value = [[[{'value': 0.01}]]]

    result = priceable.dollar_price()
    assert result == 0.01
    risk_request = risk.RiskRequest(
        positions=(risk.RiskPosition(priceable, 1),),
        measures=(risk.DollarPrice,),
        pricingLocation=PricingContext.current.market_data_location,
        pricingAndMarketDataAsOf=PricingContext.current._pricing_market_data_as_of,
        waitForResults=True)
    mocker.assert_called_with(risk_request)
Example #4
0
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,),
        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)
Example #5
0
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)
Example #6
0
def price(mocker, priceable: Priceable):
    set_session()
    mocker.return_value = [[[[{'$type': 'Risk', 'val': 0.01}]]]]

    result = priceable.dollar_price()
    assert result == 0.01
    risk_requests = (risk.RiskRequest(
        positions=(risk.RiskPosition(priceable, 1), ),
        measures=(risk.DollarPrice, ),
        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)