Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

REF: rename reference_currency as currency #677

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion python/rateslib/instruments/rates/multi_currency.py
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@ def __init__(
self.periods = [
NonDeliverableCashflow(
notional=self.kwargs["notional"],
reference_currency=self.kwargs["pair"][0:3]
currency=self.kwargs["pair"][0:3]
if self.kwargs["pair"][0:3] != self.kwargs["currency"]
else self.kwargs["pair"][3:],
settlement_currency=self.kwargs["currency"],
Expand Down
12 changes: 6 additions & 6 deletions python/rateslib/periods/cashflow.py
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ class NonDeliverableCashflow:
notional : float, Dual, Dual2
The notional amount of the cashflow expressed in units of the ``reference_currency``,
unless ``reversed`` in which case in units of ``settlement_currency``.
reference_currency : str
currency : str
The non-deliverable reference currency (3-digit code).
settlement_currency : str
The currency of the deliverable currency (3-digit code), e.g. "usd" or "eur".
Expand Down Expand Up @@ -265,7 +265,7 @@ class NonDeliverableCashflow:

ndc = NonDeliverableCashflow(
notional=2e6, # <- this is USD amount
reference_currency="brl",
currency="brl",
settlement_currency="usd",
settlement=dt(2025, 6, 1),
fixing_date=dt(2025, 5, 29),
Expand All @@ -278,7 +278,7 @@ class NonDeliverableCashflow:
def __init__(
self,
notional: DualTypes,
reference_currency: str,
currency: str,
settlement_currency: str,
settlement: datetime,
fixing_date: datetime,
Expand All @@ -289,12 +289,12 @@ def __init__(
self.notional = notional
self.settlement = settlement
self.settlement_currency = settlement_currency.lower()
self.reference_currency = reference_currency.lower()
self.currency = currency.lower()
self.reversed = reversed
if reversed:
self.pair = f"{self.settlement_currency}{self.reference_currency}"
self.pair = f"{self.settlement_currency}{self.currency}"
else:
self.pair = f"{self.reference_currency}{self.settlement_currency}"
self.pair = f"{self.currency}{self.settlement_currency}"
self.fixing_date = fixing_date
self.fx_rate = fx_rate
self.fx_fixing = fx_fixing
Expand Down
4 changes: 2 additions & 2 deletions python/tests/test_instruments.py
Original file line number Diff line number Diff line change
Expand Up @@ -1949,13 +1949,13 @@ def test_construction(self) -> None:
pair="brlusd",
settlement=dt(2022, 1, 1),
)
assert ndf.periods[0].reference_currency == "brl"
assert ndf.periods[0].currency == "brl"
assert ndf.periods[0].settlement_currency == "usd"
assert ndf.periods[0].reversed is False

def test_construction_reversed(self) -> None:
ndf = NDF(pair="usdbrl", settlement=dt(2022, 1, 1), currency="usd")
assert ndf.periods[0].reference_currency == "brl"
assert ndf.periods[0].currency == "brl"
assert ndf.periods[0].settlement_currency == "usd"
assert ndf.periods[0].reversed is True

Expand Down
18 changes: 9 additions & 9 deletions python/tests/test_periods.py
Original file line number Diff line number Diff line change
Expand Up @@ -2892,7 +2892,7 @@ def fxf_ndf(self):
def test_npv(self, fxf_ndf):
ndf = NonDeliverableCashflow(
notional=1e6,
reference_currency="brl",
currency="brl",
settlement_currency="usd",
settlement=dt(2025, 6, 1),
fixing_date=dt(2025, 5, 29),
Expand All @@ -2905,7 +2905,7 @@ def test_npv(self, fxf_ndf):
def test_npv_reversed(self, fxf_ndf):
ndf = NonDeliverableCashflow(
notional=1e6 * 0.18,
reference_currency="brl",
currency="brl",
settlement_currency="usd",
settlement=dt(2025, 6, 1),
fixing_date=dt(2025, 5, 29),
Expand All @@ -2919,7 +2919,7 @@ def test_npv_reversed(self, fxf_ndf):
def test_npv_fixing(self, fxf_ndf):
ndf = NonDeliverableCashflow(
notional=1e6,
reference_currency="brl",
currency="brl",
settlement_currency="usd",
settlement=dt(2025, 6, 1),
fixing_date=dt(2025, 5, 29),
Expand All @@ -2933,7 +2933,7 @@ def test_npv_fixing(self, fxf_ndf):
def test_rate_as_fixing(self, fxf_ndf):
ndf = NonDeliverableCashflow(
notional=1e6,
reference_currency="brl",
currency="brl",
settlement_currency="usd",
settlement=dt(2025, 6, 1),
fixing_date=dt(2025, 5, 29),
Expand All @@ -2947,7 +2947,7 @@ def test_rate_as_fixing(self, fxf_ndf):
def test_rate(self, fxf_ndf):
ndf = NonDeliverableCashflow(
notional=1e6,
reference_currency="brl",
currency="brl",
settlement_currency="usd",
settlement=dt(2025, 6, 1),
fixing_date=dt(2025, 5, 29),
Expand All @@ -2960,7 +2960,7 @@ def test_rate(self, fxf_ndf):
def test_cashflows_priced(self, fxf_ndf):
ndf = NonDeliverableCashflow(
notional=1e6,
reference_currency="brl",
currency="brl",
settlement_currency="usd",
settlement=dt(2025, 6, 1),
fixing_date=dt(2025, 5, 29),
Expand Down Expand Up @@ -2988,7 +2988,7 @@ def test_cashflows_priced(self, fxf_ndf):
def test_cashflows_no_args(self):
ndf = NonDeliverableCashflow(
notional=1e6,
reference_currency="brl",
currency="brl",
settlement_currency="usd",
settlement=dt(2025, 6, 1),
fixing_date=dt(2025, 5, 29),
Expand All @@ -3015,7 +3015,7 @@ def test_cashflows_no_args(self):
def test_analytic_delta(self):
ndf = NonDeliverableCashflow(
notional=1e6,
reference_currency="brl",
currency="brl",
settlement_currency="usd",
settlement=dt(2025, 6, 1),
fixing_date=dt(2025, 5, 29),
Expand All @@ -3027,7 +3027,7 @@ def test_analytic_delta(self):
def test_cashflow_raises(self, fxf_ndf):
ndf = NonDeliverableCashflow(
notional=1e6,
reference_currency="brl",
currency="brl",
settlement_currency="usd",
settlement=dt(2025, 6, 1),
fixing_date=dt(2025, 5, 29),
Expand Down
Loading