def test_cross_to_fxfwd_xcswp_asset(mocker): replace = Replacer() mocker.patch.object(GsSession.__class__, 'current', return_value=GsSession.get(Environment.DEV, 'client_id', 'secret')) mocker.patch.object(GsSession.current, '_get', side_effect=mock_request) mocker.patch.object(SecurityMaster, 'get_asset', side_effect=mock_request) bbid_mock = replace('gs_quant.timeseries.measures.Asset.get_identifier', Mock()) correct_mapping = { 'EURUSD': { "id": 'MA1VJC1E3SZW8E4S', "crossID": "MAA9MVX15AJNQCVG" }, 'GBPUSD': { "id": 'MA3JTR4HSC63H4V6', "crossID": "MA58R87SPRMKKE7Z" }, 'AUDUSD': { "id": 'MAD4VBRWYXFSY1N4', "crossID": "MAJTN2XJVF97SYJK" }, 'NZDUSD': { "id": 'MA1YHQMZVTM3VBWT', "crossID": "MANQ8REB1VJ4JFTR" }, 'USDSEK': { "id": 'MA2APZREBGDMME83', "crossID": "MA4ZD5CZGC3Y6JZD" }, 'USDNOK': { "id": 'MA0K3W6FKH6K1KJE', "crossID": "MAZ0P16RPG5P0MVF" }, 'USDDKK': { "id": 'MA328HZB86DYSWSJ', "crossID": "MABCHYGJ1TCBCQE4" }, 'USDCAD': { "id": 'MAT8JNEE2GN5NES6', "crossID": "MAP8G81B2KHTYR07" }, 'USDCHF': { "id": 'MABNGGTNB9A0TKCG', "crossID": "MAMPQHNP1A26RS1C" }, 'USDJPY': { "id": 'MAMZ9YG8AF3HQ18C', "crossID": "MAYJPCVVF2RWXCES" }, } with tm.PricingContext(dt.date.today()): for cross in correct_mapping: asset = Cross(correct_mapping[cross]["crossID"], cross) bbid_mock.return_value = cross correct_id = tm_rates._cross_to_fxfwd_xcswp_asset(asset) assert correct_mapping[cross]["id"] == correct_id replace.restore()
def test_cross_to_usd_based_cross_for_fx_forecast(mocker): mocker.patch.object(GsSession.__class__, 'current', return_value=GsSession.get(Environment.QA, 'client_id', 'secret')) mocker.patch.object(GsSession.current, '_get', side_effect=mock_request) mocker.patch.object(GsSession.current, '_post', side_effect=mock_request) asset_id_list = ["MAYJPCVVF2RWXCES", "MATGYV0J9MPX534Z"] correct_mapping = ["MATGYV0J9MPX534Z", "MATGYV0J9MPX534Z"] with tm.PricingContext(dt.date.today()): for i in range(len(asset_id_list)): correct_id = tm.cross_to_usd_based_cross(asset_id_list[i]) assert correct_id == correct_mapping[i]
def test_cross_to_basis(mocker): mocker.patch.object(GsSession.__class__, 'current', return_value=GsSession.get(Environment.QA, 'client_id', 'secret')) mocker.patch.object(GsSession.current, '_get', side_effect=mock_request) mocker.patch.object(GsAssetApi, 'map_identifiers', side_effect=map_identifiers_cross_basis_mocker) asset_id_list = ["MAYJPCVVF2RWXCES", "MA4B66MW5E27U8P32SB", "nobbid"] correct_mapping = ["MA99N6C1KF9078NM", "MA4B66MW5E27U8P32SB", "nobbid"] with tm.PricingContext(dt.date.today()): for i in range(len(asset_id_list)): correct_id = tm.cross_to_basis(asset_id_list[i]) assert correct_id == correct_mapping[i]
def test_currency_to_inflation_benchmark_rate(mocker): mocker.patch.object(GsSession.__class__, 'current', return_value=GsSession.get(Environment.QA, 'client_id', 'secret')) mocker.patch.object(GsSession.current, '_get', side_effect=mock_request) mocker.patch.object(GsAssetApi, 'map_identifiers', side_effect=map_identifiers_inflation_mocker) asset_id_list = ["MA66CZBQJST05XKG", "MAK1FHKH5P5GJSHH", "MA4J1YB8XZP2BPT8"] correct_mapping = ["MAQ7ND0MBP2AVVQW", "MAK1FHKH5P5GJSHH", "MA4J1YB8XZP2BPT8"] with tm.PricingContext(dt.date.today()): for i in range(len(asset_id_list)): correct_id = tm.currency_to_inflation_benchmark_rate(asset_id_list[i]) assert correct_id == correct_mapping[i]
def test_currency_to_default_benchmark_rate(mocker): mocker.patch.object(GsSession.__class__, 'current', return_value=GsSession.get(Environment.QA, 'client_id', 'secret')) mocker.patch.object(GsSession.current, '_get', side_effect=mock_request) mocker.patch.object(GsAssetApi, 'map_identifiers', side_effect=map_identifiers_default_mocker) asset_id_list = ["MAZ7RWC904JYHYPS", "MAJNQPFGN1EBDHAE", "MA66CZBQJST05XKG", "MAK1FHKH5P5GJSHH", "MA4J1YB8XZP2BPT8", "MA4B66MW5E27U8P32SB"] correct_mapping = ["MAPDB7QNB2TZVQ0E", "MAJNQPFGN1EBDHAE", "MAFYB8Z4R1377A19", "MABMVE27EM8YZK33", "MA4J1YB8XZP2BPT8", "MA4B66MW5E27U8P32SB"] with tm.PricingContext(dt.date.today()): for i in range(len(asset_id_list)): correct_id = tm.currency_to_default_benchmark_rate(asset_id_list[i]) assert correct_id == correct_mapping[i]
def test_currency_to_tdapi_swaption_rate_asset_retuns_asset_id(mocker): replace = Replacer() mocker.patch.object(GsSession.__class__, 'current', return_value=GsSession.get(Environment.QA, 'client_id', 'secret')) mocker.patch.object(GsSession.current, '_get', side_effect=mock_request) mocker.patch.object(SecurityMaster, 'get_asset', side_effect=mock_request) bbid_mock = replace('gs_quant.timeseries.measures.Asset.get_identifier', Mock()) with tm.PricingContext(dt.date.today()): cur = [{ "currency_assetId": "MAK1FHKH5P5GJSHH", "currency": "JPY", "swaption_id": "MATT7CA7PRA4B8YB" }, { "currency_assetId": "MA66CZBQJST05XKG", "currency": "GBP", "swaption_id": "MAX2SBXZRPYR3NTY" }, { "currency_assetId": "MAPSDDS072PHYMVQ", "currency": "AUD", "swaption_id": "MAQHSC1PAF4X5H4B" }, { "currency_assetId": "MAJNQPFGN1EBDHAE", "currency": "EUR", "swaption_id": "MAZB3PAH8JFVVT80" }, { "currency_assetId": "MAZ7RWC904JYHYPS", "currency": "USD", "swaption_id": "MAY0X3KRD4AN77E2" }] for c in cur: print(c) asset = Currency(c.get("currency_assetId"), c.get("currency")) bbid_mock.return_value = c.get("currency") mqid = _currency_to_tdapi_swaption_rate_asset(asset) assert mqid == c.get("swaption_id") bbid_mock.return_value = None assert _currency_to_tdapi_swaption_rate_asset(asset) == c.get( "currency_assetId") replace.restore()
def test_currency_to_tdapi_inflation_swap_rate_asset(mocker): replace = Replacer() mocker.patch.object(GsSession.__class__, 'current', return_value=GsSession.get(Environment.QA, 'client_id', 'secret')) mocker.patch.object(GsSession.current, '_get', side_effect=mock_request) mocker.patch.object(SecurityMaster, 'get_asset', side_effect=mock_request) bbid_mock = replace( 'gs_quant.timeseries.measures_inflation.Asset.get_identifier', Mock()) with tm_rates.PricingContext(dt.date.today()): cur = [{ "currency_assetId": "MAK1FHKH5P5GJSHH", "currency": "JPY", "inflation_id": "MA1CENMCA88VXJ28" }, { "currency_assetId": "MA66CZBQJST05XKG", "currency": "GBP", "inflation_id": "MAW75DV9777630QN" }, { "currency_assetId": "MAJNQPFGN1EBDHAE", "currency": "EUR", "inflation_id": "MAJTD8XDA8EJZYRG" }, { "currency_assetId": "MAZ7RWC904JYHYPS", "currency": "USD", "inflation_id": "MA4016GCT3MDRYVY" }] for c in cur: print(c) asset = Currency(c.get("currency_assetId"), c.get("currency")) bbid_mock.return_value = c.get("currency") mqid = _currency_to_tdapi_inflation_swap_rate_asset(asset) assert mqid == c.get("inflation_id") bbid_mock.return_value = None assert _currency_to_tdapi_inflation_swap_rate_asset(asset) == c.get( "currency_assetId") replace.restore()
def test_currencypair_to_tdapi_fxo_asset(mocker): replace = Replacer() mocker.patch.object(GsSession.__class__, 'current', return_value=GsSession.get(Environment.QA, 'client_id', 'secret')) mocker.patch.object(GsSession.current, '_get', side_effect=mock_request) mocker.patch.object(SecurityMaster, 'get_asset', side_effect=mock_request) bbid_mock = replace( 'gs_quant.timeseries.measures_fx_vol.Asset.get_identifier', Mock()) with tm_rates.PricingContext(dt.date.today()): cur = [ { "currency_assetId": "MAK1FHKH5P5GJSHH", "currency": "USDJPY", "id": "MAW3BZY6KFQ6TP95" }, { "currency_assetId": "MA66CZBQJST05XKG", "currency": "GBPUSD", "id": "MA7F5P92330NGKAR" }, { "currency_assetId": "MAJNQPFGN1EBDHAE", "currency": "EURUSD", "id": "MASN9J5N0H418Y6A" }, ] for c in cur: print(c) asset = Currency(c.get("currency_assetId"), c.get("currency")) bbid_mock.return_value = c.get("currency") mqid = _currencypair_to_tdapi_fxo_asset(asset) assert mqid == c.get("id") bbid_mock.return_value = None assert _currencypair_to_tdapi_fxo_asset(asset) == c.get( "currency_assetId") replace.restore()
def test_currency_to_tdapi_xccy_swap_rate_asset(mocker): replace = Replacer() mocker.patch.object(GsSession.__class__, 'current', return_value=GsSession.get(Environment.QA, 'client_id', 'secret')) mocker.patch.object(GsSession.current, '_get', side_effect=mock_request) mocker.patch.object(SecurityMaster, 'get_asset', side_effect=mock_request) bbid_mock = replace('gs_quant.timeseries.measures_xccy.Asset.get_identifier', Mock()) with tm_rates.PricingContext(dt.date.today()): cur = [ { "currency_assetId": "MAK1FHKH5P5GJSHH", "currency": "JPY", "xccy_id": "MAFMW4HJC5TDE51H" }, { "currency_assetId": "MA66CZBQJST05XKG", "currency": "GBP", "xccy_id": "MATDD783JM1C2GGD" }, { "currency_assetId": "MAJNQPFGN1EBDHAE", "currency": "EUR", "xccy_id": "MAW8SAXPSKYA94E2" }, ] for c in cur: print(c) asset = Currency(c.get("currency_assetId"), c.get("currency")) bbid_mock.return_value = c.get("currency") mqid = _currency_to_tdapi_crosscurrency_swap_rate_asset(asset) assert mqid == c.get("xccy_id") bbid_mock.return_value = None assert _currency_to_tdapi_crosscurrency_swap_rate_asset(asset) == c.get("currency_assetId") replace.restore()