Joseph Spada
commited on
Commit
·
4c98e23
1
Parent(s):
34fea02
revenues slider functionality
Browse files- app.py +22 -6
- graph_data.xlsx +0 -0
app.py
CHANGED
@@ -24,8 +24,8 @@ data = data[[
|
|
24 |
"Debt Balance",
|
25 |
"Revenues ex SS OASDI",
|
26 |
"Average Rate on Federal Debt",
|
27 |
-
"
|
28 |
-
"Net Interest
|
29 |
]]
|
30 |
|
31 |
print(data)
|
@@ -37,30 +37,46 @@ baseline_revenues = 15928.73
|
|
37 |
|
38 |
def plot_interest_coverage(interest_rate, revenues):
|
39 |
|
40 |
-
print(revenues)
|
41 |
-
|
42 |
# calculate the yearly increase in the interest rate based on the projected interest rate in 2054
|
43 |
interest_rate_yearly_increase = (interest_rate - baseline_interest_rate) / (2054 - 2025) / 100
|
44 |
# calculate the yearly increase in revenues based on the projected interest rate in 2054
|
45 |
revenues_yearly_increase = (revenues - baseline_revenues) / (2054 - 2025)
|
46 |
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
# add a projected average rate on federal debt column
|
48 |
data["Average Rate on Federal Debt (Projected)"] = np.where(
|
49 |
data["Year"].astype(int) < 2026,
|
50 |
data["Average Rate on Federal Debt"],
|
51 |
data["Average Rate on Federal Debt"] + (interest_rate_yearly_increase * (data["Year"].astype(int) - 2025)))
|
52 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
53 |
# add a projected interest / revenues column
|
54 |
data["Net Interest / Revenues (Projected)"] = np.where(
|
55 |
data["Year"].astype(int) < 2026,
|
56 |
data["Net Interest / Revenues (Baseline)"],
|
57 |
-
data["Average Rate on Federal Debt (Projected)"] * data["Debt Balance"] / data["Total Revenues"])
|
58 |
|
59 |
# add a projected interest / revenues ex SS OASDI column
|
60 |
data["Net Interest / Revenues ex SS OASDI (Projected)"] = np.where(
|
61 |
data["Year"].astype(int) < 2026,
|
62 |
data["Net Interest / Revenues ex SS OASDI (Baseline)"],
|
63 |
-
data["Average Rate on Federal Debt (Projected)"] * data["Debt Balance"] / data["Revenues ex SS OASDI"])
|
64 |
|
65 |
# Create the plot
|
66 |
plt.figure(figsize = (10, 4.8))
|
|
|
24 |
"Debt Balance",
|
25 |
"Revenues ex SS OASDI",
|
26 |
"Average Rate on Federal Debt",
|
27 |
+
"GDP",
|
28 |
+
"Net Interest"
|
29 |
]]
|
30 |
|
31 |
print(data)
|
|
|
37 |
|
38 |
def plot_interest_coverage(interest_rate, revenues):
|
39 |
|
|
|
|
|
40 |
# calculate the yearly increase in the interest rate based on the projected interest rate in 2054
|
41 |
interest_rate_yearly_increase = (interest_rate - baseline_interest_rate) / (2054 - 2025) / 100
|
42 |
# calculate the yearly increase in revenues based on the projected interest rate in 2054
|
43 |
revenues_yearly_increase = (revenues - baseline_revenues) / (2054 - 2025)
|
44 |
|
45 |
+
# add a baseline net interest / revenues column
|
46 |
+
data["Net Interest / Revenues (Baseline)"] = data["Net Interest"] / data["Total Revenues"]
|
47 |
+
|
48 |
+
# add a baseline net interest / revenues ex SS OASDI column
|
49 |
+
data["Net Interest / Revenues ex SS OASDI (Baseline)"] = data["Net Interest"] / data["Revenues ex SS OASDI"]
|
50 |
+
|
51 |
# add a projected average rate on federal debt column
|
52 |
data["Average Rate on Federal Debt (Projected)"] = np.where(
|
53 |
data["Year"].astype(int) < 2026,
|
54 |
data["Average Rate on Federal Debt"],
|
55 |
data["Average Rate on Federal Debt"] + (interest_rate_yearly_increase * (data["Year"].astype(int) - 2025)))
|
56 |
|
57 |
+
# add a projected revenues column
|
58 |
+
data["Total Revenues (Projected)"] = np.where(
|
59 |
+
data["Year"].astype(int) < 2026,
|
60 |
+
data["Revenues"],
|
61 |
+
data["Revenues"] + (revenues_yearly_increase * (data["Year"].astype(int) - 2025)))
|
62 |
+
|
63 |
+
# add a projected revenues ex SS OASDI column
|
64 |
+
data["Revenues ex SS OASDI (Projected)"] = np.where(
|
65 |
+
data["Year"].astype(int) < 2026,
|
66 |
+
data["Revenues ex SS OASDI"],
|
67 |
+
data["Revenues ex SS OASDI"] + (revenues_yearly_increase * (data["Year"].astype(int) - 2025)))
|
68 |
+
|
69 |
# add a projected interest / revenues column
|
70 |
data["Net Interest / Revenues (Projected)"] = np.where(
|
71 |
data["Year"].astype(int) < 2026,
|
72 |
data["Net Interest / Revenues (Baseline)"],
|
73 |
+
data["Average Rate on Federal Debt (Projected)"] * data["Debt Balance"] / data["Total Revenues (Projected)"])
|
74 |
|
75 |
# add a projected interest / revenues ex SS OASDI column
|
76 |
data["Net Interest / Revenues ex SS OASDI (Projected)"] = np.where(
|
77 |
data["Year"].astype(int) < 2026,
|
78 |
data["Net Interest / Revenues ex SS OASDI (Baseline)"],
|
79 |
+
data["Average Rate on Federal Debt (Projected)"] * data["Debt Balance"] / data["Revenues ex SS OASDI (Projected)"])
|
80 |
|
81 |
# Create the plot
|
82 |
plt.figure(figsize = (10, 4.8))
|
graph_data.xlsx
CHANGED
Binary files a/graph_data.xlsx and b/graph_data.xlsx differ
|
|