Skip to content

Commit ee2b4ae

Browse files
committed
format
1 parent fca981d commit ee2b4ae

2 files changed

Lines changed: 41 additions & 13 deletions

File tree

ogcore/fiscal.py

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,7 @@ def D_G_path(r, dg_fixed_values, p):
8787
G = p.alpha_G[: p.T] * Y[: p.T]
8888
D_f = np.zeros(p.T)
8989
D_d = np.zeros(p.T)
90-
r_gov = get_r_gov(
91-
r[: p.T + p.S], 0, p, method="TPI"
92-
)[:p.T]
90+
r_gov = get_r_gov(r[: p.T + p.S], 0, p, method="TPI")[: p.T]
9391
new_borrowing = np.zeros(p.T)
9492
debt_service = np.zeros(p.T)
9593
new_borrowing_f = np.zeros(p.T)
@@ -163,7 +161,9 @@ def D_G_path(r, dg_fixed_values, p):
163161
- total_tax_revenue[t]
164162
)
165163
# find r_gov for the period
166-
r_gov[t+1] = get_r_gov(r[t+1], D[t+1] / Y[t+1], p, method="scalar", t=t+1)
164+
r_gov[t + 1] = get_r_gov(
165+
r[t + 1], D[t + 1] / Y[t + 1], p, method="scalar", t=t + 1
166+
)
167167
D_ratio_max = np.amax(D[: p.T] / Y[: p.T])
168168
print("Maximum debt ratio: ", D_ratio_max)
169169

@@ -381,11 +381,29 @@ def get_r_gov(r, DY_ratio, p, method, t=0):
381381
382382
"""
383383
if method == "SS":
384-
r_gov = np.maximum(p.r_gov_scale[-1] * r - p.r_gov_shift[-1] + p.r_gov_DY * DY_ratio + p.r_gov_DY2 * DY_ratio ** 2, 0.00)
384+
r_gov = np.maximum(
385+
p.r_gov_scale[-1] * r
386+
- p.r_gov_shift[-1]
387+
+ p.r_gov_DY * DY_ratio
388+
+ p.r_gov_DY2 * DY_ratio**2,
389+
0.00,
390+
)
385391
elif method == "scalar":
386-
r_gov = np.maximum(p.r_gov_scale[t] * r - p.r_gov_shift[t] + p.r_gov_DY * DY_ratio + p.r_gov_DY2 * DY_ratio ** 2, 0.00)
392+
r_gov = np.maximum(
393+
p.r_gov_scale[t] * r
394+
- p.r_gov_shift[t]
395+
+ p.r_gov_DY * DY_ratio
396+
+ p.r_gov_DY2 * DY_ratio**2,
397+
0.00,
398+
)
387399
else:
388-
r_gov = np.maximum(p.r_gov_scale * r - p.r_gov_shift + p.r_gov_DY * DY_ratio + p.r_gov_DY2 * DY_ratio ** 2, 0.00)
400+
r_gov = np.maximum(
401+
p.r_gov_scale * r
402+
- p.r_gov_shift
403+
+ p.r_gov_DY * DY_ratio
404+
+ p.r_gov_DY2 * DY_ratio**2,
405+
0.00,
406+
)
389407

390408
return r_gov
391409

tests/test_fiscal.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,9 @@
2727
D_f1 = df["D_f1"].values
2828
D_f2 = df["D_f2"].values
2929
D_f3 = df["D_f3"].values
30-
r_gov1 = np.ones_like(df["D1"].values) * 0.05 - 0.02 # 0.02 is the default r_gov_shift parameter and the default scale parameter is 1.0, meaning r_gov1 = 0.05 - 0.02 = 0.03
30+
r_gov1 = (
31+
np.ones_like(df["D1"].values) * 0.05 - 0.02
32+
) # 0.02 is the default r_gov_shift parameter and the default scale parameter is 1.0, meaning r_gov1 = 0.05 - 0.02 = 0.03
3133
r_gov2 = r_gov1
3234
r_gov3 = r_gov1
3335
nb1 = df["new_borrow1"].values
@@ -275,18 +277,19 @@ def test_get_TR(
275277
"r_gov_scale": [1.5],
276278
"r_gov_shift": [0.01],
277279
"r_gov_DY": 0.01,
278-
"r_gov_DY2": 0.001
280+
"r_gov_DY2": 0.001,
279281
}
280282
)
281283
p4.r_gov_scale = [1.5]
282284
p4.r_gov_shift = [0.01]
283285
r_gov4 = (
284-
r * p4.r_gov_scale[0] - p4.r_gov_shift[0] +
285-
p4.r_gov_DY * 0.5 + p4.r_gov_DY2 * 0.25
286+
r * p4.r_gov_scale[0]
287+
- p4.r_gov_shift[0]
288+
+ p4.r_gov_DY * 0.5
289+
+ p4.r_gov_DY2 * 0.25
286290
)
287291

288292

289-
290293
@pytest.mark.parametrize(
291294
"r,p,DY_ratio,method,r_gov_expected",
292295
[
@@ -297,7 +300,14 @@ def test_get_TR(
297300
(r, p3, 0, "scalar", r_gov3),
298301
(r, p4, 0.5, "scalar", r_gov4),
299302
],
300-
ids=["Scale only", "Scale and shift", "r_gov < 0", "TPI", "scalar", "DY params"],
303+
ids=[
304+
"Scale only",
305+
"Scale and shift",
306+
"r_gov < 0",
307+
"TPI",
308+
"scalar",
309+
"DY params",
310+
],
301311
)
302312
def test_get_r_gov(r, p, DY_ratio, method, r_gov_expected):
303313
r_gov = fiscal.get_r_gov(r, DY_ratio, p, method, t=0)

0 commit comments

Comments
 (0)