def test_swap_rate(): replace = Replacer() mock_usd = Currency('MA890', 'USD') xrefs = replace('gs_quant.timeseries.measures.GsAssetApi.get_asset_xrefs', Mock()) xrefs.return_value = [ GsTemporalXRef(dt.date(2019, 1, 1), dt.date(2952, 12, 31), XRef(bbid='USD', )) ] identifiers = replace( 'gs_quant.timeseries.measures.GsAssetApi.map_identifiers', Mock()) identifiers.return_value = {'USD-3m': 'MA123'} replace('gs_quant.timeseries.measures.GsDataApi.get_market_data', mock_curr) actual = tm.swap_rate(mock_usd, '1y') assert_series_equal( pd.Series([1, 2, 3], index=_index * 3, name='swapRate'), actual) identifiers = replace( 'gs_quant.timeseries.measures.GsAssetApi.map_identifiers', Mock()) identifiers.return_value = {'USD OIS': 'MA123'} actual = tm.swap_rate(mock_usd, '1y', BenchmarkType.OIS) assert_series_equal( pd.Series([1, 2, 3], index=_index * 3, name='swapRate'), actual) mock_eur = Currency('MA890', 'EUR') xrefs = replace('gs_quant.timeseries.measures.GsAssetApi.get_asset_xrefs', Mock()) xrefs.return_value = [ GsTemporalXRef(dt.date(2019, 1, 1), dt.date(2952, 12, 31), XRef(bbid='EUR', )) ] identifiers = replace( 'gs_quant.timeseries.measures.GsAssetApi.map_identifiers', Mock()) identifiers.return_value = {'EUR-6m': 'MA123'} actual = tm.swap_rate(mock_eur, '1y') assert_series_equal( pd.Series([1, 2, 3], index=_index * 3, name='swapRate'), actual) mock_sek = Currency('MA890', 'SEK') xrefs = replace('gs_quant.timeseries.measures.GsAssetApi.get_asset_xrefs', Mock()) xrefs.return_value = [ GsTemporalXRef(dt.date(2019, 1, 1), dt.date(2952, 12, 31), XRef(bbid='SEK', )) ] identifiers = replace( 'gs_quant.timeseries.measures.GsAssetApi.map_identifiers', Mock()) identifiers.return_value = {'SEK-6m': 'MA123'} actual = tm.swap_rate(mock_sek, '1y') assert_series_equal( pd.Series([1, 2, 3], index=_index * 3, name='swapRate'), actual) with pytest.raises(NotImplementedError): tm.swap_rate(..., '1y', real_time=True) replace.restore()
def test_swaption_vol(): replace = Replacer() mock_usd = Currency('MA890', 'USD') xrefs = replace('gs_quant.timeseries.measures.GsAssetApi.get_asset_xrefs', Mock()) xrefs.return_value = [ GsTemporalXRef(dt.date(2019, 1, 1), dt.date(2952, 12, 31), XRef(bbid='USD', )) ] identifiers = replace( 'gs_quant.timeseries.measures.GsAssetApi.map_identifiers', Mock()) identifiers.return_value = {'USD-LIBOR-BBA': 'MA123'} replace('gs_quant.timeseries.measures.GsDataApi.get_market_data', mock_curr) actual = tm.swaption_vol(mock_usd, '3m', '1y', 0) assert_series_equal( pd.Series([1, 2, 3], index=_index * 3, name='swaptionVol'), actual) actual = tm.swaption_vol(mock_usd, '3m', '1y', 50) assert_series_equal( pd.Series([1, 2, 3], index=_index * 3, name='swaptionVol'), actual) actual = tm.swaption_vol(mock_usd, '3m', '1y', -50) assert_series_equal( pd.Series([1, 2, 3], index=_index * 3, name='swaptionVol'), actual) with pytest.raises(NotImplementedError): tm.swaption_vol(..., '3m', '1y', 50, real_time=True) replace.restore()
def test_zc_inflation_swap_rate(): replace = Replacer() mock_gbp = Currency('MA890', 'GBP') xrefs = replace('gs_quant.timeseries.measures.GsAssetApi.get_asset_xrefs', Mock()) xrefs.return_value = [GsTemporalXRef(dt.date(2019, 1, 1), dt.date(2952, 12, 31), XRef(bbid='GBP', ))] identifiers = replace('gs_quant.timeseries.measures.GsAssetApi.map_identifiers', Mock()) identifiers.return_value = {'CPI-UKRPI': 'MA123'} replace('gs_quant.timeseries.measures.GsDataApi.get_market_data', mock_curr) actual = tm.zc_inflation_swap_rate(mock_gbp, '1y') assert_series_equal(pd.Series([1, 2, 3], index=_index * 3, name='inflationSwapRate'), actual) with pytest.raises(NotImplementedError): tm.zc_inflation_swap_rate(..., '1y', real_time=True) replace.restore()