Entrepreneurs, Chance, and the Deterministic Concentration of Wealth Joseph E. Fargione, Clarence Lehman, Stephen Polasky https://doi.org/10.1371/journal.pone.0020728 import numpy as np # Für Rechnungen mit Vektoren import scipy.stats as sts # Für die Berechnung der Prognose import matplotlib.pyplot as plt # Für die Erstellung der Grafik n, t = 10000, 200 # Populationsgröße und Zeitraum (Jahre) mu, sigma, tax = 0.05, 0.3, 0.05 # Mittelwert, Streuung und Vermögensteuer n_top, n_tax = 10, 10 # Betrachte die oberen 10% (Einer von 10) top_n, tax_n = n // n_top, n // n_tax # Besteuere die oberen 10% (Einer von 10) X = np.zeros(n) # Simulation beginnt mit Gleichverteilung Y = np.exp(X) # Berechnung der Kapitalvermögen W = Y[0:n].sum() # Berechnung des Gesamtvermögens Q = np.zeros(t+1) # Speicherplatz für die Vermögensanteile Q[0] = Y[n-top_n:n].sum() / W # Vermögensanteil speichern (Quotient) for i in range(t): X[n-tax_n:n] = X[n-tax_n:n] - tax # Abzug der Steuern an der Spitze R = np.random.normal(mu, sigma, n) # Ziehung der zufälligen Raten X = X + R # Berechnung der Exponenten X.sort() # Sortierung der Exponenten Y = np.exp(X) # Berechnung der Kapitalvermögen W = Y[0:n].sum() # Berechnung des Gesamtvermögens Q[i+1] = Y[n-top_n:n].sum() / W # Vermögensanteil speichern (Quotient) T = np.linspace(0, t, num=t+1) # Prognose berechnen (ohne Steuern) P = sts.norm.cdf(sigma*np.sqrt(T)-sts.norm.ppf(1-1/n_top)) fig, ax = plt.subplots(figsize=(10, 5)) fig.suptitle('Entwicklung des Vermögens an der Spitze der Population') ax.set(xlabel='Zeit (Jahre)', ylabel='Anteil am Gesamtvermögen (100% = 1.0)') ax.plot(T, P, 'c', linewidth=2, label='Prognose (ohne Erhebung von Steuern)') ax.plot(Q, 'bo', markersize=4, label='Simulation (mit Erhebung von Steuern)') ax.legend() ax.grid() plt.savefig("Simulation.png", dpi=150)