Skip to content

Commit 8800429

Browse files
committed
test: update tests for new FX data format
1 parent 805195a commit 8800429

File tree

6 files changed

+66
-105
lines changed

6 files changed

+66
-105
lines changed

okama/common/make_asset_list.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ def _get_single_asset_dividends(self, tick: str, remove_forecast: bool = True) -
270270

271271
def _get_assets_dividends(self, remove_forecast=True) -> pd.DataFrame:
272272
"""
273-
Get monthly dividend time series for all assets.
273+
Get monthly dividend time series for all assets. Dividend values are adjusted to base currency.
274274
275275
If `remove_forecast=True` all forecasted (future) data is removed from the time series.
276276
"""

poetry.lock

Lines changed: 56 additions & 96 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ joblib = "^1.1.0"
3636
[tool.poetry.dev-dependencies]
3737
pytest = "^6.0.0"
3838
jupyter = { version = "^1.0.0", optional = true }
39-
ipykernel = { version = "^6.13.0", optional = true }
39+
ipykernel = { version = "^6.15.0", optional = true }
4040
black = {extras = ["jupyter"], version = "^22.3.0"}
4141
#sphinx dependencies
4242
sphinx = { version = "^3", optional = true }

tests/data/asset_list_describe.pkl

34 Bytes
Binary file not shown.

tests/test_asset_list.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ def test_currencies(self):
6565
"asset list": "USD",
6666
}
6767
assert self.currencies.names == {
68-
"RUBUSD.FX": "RUBUSD",
68+
"RUBUSD.FX": "Russian Rouble/US Dollar FX Cross Rate",
6969
"EURUSD.FX": "EURUSD",
70-
"CNYUSD.FX": "CNYUSD",
70+
"CNYUSD.FX": "Chinese Renminbi/US Dollar FX Cross Rate",
7171
}
7272
assert self.currencies.describe().iloc[1, -1] == approx(0.02485, rel=1e-2)
7373

tests/test_portfolio.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -111,21 +111,22 @@ def test_close_monthly(portfolio_not_rebalanced):
111111

112112
def test_get_assets_dividends(portfolio_dividends):
113113
assert portfolio_dividends._get_assets_dividends().iloc[-1, 0] == approx(0, abs=1e-2)
114-
assert portfolio_dividends._get_assets_dividends().iloc[-1, 1] == approx(32.77, rel=1e-2) # T.US 2020-01
114+
# T.US 2020-01=$0.3927 , RUBUSD=63.03 ( http://joxi.ru/823dnYWizBvEOA )
115+
assert portfolio_dividends._get_assets_dividends().iloc[-1, 1] == approx(24.75, rel=1e-2)
115116
assert portfolio_dividends._get_assets_dividends().iloc[-1, 2] == approx(0, rel=1e-2)
116117

117118

118119
def test_number_of_securities(portfolio_not_rebalanced, portfolio_dividends):
119120
assert portfolio_not_rebalanced.number_of_securities.iloc[-1, 0] == approx(8.88, rel=1e-2) # RUB.FX
120121
assert portfolio_not_rebalanced.number_of_securities.iloc[-1, 1] == approx(0.2787, abs=1e-2) # MCFTR.INDX
121122
# with dividends
122-
assert portfolio_dividends.number_of_securities.iloc[-1, 0] == approx(3.90, rel=1e-2) # SBER.MOEX
123-
assert portfolio_dividends.number_of_securities.iloc[-1, 1] == approx(0.41, abs=1e-2) # T.US
124-
assert portfolio_dividends.number_of_securities.iloc[-1, 2] == approx(0.38, abs=1e-2) # GNS.LSE
123+
assert portfolio_dividends.number_of_securities.iloc[-1, 0] == approx(3.97, rel=1e-2) # SBER.MOEX
124+
assert portfolio_dividends.number_of_securities.iloc[-1, 1] == approx(0.425, abs=1e-2) # T.US
125+
assert portfolio_dividends.number_of_securities.iloc[-1, 2] == approx(0.392, abs=1e-2) # GNS.LSE
125126

126127

127128
def test_dividends(portfolio_dividends):
128-
assert portfolio_dividends.dividends.iloc[-1] == approx(13.71, rel=1e-2)
129+
assert portfolio_dividends.dividends.iloc[-1] == approx(10.54, rel=1e-2)
129130

130131

131132
def test_dividend_yield(portfolio_dividends):

0 commit comments

Comments
 (0)