rateslib 2.7.0__tar.gz → 2.7.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rateslib-2.7.0 → rateslib-2.7.1}/Cargo.lock +1 -1
- {rateslib-2.7.0 → rateslib-2.7.1}/Cargo.toml +1 -5
- {rateslib-2.7.0 → rateslib-2.7.1}/PKG-INFO +1 -16
- {rateslib-2.7.0 → rateslib-2.7.1}/pyproject.toml +20 -9
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/_spec_loader.py +50 -22
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/__instrument_spec.csv +25 -23
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/fixings.py +18 -12
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/dual/utils.py +16 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/enums/__init__.py +4 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/conventions/__init__.py +39 -1
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/protocols/accrued.py +2 -1
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/stir_future.py +3 -21
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/protocols/analytic_greeks.py +46 -25
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/scheduling/adjuster.py +1 -1
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/scheduling/schedule.py +3 -10
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/verify.py +1 -1
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/volatility/__init__.py +4 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/volatility/ir/__init__.py +8 -1
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/volatility/ir/base.py +25 -2
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/volatility/ir/sabr.py +128 -13
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/volatility/ir/spline.py +151 -43
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/volatility/ir/utils.py +107 -16
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/volatility/utils.py +1 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/curves/test_curves.py +19 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/instruments/test_instruments_bonds_legacy.py +76 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/instruments/test_instruments_legacy.py +429 -12
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/periods/test_periods_legacy.py +65 -1
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/test_default.py +1 -1
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/test_dualpy.py +15 -1
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/test_ir_volatility.py +368 -137
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/test_solver.py +119 -3
- rateslib-2.7.0/.DS_Store +0 -0
- rateslib-2.7.0/python/.DS_Store +0 -0
- rateslib-2.7.0/python/rateslib/.DS_Store +0 -0
- rateslib-2.7.0/python/rateslib/_deprecations_record.txt +0 -8
- rateslib-2.7.0/python/rateslib/curves/.DS_Store +0 -0
- rateslib-2.7.0/python/rateslib/data/.DS_Store +0 -0
- rateslib-2.7.0/python/rateslib/dual/.DS_Store +0 -0
- rateslib-2.7.0/python/rateslib/enums/.DS_Store +0 -0
- rateslib-2.7.0/python/rateslib/fx/.DS_Store +0 -0
- rateslib-2.7.0/python/rateslib/fx_volatility/.DS_Store +0 -0
- rateslib-2.7.0/python/rateslib/instruments/.DS_Store +0 -0
- rateslib-2.7.0/python/rateslib/legs/.DS_Store +0 -0
- rateslib-2.7.0/python/rateslib/mutability/.DS_Store +0 -0
- rateslib-2.7.0/python/rateslib/periods/.DS_Store +0 -0
- rateslib-2.7.0/python/rateslib/scheduling/.DS_Store +0 -0
- rateslib-2.7.0/python/rateslib/serialization/.DS_Store +0 -0
- rateslib-2.7.0/python/rateslib/splines/.DS_Store +0 -0
- rateslib-2.7.0/python/rateslib/volatility/.DS_Store +0 -0
- rateslib-2.7.0/python/tests/.DS_Store +0 -0
- rateslib-2.7.0/requirements.txt +0 -28
- rateslib-2.7.0/rust/.DS_Store +0 -0
- rateslib-2.7.0/rust/curves/.DS_Store +0 -0
- rateslib-2.7.0/rust/dual/.DS_Store +0 -0
- rateslib-2.7.0/rust/fx/.DS_Store +0 -0
- rateslib-2.7.0/rust/scheduling/.DS_Store +0 -0
- rateslib-2.7.0/rust/tests/.DS_Store +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/.aiignore +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/.gitattributes +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/.gitignore +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/COMMERCIAL_LICENCE +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/COMMERCIAL_LICENCE_ADDENDUM1 +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/LICENCE +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/README.md +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/curves/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/curves/_parsers.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/curves/academic/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/curves/academic/ns.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/curves/academic/nss.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/curves/academic/sw.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/curves/curves.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/curves/interpolation.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/curves/rs.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/curves/utils.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/historical/aud_rfr.csv +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/historical/cad_rfr.csv +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/historical/corra.csv +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/historical/estr.csv +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/historical/eur_rfr.csv +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/historical/gbp_rfr.csv +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/historical/inr_rfr.csv +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/historical/jpy_rfr.csv +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/historical/nok_rfr.csv +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/historical/nowa.csv +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/historical/sek_rfr.csv +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/historical/sofr.csv +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/historical/sonia.csv +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/historical/swestr.csv +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/historical/usd_rfr.csv +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/data/loader.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/default.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/dual/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/dual/ift.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/dual/newton.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/dual/quadratic.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/dual/variable.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/enums/generics.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/enums/parameters.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/errors.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/fx/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/fx/fx_forwards.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/fx/fx_rates.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/bill.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/bond_future.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/conventions/accrued.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/conventions/discounting.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/fixed_rate_bond.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/float_rate_note.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/index_fixed_rate_bond.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/protocols/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/protocols/cashflows.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/protocols/duration.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/protocols/oaspread.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/protocols/repo.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/bonds/protocols/ytm.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/cds.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/fee.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/fly.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/fra.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/fx_forward.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/fx_options/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/fx_options/brokerfly.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/fx_options/call_put.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/fx_options/risk_reversal.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/fx_options/straddle.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/fx_options/strangle.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/fx_options/vol_value.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/fx_swap.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/iirs.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/ir_options/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/ir_options/call_put.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/ir_options/risk_reversal.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/ir_options/straddle.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/ir_options/strangle.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/ir_options/vol_value.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/irs.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/loan.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/ndf.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/ndxcs.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/portfolio.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/analytic_delta.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/analytic_fixings.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/cashflows.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/fixings.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/kwargs.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/npv.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/pricing.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/rate.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/sensitivities.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/protocols/utils.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/sbs.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/spread.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/value.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/xcs.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/yoyis.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/zcis.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/instruments/zcs.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/legs/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/legs/amortization.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/legs/credit.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/legs/custom.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/legs/fixed.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/legs/float.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/legs/protocols/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/legs/protocols/analytic_delta.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/legs/protocols/analytic_fixings.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/legs/protocols/cashflows.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/legs/protocols/fixings.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/legs/protocols/npv.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/local_types.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/mutability/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/cashflow.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/credit.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/fixed_period.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/float_period.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/float_rate.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/fx_volatility.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/ir_volatility.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/parameters/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/parameters/credit.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/parameters/fx_volatility.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/parameters/index.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/parameters/ir_volatility.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/parameters/mtm.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/parameters/period.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/parameters/rate.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/parameters/settlement.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/protocols/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/protocols/analytic_delta.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/protocols/analytic_fixings.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/protocols/cashflows.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/protocols/fixings.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/protocols/npv.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/periods/utils.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/py.typed +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/rs.pyi +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/scheduling/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/scheduling/calendars.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/scheduling/convention.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/scheduling/dcfs.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/scheduling/frequency.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/scheduling/imm.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/scheduling/rollday.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/serialization/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/serialization/json.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/serialization/utils.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/solver.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/splines/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/splines/evaluate.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/utils/calendars.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/volatility/fx/__init__.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/volatility/fx/base.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/volatility/fx/delta_vol.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/volatility/fx/sabr.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/rateslib/volatility/fx/utils.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/curves/test_curvesrs.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/curves/test_ns.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/curves/test_nss.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/curves/test_sw.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/legs/test_analytic_delta.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/legs/test_init.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/legs/test_leg_fixings.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/legs/test_legs_legacy.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/periods/test_fixings_exposure.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/periods/test_fixings_load.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/periods/test_float_rate.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/periods/test_periods_init.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/periods/test_static_npv.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/scheduling/test_calendars.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/scheduling/test_calendarsrs.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/scheduling/test_frequency.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/scheduling/test_imm.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/scheduling/test_schedule.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/scheduling/test_schedulers.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/serialization/test_json.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/serialization/test_pickle.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/serialization/test_repr.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/test_dual.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/test_dualrs.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/test_enums.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/test_fixings.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/test_fx.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/test_fx_volatility.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/test_fxrs.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/test_serialization.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/test_splines.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/python/tests/test_to_fix.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/_README.txt +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/curves/curve.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/curves/curve_py.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/curves/interpolation/interpolation_py.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/curves/interpolation/intp_flat_backward.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/curves/interpolation/intp_flat_forward.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/curves/interpolation/intp_linear.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/curves/interpolation/intp_linear_zero_rate.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/curves/interpolation/intp_log_cubic.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/curves/interpolation/intp_log_linear.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/curves/interpolation/intp_null.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/curves/interpolation/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/curves/interpolation/utils.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/curves/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/curves/nodes.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/curves/serde.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/docs.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/add.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/convert.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/div.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/eq.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/from.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/math_funcs.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/mul.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/neg.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/num.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/numeric_ops.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/one.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/ord.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/pow.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/rem.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/signed.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/sub.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/sum.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_ops/zero.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/dual_py.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/enums.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/linalg/linalg_dual.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/linalg/linalg_f64.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/linalg/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/linalg_py.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/dual/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/enums/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/enums/parameters.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/enums/py/float_fixing_method.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/enums/py/ir_option_metric.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/enums/py/leg_index_base.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/enums/py/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/fx/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/fx/rates/ccy.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/fx/rates/fxpair.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/fx/rates/fxrate.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/fx/rates/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/fx/rates_py.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/fx_volatility/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/fx_volatility/sabr_funcs.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/json/json_py.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/json/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/lib.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/main.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/adjuster.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/cal.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/calendar.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/dateroll.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/manager.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/all.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/bjs.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/bjs_script.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/bus.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/fed.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/fed_script.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/ldn.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/ldn_script.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/mex.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/mex_script.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/mum.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/mum_script.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/nsw.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/nsw_script.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/nyc.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/nyc_script.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/osl.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/osl_script.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/stk.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/stk_script.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/syd.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/syd_script.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/tgt.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/tgt_script.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/tro.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/tro_script.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/tyo.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/tyo_script.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/wlg.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/wlg_script.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/zur.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named/zur_script.py +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/named_cal.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/calendars/union_cal.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/convention.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/frequency/frequency.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/frequency/imm.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/frequency/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/frequency/rollday.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/py/adjuster.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/py/calendar.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/py/convention.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/py/frequency.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/py/imm.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/py/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/py/rollday.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/py/schedule.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/schedule.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/scheduling/serde.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/splines/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/splines/spline.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/splines/spline_py.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/tests/dual1.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/tests/mod.rs +0 -0
- {rateslib-2.7.0 → rateslib-2.7.1}/rust/tests/splines/mod.rs +0 -0
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "rateslib"
|
|
3
|
-
version = "2.7.
|
|
3
|
+
version = "2.7.1"
|
|
4
4
|
edition = "2021"
|
|
5
5
|
exclude = [
|
|
6
6
|
".github/*",
|
|
7
7
|
"benches/*",
|
|
8
8
|
"benchmarks/*",
|
|
9
9
|
"notebooks/*",
|
|
10
|
-
".readthedocs.yaml",
|
|
11
10
|
"docs/*",
|
|
12
|
-
"PACKAGING.md",
|
|
13
|
-
"PIP_FREEZE.txt",
|
|
14
|
-
"requirements-minimum.txt",
|
|
15
11
|
"robots.txt",
|
|
16
12
|
]
|
|
17
13
|
readme = "README.md"
|
|
@@ -1,27 +1,12 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rateslib
|
|
3
|
-
Version: 2.7.
|
|
3
|
+
Version: 2.7.1
|
|
4
4
|
Classifier: Programming Language :: Rust
|
|
5
5
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
6
6
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
|
7
7
|
Requires-Dist: numpy>=1.21.5,<3.0
|
|
8
8
|
Requires-Dist: matplotlib>=3.5.1,<4.0
|
|
9
9
|
Requires-Dist: pandas>=1.4.1,<4.0
|
|
10
|
-
Requires-Dist: pandas>=3.0,<4.0 ; extra == 'dev'
|
|
11
|
-
Requires-Dist: pytest>=9.0,<10.0 ; extra == 'dev'
|
|
12
|
-
Requires-Dist: coverage>=7.6.1,<8.0 ; extra == 'dev'
|
|
13
|
-
Requires-Dist: ruff>=0.6.3,<1.0 ; extra == 'dev'
|
|
14
|
-
Requires-Dist: mypy>=1.13,<1.20 ; extra == 'dev'
|
|
15
|
-
Requires-Dist: pandas-stubs>2.0,<4.0 ; extra == 'dev'
|
|
16
|
-
Requires-Dist: sphinx>=9.0,<10.0 ; extra == 'dev'
|
|
17
|
-
Requires-Dist: sphinx-automodapi>=0.16.0,<1.0 ; extra == 'dev'
|
|
18
|
-
Requires-Dist: sphinxcontrib-googleanalytics>=0.4,<1.0 ; extra == 'dev'
|
|
19
|
-
Requires-Dist: sphinx-tabs>=3.4,<4.0 ; extra == 'dev'
|
|
20
|
-
Requires-Dist: pydata-sphinx-theme>=0.15.4,<1.0 ; extra == 'dev'
|
|
21
|
-
Requires-Dist: nbsphinx>=0.9.5,<1.0 ; extra == 'dev'
|
|
22
|
-
Requires-Dist: jupyterlab>=4.0,<5.0 ; extra == 'dev'
|
|
23
|
-
Requires-Dist: pickleshare>=0.7.5,<1.0 ; extra == 'dev'
|
|
24
|
-
Provides-Extra: dev
|
|
25
10
|
License-File: LICENCE
|
|
26
11
|
License-File: COMMERCIAL_LICENCE
|
|
27
12
|
License-File: COMMERCIAL_LICENCE_ADDENDUM1
|
|
@@ -15,7 +15,7 @@ features = ["pyo3/extension-module"]
|
|
|
15
15
|
|
|
16
16
|
[project]
|
|
17
17
|
name = "rateslib"
|
|
18
|
-
version = "2.7.
|
|
18
|
+
version = "2.7.1"
|
|
19
19
|
description = "A fixed income library for trading interest rates"
|
|
20
20
|
readme = "README.md"
|
|
21
21
|
authors = [{ name = "J H M Darbyshire"}]
|
|
@@ -33,23 +33,29 @@ classifiers = [
|
|
|
33
33
|
"Programming Language :: Python :: Implementation :: PyPy",
|
|
34
34
|
]
|
|
35
35
|
|
|
36
|
-
[
|
|
37
|
-
|
|
38
|
-
#
|
|
39
|
-
"pandas>=3.0,<4.0",
|
|
36
|
+
[dependency-groups]
|
|
37
|
+
test = [
|
|
38
|
+
# "pandas>=3.0,<4.0",
|
|
40
39
|
"pytest>=9.0,<10.0",
|
|
40
|
+
"pytest-env>=1.0,<2.0",
|
|
41
41
|
"coverage>=7.6.1,<8.0",
|
|
42
|
-
|
|
42
|
+
]
|
|
43
|
+
lint = [
|
|
43
44
|
"ruff>=0.6.3,<1.0",
|
|
45
|
+
]
|
|
46
|
+
typing = [
|
|
44
47
|
"mypy>=1.13,<1.20",
|
|
45
48
|
"pandas-stubs>2.0,<4.0",
|
|
46
|
-
|
|
47
|
-
|
|
49
|
+
]
|
|
50
|
+
docs = [
|
|
51
|
+
"sphinx>=9.0,<10.0; python_version >= '3.11'",
|
|
48
52
|
"sphinx-automodapi>=0.16.0,<1.0",
|
|
49
53
|
"sphinxcontrib-googleanalytics>=0.4,<1.0",
|
|
50
54
|
"sphinx-tabs>=3.4,<4.0",
|
|
51
55
|
"pydata-sphinx-theme>=0.15.4,<1.0",
|
|
52
56
|
"nbsphinx>=0.9.5,<1.0",
|
|
57
|
+
]
|
|
58
|
+
gui = [
|
|
53
59
|
"jupyterlab>=4.0,<5.0",
|
|
54
60
|
"pickleshare>=0.7.5,<1.0",
|
|
55
61
|
]
|
|
@@ -57,7 +63,9 @@ dev = [
|
|
|
57
63
|
[tool.pytest.ini_options]
|
|
58
64
|
# pythonpath = [".", "python/rateslib"]
|
|
59
65
|
minversion = "8.0"
|
|
60
|
-
addopts =
|
|
66
|
+
addopts = [
|
|
67
|
+
"--ignore-glob=*_ignore.py",
|
|
68
|
+
] # use -s to show print capture, use -q for quiet, use -v for verbose
|
|
61
69
|
testpaths = [
|
|
62
70
|
"python/tests",
|
|
63
71
|
]
|
|
@@ -66,6 +74,9 @@ filterwarnings = [
|
|
|
66
74
|
"ignore::PendingDeprecationWarning"
|
|
67
75
|
]
|
|
68
76
|
|
|
77
|
+
[tool.pytest_env]
|
|
78
|
+
MPLBACKEND = "Agg"
|
|
79
|
+
|
|
69
80
|
[tool.setuptools]
|
|
70
81
|
packages = ["rateslib"]
|
|
71
82
|
|
|
@@ -737,7 +737,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
737
737
|
"convention": "actacticma",
|
|
738
738
|
"payment_lag_exchange": 0,
|
|
739
739
|
"settle": 1,
|
|
740
|
-
"ex_div":
|
|
740
|
+
"ex_div": "-1b",
|
|
741
741
|
"calc_mode": "us_gb",
|
|
742
742
|
},
|
|
743
743
|
"us_gbi": {
|
|
@@ -753,7 +753,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
753
753
|
"index_method": "daily",
|
|
754
754
|
"index_lag": 3,
|
|
755
755
|
"settle": 1,
|
|
756
|
-
"ex_div":
|
|
756
|
+
"ex_div": "-1b",
|
|
757
757
|
"calc_mode": "us_gb",
|
|
758
758
|
},
|
|
759
759
|
"us_corp": {
|
|
@@ -767,7 +767,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
767
767
|
"convention": "30u360",
|
|
768
768
|
"payment_lag_exchange": 0,
|
|
769
769
|
"settle": 1,
|
|
770
|
-
"ex_div":
|
|
770
|
+
"ex_div": "-1b",
|
|
771
771
|
"calc_mode": "us_corp",
|
|
772
772
|
},
|
|
773
773
|
"us_muni": {
|
|
@@ -781,7 +781,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
781
781
|
"convention": "30u360",
|
|
782
782
|
"payment_lag_exchange": 0,
|
|
783
783
|
"settle": 1,
|
|
784
|
-
"ex_div":
|
|
784
|
+
"ex_div": "-1b",
|
|
785
785
|
"calc_mode": "us_muni",
|
|
786
786
|
},
|
|
787
787
|
"us_gb_tsy": {
|
|
@@ -795,7 +795,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
795
795
|
"convention": "actacticma",
|
|
796
796
|
"payment_lag_exchange": 0,
|
|
797
797
|
"settle": 1,
|
|
798
|
-
"ex_div":
|
|
798
|
+
"ex_div": "-1b",
|
|
799
799
|
"calc_mode": "us_gb_tsy",
|
|
800
800
|
},
|
|
801
801
|
"uk_gb": {
|
|
@@ -809,9 +809,23 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
809
809
|
"convention": "actacticma",
|
|
810
810
|
"payment_lag_exchange": 0,
|
|
811
811
|
"settle": 1,
|
|
812
|
-
"ex_div":
|
|
812
|
+
"ex_div": "-7b",
|
|
813
813
|
"calc_mode": "uk_gb",
|
|
814
814
|
},
|
|
815
|
+
"au_gb": {
|
|
816
|
+
"frequency": "s",
|
|
817
|
+
"stub": "longfront",
|
|
818
|
+
"eom": False,
|
|
819
|
+
"modifier": "none",
|
|
820
|
+
"calendar": "syd",
|
|
821
|
+
"payment_lag": 0,
|
|
822
|
+
"currency": "aud",
|
|
823
|
+
"convention": "actacticma",
|
|
824
|
+
"payment_lag_exchange": 0,
|
|
825
|
+
"settle": 2,
|
|
826
|
+
"ex_div": "-8d",
|
|
827
|
+
"calc_mode": "au_gb",
|
|
828
|
+
},
|
|
815
829
|
"nz_gb": {
|
|
816
830
|
"frequency": "s",
|
|
817
831
|
"stub": "shortfront",
|
|
@@ -823,9 +837,23 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
823
837
|
"convention": "actacticma",
|
|
824
838
|
"payment_lag_exchange": 0,
|
|
825
839
|
"settle": 1,
|
|
826
|
-
"ex_div":
|
|
840
|
+
"ex_div": "-8b",
|
|
827
841
|
"calc_mode": "nz_gb",
|
|
828
842
|
},
|
|
843
|
+
"cn_gb": {
|
|
844
|
+
"frequency": "s",
|
|
845
|
+
"stub": "shortfront",
|
|
846
|
+
"eom": False,
|
|
847
|
+
"modifier": "none",
|
|
848
|
+
"calendar": "bjs",
|
|
849
|
+
"payment_lag": 0,
|
|
850
|
+
"currency": "cny",
|
|
851
|
+
"convention": "actacticma",
|
|
852
|
+
"payment_lag_exchange": 0,
|
|
853
|
+
"settle": 1,
|
|
854
|
+
"ex_div": "-1b",
|
|
855
|
+
"calc_mode": "cn_gb",
|
|
856
|
+
},
|
|
829
857
|
"de_gb": {
|
|
830
858
|
"frequency": "a",
|
|
831
859
|
"stub": "longfront",
|
|
@@ -837,7 +865,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
837
865
|
"convention": "actacticma",
|
|
838
866
|
"payment_lag_exchange": 0,
|
|
839
867
|
"settle": 2,
|
|
840
|
-
"ex_div":
|
|
868
|
+
"ex_div": "-1b",
|
|
841
869
|
"calc_mode": "de_gb",
|
|
842
870
|
},
|
|
843
871
|
"fr_gb": {
|
|
@@ -851,7 +879,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
851
879
|
"convention": "actacticma",
|
|
852
880
|
"payment_lag_exchange": 0,
|
|
853
881
|
"settle": 2,
|
|
854
|
-
"ex_div":
|
|
882
|
+
"ex_div": "-1b",
|
|
855
883
|
"calc_mode": "fr_gb",
|
|
856
884
|
},
|
|
857
885
|
"nl_gb": {
|
|
@@ -865,7 +893,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
865
893
|
"convention": "actacticma",
|
|
866
894
|
"payment_lag_exchange": 0,
|
|
867
895
|
"settle": 2,
|
|
868
|
-
"ex_div":
|
|
896
|
+
"ex_div": "-1b",
|
|
869
897
|
"calc_mode": "nl_gb",
|
|
870
898
|
},
|
|
871
899
|
"it_gb": {
|
|
@@ -879,7 +907,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
879
907
|
"convention": "actacticma",
|
|
880
908
|
"payment_lag_exchange": 0,
|
|
881
909
|
"settle": 2,
|
|
882
|
-
"ex_div":
|
|
910
|
+
"ex_div": "-1b",
|
|
883
911
|
"calc_mode": "it_gb",
|
|
884
912
|
},
|
|
885
913
|
"ch_gb": {
|
|
@@ -893,7 +921,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
893
921
|
"convention": "30e360",
|
|
894
922
|
"payment_lag_exchange": 0,
|
|
895
923
|
"settle": 1,
|
|
896
|
-
"ex_div":
|
|
924
|
+
"ex_div": "-1b",
|
|
897
925
|
"calc_mode": "ch_gb",
|
|
898
926
|
},
|
|
899
927
|
"se_gb": {
|
|
@@ -907,7 +935,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
907
935
|
"convention": "actacticma",
|
|
908
936
|
"payment_lag_exchange": 0,
|
|
909
937
|
"settle": 2,
|
|
910
|
-
"ex_div":
|
|
938
|
+
"ex_div": "-5b",
|
|
911
939
|
"calc_mode": "se_gb",
|
|
912
940
|
},
|
|
913
941
|
"no_gb": {
|
|
@@ -921,7 +949,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
921
949
|
"convention": "actacticma_stub365f",
|
|
922
950
|
"payment_lag_exchange": 0,
|
|
923
951
|
"settle": 1,
|
|
924
|
-
"ex_div":
|
|
952
|
+
"ex_div": "-1b",
|
|
925
953
|
"calc_mode": "no_gb",
|
|
926
954
|
},
|
|
927
955
|
"ca_gb": {
|
|
@@ -935,7 +963,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
935
963
|
"convention": "actacticma_stub365f",
|
|
936
964
|
"payment_lag_exchange": 0,
|
|
937
965
|
"settle": 1,
|
|
938
|
-
"ex_div":
|
|
966
|
+
"ex_div": "-1b",
|
|
939
967
|
"calc_mode": "ca_gb",
|
|
940
968
|
},
|
|
941
969
|
"ca_gbi": {
|
|
@@ -951,7 +979,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
951
979
|
"index_method": "daily",
|
|
952
980
|
"index_lag": 3,
|
|
953
981
|
"settle": 1,
|
|
954
|
-
"ex_div":
|
|
982
|
+
"ex_div": "-1b",
|
|
955
983
|
"calc_mode": "ca_gb",
|
|
956
984
|
},
|
|
957
985
|
"us_gbb": {
|
|
@@ -963,7 +991,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
963
991
|
"convention": "act360",
|
|
964
992
|
"payment_lag_exchange": 0,
|
|
965
993
|
"settle": 1,
|
|
966
|
-
"ex_div":
|
|
994
|
+
"ex_div": "0b",
|
|
967
995
|
"calc_mode": "us_gbb",
|
|
968
996
|
},
|
|
969
997
|
"se_gbb": {
|
|
@@ -975,7 +1003,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
975
1003
|
"convention": "act360",
|
|
976
1004
|
"payment_lag_exchange": 0,
|
|
977
1005
|
"settle": 2,
|
|
978
|
-
"ex_div":
|
|
1006
|
+
"ex_div": "0b",
|
|
979
1007
|
"calc_mode": "se_gbb",
|
|
980
1008
|
},
|
|
981
1009
|
"no_gbb": {
|
|
@@ -987,7 +1015,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
987
1015
|
"convention": "act365f",
|
|
988
1016
|
"payment_lag_exchange": 0,
|
|
989
1017
|
"settle": 2,
|
|
990
|
-
"ex_div":
|
|
1018
|
+
"ex_div": "0b",
|
|
991
1019
|
"calc_mode": "no_gbb",
|
|
992
1020
|
},
|
|
993
1021
|
"uk_gbb": {
|
|
@@ -999,7 +1027,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
999
1027
|
"convention": "act365f",
|
|
1000
1028
|
"payment_lag_exchange": 0,
|
|
1001
1029
|
"settle": 1,
|
|
1002
|
-
"ex_div":
|
|
1030
|
+
"ex_div": "0b",
|
|
1003
1031
|
"calc_mode": "uk_gbb",
|
|
1004
1032
|
},
|
|
1005
1033
|
"uk_gbi": {
|
|
@@ -1015,7 +1043,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
1015
1043
|
"index_method": "daily",
|
|
1016
1044
|
"index_lag": 3,
|
|
1017
1045
|
"settle": 1,
|
|
1018
|
-
"ex_div":
|
|
1046
|
+
"ex_div": "-7b",
|
|
1019
1047
|
"calc_mode": "uk_gb",
|
|
1020
1048
|
},
|
|
1021
1049
|
"sek_fra3": {
|
|
@@ -1101,7 +1129,7 @@ INSTRUMENT_SPECS: dict[str, dict[str, Any]] = {
|
|
|
1101
1129
|
"spread_compound_method": "none_simple",
|
|
1102
1130
|
"fixing_method": "rfr_observation_shift(5)",
|
|
1103
1131
|
"settle": 1,
|
|
1104
|
-
"ex_div":
|
|
1132
|
+
"ex_div": "1b",
|
|
1105
1133
|
},
|
|
1106
1134
|
"usd_stir": {
|
|
1107
1135
|
"frequency": "q",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
kind,meta,meta,meta,meta,meta,meta,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,base_derivative,fixed,float,float,float,float,fixed,float,float,float,float,float,exchange,exchange,exchange,exchange,exchange,exchange,exchange,exchange,xcs,xcs,xcs,index,index,index,index,index,index,index,index,bond,bond,bond,stir,cds,bondfuture,fx,fx
|
|
2
2
|
leg,meta,meta,meta,meta,meta,meta,leg1,leg1,leg1,leg1,leg1,leg1,leg1,leg1,leg1,leg1,leg1,leg1,leg1,leg1,leg1,leg2,leg2,leg2,leg2,leg2,leg2,leg2,leg2,leg2,leg2,leg2,leg2,leg2,leg2,leg2,leg1,leg1,leg1,leg1,leg1,leg2,leg2,leg2,leg2,leg2,leg2,leg1,leg1,leg2,leg2,leg1,leg2,leg1,leg2,leg1,leg2,leg2,leg1,leg1,leg1,leg1,leg2,leg2,leg2,leg2,leg1,leg1,leg1,leg1,leg1,leg1,leg1,leg1
|
|
3
3
|
kwarg,currency,instrument,sub_type,bloomberg_ticker,eval,description,effective,termination,frequency,stub,front_stub,back_stub,roll,eom,modifier,calendar,payment_lag,notional,currency,amortization,convention,effective,termination,frequency,stub,front_stub,back_stub,roll,eom,modifier,calendar,payment_lag,notional,currency,amortization,convention,fixed_rate,float_spread,spread_compound_method,rate_fixings,fixing_method,fixed_rate,float_spread,spread_compound_method,rate_fixings,fixing_method,fixing_series,initial_exchange,final_exchange,initial_exchange,final_exchange,fx_fixings,fx_fixings,payment_lag_exchange,payment_lag_exchange,fixed,fixed,mtm,index_method,index_fixings,index_base,index_lag,index_method,index_fixings,index_base,index_lag,settle,ex_div,calc_mode,nominal,premium_accrued,coupon,pair,delivery_lag
|
|
4
|
-
dtype,str,str,str,str,str,str,str,str,str,str,str,str,str,boolean,str,str,Int64,float,str,float,str,str,str,str,str,str,str,str,boolean,str,str,Int64,float,str,float,str,float,float,str,str,str,float,float,str,str,str,str,boolean,boolean,boolean,boolean,str,str,Int64,Int64,boolean,boolean,boolean,str,str,float,Int64,str,str,float,Int64,Int64,
|
|
4
|
+
dtype,str,str,str,str,str,str,str,str,str,str,str,str,str,boolean,str,str,Int64,float,str,float,str,str,str,str,str,str,str,str,boolean,str,str,Int64,float,str,float,str,float,float,str,str,str,float,float,str,str,str,str,boolean,boolean,boolean,boolean,str,str,Int64,Int64,boolean,boolean,boolean,str,str,float,Int64,str,str,float,Int64,Int64,str,str,float,boolean,float,str,Int64
|
|
5
5
|
test,TES,none,none,none,none,A test column,,,m,longfront,,,,FALSE,p,"nyc,tgt,ldn",4,,tes,,yearsmonths,,,m,longback,,,1,FALSE,mp,"nyc,tgt,ldn",3,,,,one,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
|
6
6
|
eurusd_call,eurusd,fx_call,,,2b,Currency call option,,,,,,,,,mf,tgt|fed,2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,eurusd,2
|
|
7
7
|
us_ig_cds,usd,cds,,,,,,,q,shortfront,,,20,FALSE,fex,nyc,0,,usd,,act360,,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
|
@@ -51,34 +51,36 @@ aud_sbs36,aud,sbs,,,2b,,,,q,shortfront,,,,FALSE,mf,syd,0,,aud,,act365f,,,s,,,,,,
|
|
|
51
51
|
aud_sbs31,aud,sbs,,,2b,,,,q,shortfront,,,,FALSE,mf,syd,0,,aud,,act365f,,,m,,,,,,,,,,,,,,,none_simple,,ibor(0),,,none_simple,,ibor(0),,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
|
52
52
|
nzd_sbs36,nzd,sbs,,,2b,,,,q,shortfront,,,,FALSE,mf,wlg,0,,nzd,,act365f,,,s,,,,,,,,,,,,,,,none_simple,,ibor(0),,,none_simple,,ibor(0),,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
|
53
53
|
nzd_sbs31,nzd,sbs,,,2b,,,,q,shortfront,,,,FALSE,mf,wlg,0,,nzd,,act365f,,,m,,,,,,,,,,,,,,,none_simple,,ibor(0),,,none_simple,,ibor(0),,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
|
54
|
-
us_gb,usd,frb,,,,,,,s,shortfront,,,,TRUE,none,nyc,0,,usd,,actacticma,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,1,
|
|
55
|
-
us_gbi,usd,ifrb,,,,,,,s,shortfront,,,,TRUE,none,nyc,0,,usd,,actacticma,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,daily,,,3,,,,,1,
|
|
56
|
-
us_corp,usd,frb,,,,,,,s,shortfront,,,,TRUE,none,nyc,0,,usd,,30u360,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,1,
|
|
57
|
-
us_muni,usd,frb,,,,,,,s,shortfront,,,,TRUE,none,nyc,0,,usd,,30u360,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,1,
|
|
58
|
-
us_gb_tsy,usd,frb,,,,,,,s,shortfront,,,,TRUE,none,nyc,0,,usd,,actacticma,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,1,
|
|
59
|
-
uk_gb,gbp,frb,,,,,,,s,longfront,,,,FALSE,none,ldn,0,,gbp,,actacticma,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,1,
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
54
|
+
us_gb,usd,frb,,,,,,,s,shortfront,,,,TRUE,none,nyc,0,,usd,,actacticma,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,1,-1b,us_gb,,,,,
|
|
55
|
+
us_gbi,usd,ifrb,,,,,,,s,shortfront,,,,TRUE,none,nyc,0,,usd,,actacticma,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,daily,,,3,,,,,1,-1b,us_gb,,,,,
|
|
56
|
+
us_corp,usd,frb,,,,,,,s,shortfront,,,,TRUE,none,nyc,0,,usd,,30u360,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,1,-1b,us_corp,,,,,
|
|
57
|
+
us_muni,usd,frb,,,,,,,s,shortfront,,,,TRUE,none,nyc,0,,usd,,30u360,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,1,-1b,us_muni,,,,,
|
|
58
|
+
us_gb_tsy,usd,frb,,,,,,,s,shortfront,,,,TRUE,none,nyc,0,,usd,,actacticma,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,1,-1b,us_gb_tsy,,,,,
|
|
59
|
+
uk_gb,gbp,frb,,,,,,,s,longfront,,,,FALSE,none,ldn,0,,gbp,,actacticma,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,1,-7b,uk_gb,,,,,
|
|
60
|
+
au_gb,aud,frb,,,,,,,s,longfront,,,,FALSE,none,syd,0,,aud,,actacticma,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,2,-8d,au_gb,,,,,
|
|
61
|
+
nz_gb,nzd,frb,,,,,,,s,shortfront,,,,FALSE,none,wlg,0,,nzd,,actacticma,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,1,-8b,nz_gb,,,,,
|
|
62
|
+
cn_gb,cny,frb,,,,,,,s,shortfront,,,,FALSE,none,bjs,0,,cny,,actacticma,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,1,-1b,cn_gb,,,,,
|
|
63
|
+
de_gb,eur,frb,,,,,,,a,longfront,,,,FALSE,none,tgt,0,,eur,,actacticma,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,2,-1b,de_gb,,,,,
|
|
64
|
+
fr_gb,eur,frb,,,,,,,a,shortfront,,,,FALSE,none,tgt,0,,eur,,actacticma,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,2,-1b,fr_gb,,,,,
|
|
65
|
+
nl_gb,eur,frb,,,,,,,a,shortfront,,,,FALSE,none,tgt,0,,eur,,actacticma,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,2,-1b,nl_gb,,,,,
|
|
66
|
+
it_gb,eur,frb,,,,,,,s,shortfront,,,,FALSE,none,tgt,0,,eur,,actacticma,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,2,-1b,it_gb,,,,,
|
|
67
|
+
ch_gb,chf,frb,,,,,,,a,shortfront,,,,FALSE,none,zur,0,,chf,,30e360,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,1,-1b,ch_gb,,,,,
|
|
68
|
+
se_gb,sek,frb,,,,,,,a,shortfront,,,,FALSE,none,stk,0,,sek,,actacticma,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,2,-5b,se_gb,,,,,
|
|
69
|
+
no_gb,nok,frb,,,,,,,a,shortfront,,,,FALSE,none,osl,0,,nok,,actacticma_stub365f,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,1,-1b,no_gb,,,,,
|
|
70
|
+
ca_gb,cad,frb,,,,,,,s,shortfront,,,,FALSE,none,tro,0,,cad,,actacticma_stub365f,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,1,-1b,ca_gb,,,,,
|
|
71
|
+
ca_gbi,cad,ifrb,,,,,,,s,shortfront,,,,FALSE,none,tro,0,,cad,,actacticma_stub365f,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,daily,,,3,,,,,1,-1b,ca_gb,,,,,
|
|
72
|
+
us_gbb,usd,bill,,,,,,,,,,,,TRUE,none,nyc,0,,usd,,act360,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,1,0b,us_gbb,,,,,
|
|
73
|
+
se_gbb,sek,bill,,,,,,,,,,,,FALSE,none,stk,0,,sek,,act360,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,2,0b,se_gbb,,,,,
|
|
74
|
+
no_gbb,nok,bill,,,,,,,,,,,,FALSE,none,osl,0,,nok,,act365f,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,2,0b,no_gbb,,,,,
|
|
75
|
+
uk_gbb,gbp,bill,,,,,,,,,,,,TRUE,none,ldn,0,,gbp,,act365f,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,,,,,,,,,1,0b,uk_gbb,,,,,
|
|
76
|
+
uk_gbi,gbp,ifrb,,,,,,,s,shortfront,,,,FALSE,none,ldn,0,,gbp,,actacticma,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0,,,,,daily,,,3,,,,,1,-7b,uk_gb,,,,,
|
|
75
77
|
sek_fra3,sek,fra,,,,,,3m,q,,,,,FALSE,mf,stk,0,,sek,,act360,,,,,,,,,,,,,,,,,,,,,,,none_simple,,ibor(2),,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
|
76
78
|
eur_fra3,eur,fra,,,,,,3m,q,,,,,FALSE,mf,tgt,0,,eur,,act360,,,,,,,,,,,,,,,,,,,,,,,none_simple,,ibor(2),,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
|
77
79
|
eur_fra6,eur,fra,,,,,,6m,s,,,,,FALSE,mf,tgt,0,,eur,,act360,,,,,,,,,,,,,,,,,,,,,,,none_simple,,ibor(2),,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
|
78
80
|
eur_fra1,eur,fra,,,,,,1m,m,,,,,FALSE,mf,tgt,0,,eur,,act360,,,,,,,,,,,,,,,,,,,,,,,none_simple,,ibor(2),,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
|
79
81
|
nok_fra3,nok,fra,,,,,,3m,q,,,,,FALSE,mf,osl,0,,nok,,act360,,,,,,,,,,,,,,,,,,,,,,,none_simple,,ibor(2),,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
|
80
82
|
nok_fra6,nok,fra,,,,,,6m,s,,,,,FALSE,mf,osl,0,,nok,,act360,,,,,,,,,,,,,,,,,,,,,,,none_simple,,ibor(2),,,,,,,,,,,,,,,,,,,,,,,,,,,,
|
|
81
|
-
usd_frn5,usd,frn,,,,,,,q,,,,,FALSE,mf,nyc,0,,usd,,act360,,,,,,,,,,,,,,,,,,none_simple,,rfr_observation_shift(5),,,,,,,,,,,,,,,,,,,,,,,,,,1,
|
|
83
|
+
usd_frn5,usd,frn,,,,,,,q,,,,,FALSE,mf,nyc,0,,usd,,act360,,,,,,,,,,,,,,,,,,none_simple,,rfr_observation_shift(5),,,,,,,,,,,,,,,,,,,,,,,,,,1,1b,,,,,,
|
|
82
84
|
usd_stir,usd,stir,,SFR,3m SOFR Futures convention,,,,q,,,,imm,FALSE,mf,nyc,0,,usd,,actacticma,,,,,,,,,,,,,,,,,,,,,,,none_simple,,rfr_payment_delay,usd_rfr,,,,,,,,,,,,,,,,,,,,,,,1000000,,,,
|
|
83
85
|
usd_stir1,usd,stir,,SF1,1m Avergaed SOFR Futures,,,,m,,,,som,FALSE,mf,nyc,0,,usd,,actacticma,,,,,,,,,,,,,,,,,,,,,,,none_simple,,rfr_payment_delay_avg,usd_rfr,,,,,,,,,,,,,,,,,,,,,,,5000400,,,,
|
|
84
86
|
eur_stir,eur,stir,,KTR,3m ESTR Futures,,,,q,,,,imm,FALSE,mf,tgt,0,,eur,,actacticma,,,,,,,,,,,,,,,,,,,,,,,none_simple,,rfr_payment_delay,eur_rfr,,,,,,,,,,,,,,,,,,,,,,,1000000,,,,
|
|
@@ -1292,15 +1292,21 @@ class IRSSeries:
|
|
|
1292
1292
|
|
|
1293
1293
|
.. ipython:: python
|
|
1294
1294
|
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
calendar="tgt|fed", # <- Spot FX measures settlement dates according to this calendar
|
|
1295
|
+
irss = IRSSeries(
|
|
1296
|
+
currency="nok",
|
|
1298
1297
|
settle=2,
|
|
1299
|
-
|
|
1300
|
-
|
|
1298
|
+
calendar="osl",
|
|
1299
|
+
convention="30e360",
|
|
1300
|
+
leg2_convention="act360",
|
|
1301
|
+
frequency="A",
|
|
1302
|
+
leg2_frequency="Q",
|
|
1303
|
+
leg2_fixing_method="Ibor(2)",
|
|
1304
|
+
eom=False,
|
|
1305
|
+
modifier="MF",
|
|
1306
|
+
payment_lag=0
|
|
1301
1307
|
)
|
|
1302
|
-
|
|
1303
|
-
|
|
1308
|
+
irss.settle
|
|
1309
|
+
|
|
1304
1310
|
|
|
1305
1311
|
.. role:: red
|
|
1306
1312
|
|
|
@@ -1324,7 +1330,7 @@ class IRSSeries:
|
|
|
1324
1330
|
leg2_frequency: str, :green:`optional (set by 'defaults')`
|
|
1325
1331
|
The leg2_frequency passed to the :class:`~rateslib.instruments.IRS`
|
|
1326
1332
|
leg2_fixing_method: FloatFixingMethod, str, :green:`optional (set by 'defaults')`
|
|
1327
|
-
The :class:`~rateslib.enums.
|
|
1333
|
+
The :class:`~rateslib.enums.FloatFixingMethod` describing the determination
|
|
1328
1334
|
of the floating rate for each period.
|
|
1329
1335
|
eom : bool, :green:`optional`
|
|
1330
1336
|
The eom passed to the :class:`~rateslib.instruments.IRS`
|
|
@@ -1393,25 +1399,25 @@ class IRSSeries:
|
|
|
1393
1399
|
|
|
1394
1400
|
@property
|
|
1395
1401
|
def convention(self) -> Convention:
|
|
1396
|
-
"""The :class
|
|
1402
|
+
"""The :class:`~rateslib.scheduling.Convention` of leg1 of
|
|
1397
1403
|
the associated :class:`~rateslib.instruments.IRS`"""
|
|
1398
1404
|
return self._convention
|
|
1399
1405
|
|
|
1400
1406
|
@property
|
|
1401
1407
|
def leg2_convention(self) -> Convention:
|
|
1402
|
-
"""The :class
|
|
1408
|
+
"""The :class:`~rateslib.scheduling.Convention` of leg2 of
|
|
1403
1409
|
the associated :class:`~rateslib.instruments.IRS`"""
|
|
1404
1410
|
return self._leg2_convention
|
|
1405
1411
|
|
|
1406
1412
|
@property
|
|
1407
1413
|
def modifier(self) -> Adjuster:
|
|
1408
|
-
"""The :class
|
|
1414
|
+
"""The :class:`~rateslib.scheduling.Adjuster` for accrual modification
|
|
1409
1415
|
of the associated :class:`~rateslib.instruments.IRS`"""
|
|
1410
1416
|
return self._modifier
|
|
1411
1417
|
|
|
1412
1418
|
@property
|
|
1413
1419
|
def payment_lag(self) -> Adjuster | int | str_:
|
|
1414
|
-
"""The :class
|
|
1420
|
+
"""The :class:`~rateslib.scheduling.Adjuster` for payment date modification
|
|
1415
1421
|
of the associated :class:`~rateslib.instruments.IRS`"""
|
|
1416
1422
|
return self._payment_lag
|
|
1417
1423
|
|
|
@@ -58,6 +58,22 @@ def _dual_float(val: DualTypes) -> float:
|
|
|
58
58
|
raise e
|
|
59
59
|
|
|
60
60
|
|
|
61
|
+
def _dual_round(val: DualTypes, ndigits: int) -> DualTypes:
|
|
62
|
+
"""Overload for the round() builtin to handle Duals: ONLY impacting the real quantity"""
|
|
63
|
+
try:
|
|
64
|
+
return round(val, ndigits) # type: ignore[arg-type]
|
|
65
|
+
except TypeError as e: # val is not Number but a Variable
|
|
66
|
+
if isinstance(val, Dual):
|
|
67
|
+
return Dual.vars_from(val, round(val.real, ndigits), val.vars, val.dual)
|
|
68
|
+
elif isinstance(val, Dual2):
|
|
69
|
+
return Dual2.vars_from(
|
|
70
|
+
val, round(val.real, ndigits), val.vars, val.dual, val.dual2.ravel()
|
|
71
|
+
)
|
|
72
|
+
elif isinstance(val, Variable):
|
|
73
|
+
return Variable(round(val.real, ndigits), vars=val.vars, dual=val.dual)
|
|
74
|
+
raise e
|
|
75
|
+
|
|
76
|
+
|
|
61
77
|
def _float_or_none(val: DualTypes | None | NoInput | Result[DualTypes]) -> float | None:
|
|
62
78
|
if val is None or isinstance(val, NoInput | Err):
|
|
63
79
|
return None
|
|
@@ -19,6 +19,8 @@ from rateslib.enums.parameters import (
|
|
|
19
19
|
IROptionMetric,
|
|
20
20
|
LegIndexBase,
|
|
21
21
|
LegMtm,
|
|
22
|
+
OptionPricingModel,
|
|
23
|
+
OptionType,
|
|
22
24
|
SpreadCompoundMethod,
|
|
23
25
|
SwaptionSettlementMethod,
|
|
24
26
|
)
|
|
@@ -31,6 +33,8 @@ __all__ = [
|
|
|
31
33
|
"SwaptionSettlementMethod",
|
|
32
34
|
"FXOptionMetric",
|
|
33
35
|
"IROptionMetric",
|
|
36
|
+
"OptionPricingModel",
|
|
37
|
+
"OptionType",
|
|
34
38
|
"LegMtm",
|
|
35
39
|
"LegIndexBase",
|
|
36
40
|
"NoInput",
|
|
@@ -29,7 +29,9 @@ if TYPE_CHECKING:
|
|
|
29
29
|
YtmDiscountFunction,
|
|
30
30
|
YtmStubDiscountFunction,
|
|
31
31
|
)
|
|
32
|
-
from rateslib.local_types import
|
|
32
|
+
from rateslib.local_types import ( # pragma: no cover
|
|
33
|
+
Any,
|
|
34
|
+
)
|
|
33
35
|
|
|
34
36
|
|
|
35
37
|
class BondCalcMode:
|
|
@@ -395,6 +397,7 @@ class BondCalcMode:
|
|
|
395
397
|
""" # noqa: E501, W293
|
|
396
398
|
|
|
397
399
|
_settle_accrual: AccrualFunction
|
|
400
|
+
# _settle_accrual_rounding: int | None
|
|
398
401
|
_ytm_accrual: AccrualFunction
|
|
399
402
|
_v1: YtmStubDiscountFunction
|
|
400
403
|
_v2: YtmDiscountFunction
|
|
@@ -413,6 +416,7 @@ class BondCalcMode:
|
|
|
413
416
|
c1: str | CashflowFunction,
|
|
414
417
|
ci: str | CashflowFunction,
|
|
415
418
|
cn: str | CashflowFunction,
|
|
419
|
+
# settle_accrual_rounding: int_ = NoInput(0),
|
|
416
420
|
):
|
|
417
421
|
self._kwargs: dict[str, str] = {}
|
|
418
422
|
for name, func, _map in zip(
|
|
@@ -437,6 +441,13 @@ class BondCalcMode:
|
|
|
437
441
|
setattr(self, f"_{name}", func)
|
|
438
442
|
self._kwargs[name] = "custom"
|
|
439
443
|
|
|
444
|
+
# if isinstance(settle_accrual_rounding, NoInput):
|
|
445
|
+
# self._settle_accrual_rounding = None
|
|
446
|
+
# self._kwargs["settle_accrual_rounding"] = "none"
|
|
447
|
+
# else:
|
|
448
|
+
# self._settle_accrual_rounding = settle_accrual_rounding
|
|
449
|
+
# self._kwargs["settle_accrual_rounding"] = str(settle_accrual_rounding)
|
|
450
|
+
|
|
440
451
|
@property
|
|
441
452
|
def kwargs(self) -> dict[str, str]:
|
|
442
453
|
"""String representation of the parameters for the calculation convention."""
|
|
@@ -511,6 +522,18 @@ UK_GB = BondCalcMode(
|
|
|
511
522
|
cn="cashflow",
|
|
512
523
|
)
|
|
513
524
|
|
|
525
|
+
CN_GB = BondCalcMode(
|
|
526
|
+
# Chinese government bond conventions
|
|
527
|
+
settle_accrual="linear_days",
|
|
528
|
+
ytm_accrual="linear_days",
|
|
529
|
+
v1="compounding",
|
|
530
|
+
v2="regular",
|
|
531
|
+
v3="compounding",
|
|
532
|
+
c1="cashflow",
|
|
533
|
+
ci="cashflow",
|
|
534
|
+
cn="cashflow",
|
|
535
|
+
)
|
|
536
|
+
|
|
514
537
|
NZ_GB = BondCalcMode(
|
|
515
538
|
# New Zealand government bond conventions
|
|
516
539
|
settle_accrual="linear_days",
|
|
@@ -523,6 +546,19 @@ NZ_GB = BondCalcMode(
|
|
|
523
546
|
cn="cashflow",
|
|
524
547
|
)
|
|
525
548
|
|
|
549
|
+
AU_GB = BondCalcMode(
|
|
550
|
+
# Australian government bond conventions
|
|
551
|
+
settle_accrual="linear_days",
|
|
552
|
+
# settle_accrual_rounding=3,
|
|
553
|
+
ytm_accrual="linear_days",
|
|
554
|
+
v1="compounding_final_simple_act365f",
|
|
555
|
+
v2="regular",
|
|
556
|
+
v3="compounding",
|
|
557
|
+
c1="cashflow",
|
|
558
|
+
ci="cashflow",
|
|
559
|
+
cn="cashflow",
|
|
560
|
+
)
|
|
561
|
+
|
|
526
562
|
US_GB = BondCalcMode(
|
|
527
563
|
# US Treasury street convention
|
|
528
564
|
settle_accrual="linear_days_long_front_split",
|
|
@@ -698,6 +734,8 @@ NO_GBB = BillCalcMode(
|
|
|
698
734
|
BOND_MODE_MAP = {
|
|
699
735
|
"uk_gb": UK_GB,
|
|
700
736
|
"nz_gb": NZ_GB,
|
|
737
|
+
"au_gb": AU_GB,
|
|
738
|
+
"cn_gb": CN_GB,
|
|
701
739
|
"us_gb": US_GB,
|
|
702
740
|
"de_gb": DE_GB,
|
|
703
741
|
"fr_gb": FR_GB,
|
|
@@ -80,4 +80,5 @@ class _WithAccrued(Protocol):
|
|
|
80
80
|
calculation mode specific to the :class:`~rateslib.instruments.BondCalcMode`.
|
|
81
81
|
|
|
82
82
|
""" # noqa: E501
|
|
83
|
-
|
|
83
|
+
value = self._accrued(settlement, self.kwargs.meta["calc_mode"]._settle_accrual)
|
|
84
|
+
return value
|