Spaces:
Sleeping
Sleeping
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
|
|
|