-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathEinkommenssteuertarif.py
87 lines (68 loc) · 2.36 KB
/
Einkommenssteuertarif.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
'''
Vorsicht vor der 4% Regel (Teil 3) – welchen Einfluss haben Steuern auf die sichere Entnahmerate?
Sichere Entnahmerate mit Steuer
https://www.finanzen-erklaert.de/vorsicht-vor-der-4-regel-teil-3-welchen-einfluss-haben-steuern-auf-die-sichere-entnahmerate/
'''
import pandas as pd
import time
import plotly.express as px
from SEsimulation.CalEst_Forecast import CalEst_Forecast
startTime = time.time()
# Auswertebereiche
years = range(2019, 2080, 1) # Jahre
# Datenstruktur
meanTax = pd.DataFrame(columns=['Grundfreibetrag','Ende Tarifzone 2','Schwelle Spitzensteuersatz'], index=years)
column_indexer = 0
# Auswertung der Steuertarifzonen über die Jahre 2019 - 2079
for year in years:
# Berechnung der Tarifzonen
Est, Tarifzone = CalEst_Forecast(60000, year - 2019)
# In Datenstruktur abspeichern
meanTax.iloc[column_indexer, 0] = Tarifzone['Zone1']
meanTax.iloc[column_indexer, 1] = Tarifzone['Zone2']
meanTax.iloc[ column_indexer, 2] = Tarifzone['Zone3']
column_indexer += 1
# Auswertung Durchschnittssteuersatz über die Jahre sowie über Einkommenshöhen
column_indexer = 0
row_indexer = 0
zvEs = [25000, 50000, 75000, 100000] # zu versteuerndes Einkommen
# Datenstruktur
tarifTax = pd.DataFrame(columns=zvEs, index=years)
for zvE in zvEs:
for year in years:
Est, Tarifzone = CalEst_Forecast(zvE, year-2019)
# Update Laufzeit
tarifTax.iloc[row_indexer, column_indexer] = 100 * Est / zvE
row_indexer += 1
column_indexer +=1
row_indexer = 0
# Visulisierung des Durchschnittssteuersatzes
fig = px.line(tarifTax)
fig.update_layout(
title="Angenommene Entwicklung des Durchschnittssteuersatzes für vers. Einkommenshöhen",
xaxis_title="Jahre",
yaxis_title="Durchschnittssteuersatz [%]",
legend_title="Kapital [€]",
font=dict(
family="Courier New, monospace",
size=18,
color="RebeccaPurple"
)
)
fig.show()
# Visulisierung der Tarifzonen
fig = px.line(meanTax)
fig.update_layout(
title="Angenommene Entwicklung der Tarifzonen im Einkommenssteuertarif",
xaxis_title="Jahre",
yaxis_title="Tarifzone [€]",
legend_title="Tarifzonen",
font=dict(
family="Courier New, monospace",
size=18,
color="RebeccaPurple"
)
)
fig.show()
endTime = time.time()
print('\nSimulationsdauer: %5.2f sec.' % (endTime - startTime))