예제 #1
0
def test_swaption_build_asset_query_usd():
    defautls = _swaption_build_asset_query(CurrencyEnum.USD)
    assert defautls["asset_parameters_floating_rate_option"] == "USD-LIBOR-BBA"
    assert defautls["asset_parameters_clearing_house"] == "LCH"
    assert defautls["asset_parameters_termination_date"] == "5y"
    assert defautls["asset_parameters_expiration_date"] == "1y"
    assert defautls["asset_parameters_effective_date"] == "0b"
    assert defautls["asset_parameters_strike"] == "ATM"
예제 #2
0
def test_swaption_build_asset_query_custom():
    defautls = _swaption_build_asset_query(CurrencyEnum.USD, "LIBOR", "12y", "66y", "12m", "ATM+50", "120y", "ABC")
    assert defautls["asset_parameters_floating_rate_option"] == "USD-LIBOR-BBA"
    assert defautls["asset_parameters_floating_rate_designated_maturity"] == "12m"
    assert defautls["asset_parameters_clearing_house"] == "ABC"
    assert defautls["asset_parameters_termination_date"] == "120y"
    assert defautls["asset_parameters_expiration_date"] == "66y"
    assert defautls["asset_parameters_effective_date"] == "12y"
    assert defautls["asset_parameters_strike"] == "ATM+50"
예제 #3
0
def test_swaption_build_asset_query_strike_reference():
    defautls = _swaption_build_asset_query(CurrencyEnum.USD, None, None, None, None,
                                           "ATM+50")
    assert defautls["asset_parameters_floating_rate_option"] == "USD-LIBOR-BBA"
    assert defautls["asset_parameters_clearing_house"] == "LCH"
    assert defautls["asset_parameters_floating_rate_designated_maturity"] == "3m"
    assert defautls["asset_parameters_termination_date"] == "5y"
    assert defautls["asset_parameters_expiration_date"] == "1y"
    assert defautls["asset_parameters_effective_date"] == "0b"
    assert defautls["asset_parameters_strike"] == "ATM+50"
예제 #4
0
def test_swaption_build_asset_query_custom_throws():
    with pytest.raises(MqValueError):
        _swaption_build_asset_query(CurrencyEnum.USD, "NIBOR", "12y", "66y",
                                    "12m", "ATM+50", "120y", "ABC")
예제 #5
0
def test_swaption_build_asset_query_throws_on_invalid_tenor():
    with pytest.raises(MqValueError):
        _swaption_build_asset_query(CurrencyEnum.USD, expiration_tenor="Abc")