Vesting Schedule Calculator
Berechne dein Equity-Vesting-Plan mit Cliff-, Monats-, Quartals- oder Jahres-Vesting.
Über dieses Tool
Ein Vesting-Zeitplan-Rechner hilft Arbeitnehmern und Optionsinhabern zu verstehen, wie ihre Aktienvergütung im Laufe der Zeit verfügbar wird. Aktienvesting ist eine häufige Komponente von Vergütungspaketen, besonders bei Startups und Technologieunternehmen, aber die Mechanik kann mit Cliff-Perioden, Vesting-Zeiträumen und unterschiedlichen Beschleunigungsplänen komplex sein. Mit diesem Tool können Sie Ihr spezifisches Vesting-Szenario modellieren—ob eine Cliff-Periode gefolgt von monatlichem Vesting, vierteljährlichen Meilensteinen oder jährlichen Zuweisungen—sodass Sie genau sehen können, wann Ihre Aktien oder Optionen Ihnen gehören, um sie zu behalten oder zu verkaufen.
Um den Rechner zu verwenden, geben Sie Ihren Gesamtaktienbestand ein, die Cliff-Periode beim Vesting (oft ein Jahr, bevor Aktien verfallen) und Ihr bevorzugtes Vesting-Intervall—monatlich, vierteljährlich oder jährlich. Das Tool zeigt eine Zeitlinie mit dem Aktienbestand, der in jedem Intervall verfällt, dem kumulativen Vesting-Fortschritt und dem verbleibenden unversteckten Betrag. Dies ist besonders nützlich bei der Bewertung von Stellenangeboten, der Planung Ihrer Finanzstrategie oder der Überprüfung Ihrer Berechtigung zum Ausüben von Optionen vor einem großen Unternehmensereignis.
Häufig gestellte Fragen
Code-Implementierung
from datetime import date, timedelta
from dateutil.relativedelta import relativedelta
def generate_vesting_schedule(
total_shares, grant_date, vesting_years=4,
cliff_months=12, frequency="monthly"
):
freq_map = {"monthly": 1, "quarterly": 3, "annually": 12}
period_months = freq_map[frequency]
total_months = vesting_years * 12
schedule = []
cumulative = 0
month = period_months
while month <= total_months:
vest_date = grant_date + relativedelta(months=month)
is_cliff = cliff_months > 0 and month == max(
(cliff_months // period_months) * period_months, period_months
) and month >= cliff_months
if cliff_months > 0 and month < cliff_months:
month += period_months
continue
if is_cliff:
cliff_shares = round(cliff_months / total_months * total_shares)
period_shares = cliff_shares
elif month + period_months > total_months:
period_shares = total_shares - cumulative
else:
period_shares = round(period_months / total_months * total_shares)
cumulative += period_shares
schedule.append({
"date": vest_date, "period_shares": period_shares,
"cumulative": cumulative, "pct": cumulative / total_shares * 100,
"is_cliff": is_cliff
})
month += period_months
return schedule
# 10,000 shares, 4 years, 1-year cliff, monthly vesting
schedule = generate_vesting_schedule(10000, date.today())
for row in schedule[:6]:
cliff = " (CLIFF)" if row["is_cliff"] else ""
print(f"{row['date']}: +{row['period_shares']} shares | {row['cumulative']:,} total | {row['pct']:.1f}%{cliff}")Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.