{"id":33133,"date":"2026-09-28T13:05:25","date_gmt":"2026-09-28T11:05:25","guid":{"rendered":"https:\/\/www.finanzen.net\/ratgeber\/?p=33133"},"modified":"2026-09-28T13:18:56","modified_gmt":"2026-09-28T11:18:56","slug":"renditerechner","status":"publish","type":"post","link":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/renditerechner\/","title":{"rendered":"Rendite-Rechner"},"content":{"rendered":"\n<div class=\"container container--narrow\">\n    <div class=\"header\">\n                <div class=\"header__text\">\n                            <div class=\"headline headline--preline headline--h4 header__preline\">\n                                     <\/div>\n                                        <h1 class=\"headline headline--h1 header__headline headline--has-preline\">\n                    Rendite-Rechner: Rendite einfach und exakt berechnen                <\/h1>\n                        <div class=\"header__excerpt flow-content\">\n                                    <p>Der Renditerechner ermittelt aus deinen tats\u00e4chlichen K\u00e4ufen und Verk\u00e4ufen, wie hoch deine Rendite pro Jahr war. Du gibst jede Zahlung mit Betrag und Datum ein, der Rechner ber\u00fccksichtigt, wie lange jeder Euro gearbeitet hat. Das macht einen gr\u00f6\u00dferen Unterschied, als die meisten erwarten. Wer im Januar 5.000 Euro anlegt, im Juli weitere 5.000 Euro und zum Jahresende 11.000 Euro im Depot hat, rechnet oft 10 Prozent aus. Tats\u00e4chlich sind es 13,5 Prozent, weil die zweite Einzahlung nur ein halbes Jahr investiert war.<\/p>\n                            <\/div>\n            <div class=\"header__footer\">\n                <span class=\"header__meta\">\n                    <img loading=\"lazy\" decoding=\"async\" class=\"header__author-image\"\n                         src=\"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2025\/10\/Roland_Kuse-1-150x150.jpg\"\n                         width=\"58\"\n                         height=\"58\"\n                         alt=\"\">\n                    <span class=\"header__meta-info\">\n                        <span class=\"header__author-name\">\n                            von <a href=\"https:\/\/www.finanzen.net\/ratgeber\/author\/roland-kruse\/\" rel=\"author\" class=\"link link--no-underline\">Roland Kuse<\/a>                        <\/span>\n                        <span class=\"header__date\">\n                            <span class=\"hide-on-smartphone\">Aktualisiert am<\/span>\n                            <time datetime=\"2026-09-28 13:18\"\n                                  title=\"Aktualisiert am 28.09.2026\">\n                                28.09.26                            <\/time>\n                        <\/span>\n                    <\/span>\n                <\/span>\n\n                            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n\n<div class=\"container container--narrow\" >\n    <div class=\"text\">\n        <div class=\"text__inner flow-content\">\n                            <style>\r\n.wp-portfolio-rendite-calculator-container { max-width: 900px; margin: 20px auto; padding: 20px; font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif; background-color: #ffffff; border-radius: 16px; border: 3px solid #e2e8f0; box-shadow: 0 4px 12px rgba(0,0,0,0.1); color: #1a202c; }\r\n.wp-portfolio-rendite-calculator-container .section-title { font-size: 14px; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: 0.5px; margin: 25px 0 15px 0; padding-bottom: 8px; border-bottom: 2px solid #e2e8f0; }\r\n.wp-portfolio-rendite-calculator-container .section-title:first-of-type { margin-top: 0; }\r\n.wp-portfolio-rendite-calculator-container .calculator-form .input-group { display: flex; align-items: center; margin-bottom: 15px; }\r\n.wp-portfolio-rendite-calculator-container .calculator-form .input-group label { width: 240px; flex-shrink: 0; margin-right: 10px; font-weight: 600; color: #4a5568; display: flex; align-items: center; gap: 6px; }\r\n.wp-portfolio-rendite-calculator-container .input-wrapper { position: relative; flex-grow: 1; }\r\n.wp-portfolio-rendite-calculator-container .calculator-form .input-group input,\r\n.wp-portfolio-rendite-calculator-container .calculator-form .input-group select { width: 100%; padding: 10px; padding-right: 60px; border: 1px solid #e2e8f0; border-radius: 8px; box-sizing: border-box; font-size: 16px; }\r\n.wp-portfolio-rendite-calculator-container .input-unit { position: absolute; top: 50%; transform: translateY(-50%); right: 15px; color: #718096; font-weight: 500; pointer-events: none; }\r\n.wp-portfolio-rendite-calculator-container .calculator-form .input-group select { padding-right: 40px; -webkit-appearance: none; -moz-appearance: none; appearance: none; background-image: url('data:image\/svg+xml;charset=UTF-8,%3Csvg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 20 20\" fill=\"%23718096\"%3E%3Cpath fill-rule=\"evenodd\" d=\"M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z\" clip-rule=\"evenodd\" \/%3E%3C\/svg%3E'); background-repeat: no-repeat; background-position: right 12px center; background-size: 1.2em; cursor: pointer; }\r\n.wp-portfolio-rendite-calculator-container .tooltip-trigger { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; background-color: #e2e8f0; color: #64748b; border-radius: 50%; font-size: 12px; font-weight: 700; cursor: help; position: relative; }\r\n.wp-portfolio-rendite-calculator-container .tooltip-trigger:hover::after { content: attr(data-tooltip); position: absolute; left: 50%; transform: translateX(-50%); bottom: 100%; margin-bottom: 8px; padding: 8px 12px; background-color: #1e293b; color: white; font-size: 12px; font-weight: 400; border-radius: 6px; z-index: 100; width: 240px; white-space: normal; text-align: left; }\r\n.wp-portfolio-rendite-calculator-container .date-input-group { display: flex; gap: 8px; }\r\n.wp-portfolio-rendite-calculator-container .date-input-group select { flex: 1; padding: 10px; padding-right: 30px; }\r\n.wp-portfolio-rendite-calculator-container .button-container { display: flex; gap: 10px; margin-top: 25px; }\r\n.wp-portfolio-rendite-calculator-container .calculate-button,\r\n.wp-portfolio-rendite-calculator-container .reset-button { border-radius: 8px; padding: 12px 20px; cursor: pointer; width: 100%; font-size: 16px; font-weight: 700; transition: all 0.2s; border: none; }\r\n.wp-portfolio-rendite-calculator-container .calculate-button { background-color: #4A69FF; color: white; }\r\n.wp-portfolio-rendite-calculator-container .calculate-button:hover { background-color: #3a50d2; }\r\n.wp-portfolio-rendite-calculator-container .reset-button { background-color: #fee2e2; color: #dc2626; border: 1px solid #fecaca; }\r\n.wp-portfolio-rendite-calculator-container .reset-button:hover { background-color: #fecaca; }\r\n.wp-portfolio-rendite-calculator-container .add-transaction-btn { background-color: #f0fdf4; color: #16a34a; border: 1px solid #bbf7d0; border-radius: 8px; padding: 10px 16px; cursor: pointer; font-size: 14px; font-weight: 600; margin-top: 10px; display: flex; align-items: center; gap: 8px; }\r\n.wp-portfolio-rendite-calculator-container .add-transaction-btn:hover { background-color: #dcfce7; }\r\n.wp-portfolio-rendite-calculator-container .remove-transaction-btn { background-color: #fee2e2; color: #dc2626; border: 1px solid #fecaca; border-radius: 6px; padding: 6px 10px; cursor: pointer; font-size: 12px; font-weight: 600; margin-left: 10px; }\r\n.wp-portfolio-rendite-calculator-container .remove-transaction-btn:hover { background-color: #fecaca; }\r\n.wp-portfolio-rendite-calculator-container .transaction-block { background-color: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 15px; margin-bottom: 15px; position: relative; }\r\n.wp-portfolio-rendite-calculator-container .transaction-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; }\r\n.wp-portfolio-rendite-calculator-container .transaction-title { font-weight: 700; color: #4a5568; font-size: 14px; }\r\n.wp-portfolio-rendite-calculator-container .results-wrapper { margin-top: 30px; border-top: 2px solid #e2e8f0; padding-top: 25px; }\r\n.wp-portfolio-rendite-calculator-container .result-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }\r\n.wp-portfolio-rendite-calculator-container .result-header-title { font-size: 20px; font-weight: 700; margin: 0; }\r\n.wp-portfolio-rendite-calculator-container .permalink-button { background: none; border: none; color: #4A69FF; cursor: pointer; font-size: 14px; font-weight: 700; }\r\n.wp-portfolio-rendite-calculator-container .result-main { background: linear-gradient(135deg, #4A69FF 0%, #6B8CFF 100%); color: white; padding: 30px; border-radius: 12px; text-align: center; margin-bottom: 24px; }\r\n.wp-portfolio-rendite-calculator-container .result-main .result-label { font-size: 16px; opacity: 0.9; margin-bottom: 8px; }\r\n.wp-portfolio-rendite-calculator-container .result-main .result-number { font-size: 42px; font-weight: 800; }\r\n.wp-portfolio-rendite-calculator-container .result-main .result-sub { font-size: 14px; opacity: 0.85; margin-top: 8px; }\r\n.wp-portfolio-rendite-calculator-container .result-details { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin-bottom: 24px; }\r\n.wp-portfolio-rendite-calculator-container .result-card { background-color: #f8fafc; padding: 16px; border-radius: 10px; border: 1px solid #e2e8f0; }\r\n.wp-portfolio-rendite-calculator-container .result-card .card-label { font-size: 13px; color: #64748b; margin-bottom: 4px; display: flex; align-items: center; gap: 6px; }\r\n.wp-portfolio-rendite-calculator-container .result-card .card-value { font-size: 20px; font-weight: 700; color: #1e293b; }\r\n.wp-portfolio-rendite-calculator-container .result-card .card-value.positive { color: #16a34a; }\r\n.wp-portfolio-rendite-calculator-container .result-card .card-value.negative { color: #dc2626; }\r\n.wp-portfolio-rendite-calculator-container .result-summary { background-color: #f0fdf4; border: 1px solid #bbf7d0; padding: 16px; border-radius: 8px; margin-bottom: 24px; line-height: 1.7; color: #15803d; }\r\n.wp-portfolio-rendite-calculator-container .result-summary strong { color: #166534; }\r\n.wp-portfolio-rendite-calculator-container .result-summary.negative { background-color: #fef2f2; border-color: #fecaca; color: #dc2626; }\r\n.wp-portfolio-rendite-calculator-container .result-summary.negative strong { color: #b91c1c; }\r\n.wp-portfolio-rendite-calculator-container .chart-section { margin-top: 30px; }\r\n.wp-portfolio-rendite-calculator-container .chart-section h4 { font-size: 18px; font-weight: 700; margin-bottom: 16px; }\r\n.wp-portfolio-rendite-calculator-container .chart-container { position: relative; height: 300px; }\r\n.wp-portfolio-rendite-calculator-container .legend { display: flex; flex-wrap: wrap; gap: 20px; margin-bottom: 16px; }\r\n.wp-portfolio-rendite-calculator-container .legend-item { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #4a5568; }\r\n.wp-portfolio-rendite-calculator-container .legend-color { width: 16px; height: 16px; border-radius: 4px; }\r\n.wp-portfolio-rendite-calculator-container .show-table-btn { background: none; border: 1px solid #e2e8f0; color: #475569; padding: 10px 16px; border-radius: 8px; cursor: pointer; font-size: 14px; font-weight: 600; }\r\n.wp-portfolio-rendite-calculator-container .show-table-btn:hover { background-color: #f8fafc; }\r\n.wp-portfolio-rendite-calculator-container .table-wrapper { max-height: 400px; overflow-y: auto; border: 1px solid #e2e8f0; border-radius: 8px; margin-top: 16px; }\r\n.wp-portfolio-rendite-calculator-container .data-table { width: 100%; border-collapse: collapse; font-size: 14px; }\r\n.wp-portfolio-rendite-calculator-container .data-table th,\r\n.wp-portfolio-rendite-calculator-container .data-table td { padding: 10px 12px; text-align: right; border-bottom: 1px solid #e2e8f0; }\r\n.wp-portfolio-rendite-calculator-container .data-table th { background-color: #f8fafc; font-weight: 600; color: #475569; position: sticky; top: 0; }\r\n.wp-portfolio-rendite-calculator-container .data-table th:first-child,\r\n.wp-portfolio-rendite-calculator-container .data-table td:first-child { text-align: left; }\r\n.wp-portfolio-rendite-calculator-container .data-table tbody tr:hover { background-color: #f8fafc; }\r\n.wp-portfolio-rendite-calculator-container .data-table .buy-row { background-color: #f0fdf4; }\r\n.wp-portfolio-rendite-calculator-container .data-table .sell-row { background-color: #fef2f2; }\r\n.wp-portfolio-rendite-calculator-container .export-button { border-radius: 8px; padding: 12px 20px; cursor: pointer; width: 100%; font-size: 16px; font-weight: 700; background-color: #f0fdf4; color: #16a34a; border: 1px solid #bbf7d0; margin-top: 16px; }\r\n.wp-portfolio-rendite-calculator-container .export-button:hover { background-color: #dcfce7; }\r\n.wp-portfolio-rendite-calculator-container .info-box { background-color: #f0f9ff; border: 1px solid #bae6fd; padding: 12px 16px; border-radius: 8px; margin-top: 16px; font-size: 13px; color: #0369a1; line-height: 1.6; }\r\n.wp-portfolio-rendite-calculator-container .warn-box { background-color: #fffbeb; border: 1px solid #fcd34d; color: #92400e; padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; font-size: 14px; line-height: 1.5; }\r\n.wp-portfolio-rendite-calculator-container .error-box { background-color: #fef2f2; border: 1px solid #fecaca; padding: 12px 16px; border-radius: 8px; margin-top: 16px; font-size: 14px; color: #dc2626; font-weight: 600; }\r\n.wp-portfolio-rendite-calculator-container .cta-button-container { margin-top: 10px; }\r\n.wp-portfolio-rendite-calculator-container .cta-button-container .cta-button { display: block; width: 100%; border-radius: 8px; padding: 12px 20px; cursor: pointer; font-size: 16px; font-weight: 700; transition: all 0.2s; border: none; background-color: #fa2879; color: white; text-align: center; text-decoration: none; box-sizing: border-box; }\r\n.wp-portfolio-rendite-calculator-container .cta-button-container .cta-button:hover { background-color: #d91f66; }\r\n@media (max-width: 768px) {\r\n    .wp-portfolio-rendite-calculator-container .calculator-form .input-group { flex-direction: column; align-items: flex-start; }\r\n    .wp-portfolio-rendite-calculator-container .calculator-form .input-group label { width: 100%; margin-bottom: 8px; }\r\n    .wp-portfolio-rendite-calculator-container .date-input-group { flex-wrap: wrap; }\r\n    .wp-portfolio-rendite-calculator-container .date-input-group select { min-width: calc(33% - 6px); }\r\n    .wp-portfolio-rendite-calculator-container .result-main .result-number { font-size: 32px; }\r\n    .wp-portfolio-rendite-calculator-container .result-details { grid-template-columns: 1fr; }\r\n    .wp-portfolio-rendite-calculator-container .button-container { flex-direction: column; }\r\n}\r\n<\/style>\r\n\r\n<div class=\"wp-portfolio-rendite-calculator-container\">\r\n    <form class=\"calculator-form\" onsubmit=\"return false;\">\r\n\r\n        <div class=\"section-title\">1. Transaktion<\/div>\r\n\r\n        <div class=\"transaction-block\" data-index=\"0\">\r\n            <div class=\"input-group\">\r\n                <label for=\"portfolio-summe-0\">\r\n                    Summe\r\n                    <span class=\"tooltip-trigger\" data-tooltip=\"Der Betrag der Transaktion in Euro.\">?<\/span>\r\n                <\/label>\r\n                <div class=\"input-wrapper\">\r\n                    <input type=\"number\" id=\"portfolio-summe-0\" value=\"5000\" step=\"100\" min=\"0\">\r\n                    <span class=\"input-unit\">EUR<\/span>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"input-group\">\r\n                <label for=\"portfolio-tag-0\">\r\n                    Datum\r\n                    <span class=\"tooltip-trigger\" data-tooltip=\"Das Datum der Transaktion.\">?<\/span>\r\n                <\/label>\r\n                <div class=\"input-wrapper date-input-group\">\r\n                    <select id=\"portfolio-tag-0\"><\/select>\r\n                    <select id=\"portfolio-monat-0\"><\/select>\r\n                    <select id=\"portfolio-jahr-0\"><\/select>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"input-group\">\r\n                <label for=\"portfolio-typ-0\">\r\n                    Kauf oder Verkauf\r\n                    <span class=\"tooltip-trigger\" data-tooltip=\"Kauf bedeutet Geld hinein, Verkauf bedeutet Geld heraus. Den aktuellen Depotwert tr\u00e4gst du als Verkauf ein.\">?<\/span>\r\n                <\/label>\r\n                <div class=\"input-wrapper\">\r\n                    <select id=\"portfolio-typ-0\">\r\n                        <option value=\"kauf\" selected>Kauf<\/option>\r\n                        <option value=\"verkauf\">Verkauf<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"transactions-container\"><\/div>\r\n\r\n        <button type=\"button\" class=\"add-transaction-btn\">+ Weitere Transaktion hinzuf\u00fcgen<\/button>\r\n\r\n        <div class=\"section-title\">Letzte Transaktion<\/div>\r\n\r\n        <div class=\"transaction-block final-transaction\">\r\n            <div class=\"input-group\">\r\n                <label for=\"portfolio-summe-final\">\r\n                    Summe\r\n                    <span class=\"tooltip-trigger\" data-tooltip=\"Der Verkaufsbetrag oder, wenn du noch investiert bist, der aktuelle Wert deines Depots.\">?<\/span>\r\n                <\/label>\r\n                <div class=\"input-wrapper\">\r\n                    <input type=\"number\" id=\"portfolio-summe-final\" value=\"11000\" step=\"100\" min=\"0\">\r\n                    <span class=\"input-unit\">EUR<\/span>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"input-group\">\r\n                <label for=\"portfolio-tag-final\">\r\n                    Datum\r\n                    <span class=\"tooltip-trigger\" data-tooltip=\"Das Datum des Verkaufs oder das heutige Datum.\">?<\/span>\r\n                <\/label>\r\n                <div class=\"input-wrapper date-input-group\">\r\n                    <select id=\"portfolio-tag-final\"><\/select>\r\n                    <select id=\"portfolio-monat-final\"><\/select>\r\n                    <select id=\"portfolio-jahr-final\"><\/select>\r\n                <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"input-group\">\r\n                <label for=\"portfolio-typ-final\">\r\n                    Kauf oder Verkauf\r\n                    <span class=\"tooltip-trigger\" data-tooltip=\"Die letzte Transaktion ist in der Regel ein Verkauf oder der aktuelle Depotwert.\">?<\/span>\r\n                <\/label>\r\n                <div class=\"input-wrapper\">\r\n                    <select id=\"portfolio-typ-final\">\r\n                        <option value=\"kauf\">Kauf<\/option>\r\n                        <option value=\"verkauf\" selected>Verkauf<\/option>\r\n                    <\/select>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"button-container\">\r\n            <button type=\"button\" class=\"reset-button\">Zur\u00fccksetzen<\/button>\r\n            <button type=\"button\" class=\"calculate-button\">Berechnen<\/button>\r\n        <\/div>\r\n\r\n        <div class=\"cta-button-container\">\r\n            <a class=\"cta-button\" href=\"https:\/\/g.finanzen.net\/zero-fnet_331g-ratgeber-renditerechner\" target=\"_blank\" rel=\"noopener noreferrer\">Kennst du schon unseren Broker? <u>Entdecke finanzen.net ZERO<\/u><\/a>\r\n        <\/div>\r\n    <\/form>\r\n\r\n    <div class=\"results-wrapper\" style=\"display: none;\">\r\n        <div class=\"result-header\">\r\n            <h3 class=\"result-header-title\">Berechnung<\/h3>\r\n            <button type=\"button\" class=\"permalink-button\">Link kopieren<\/button>\r\n        <\/div>\r\n\r\n        <div class=\"warn-box mehrdeutig-warn\" style=\"display: none;\"><\/div>\r\n\r\n        <div class=\"result-main\">\r\n            <div class=\"result-label main-label\">Rendite pro Jahr<\/div>\r\n            <div class=\"result-number main-result\"><\/div>\r\n            <div class=\"result-sub main-sub\"><\/div>\r\n        <\/div>\r\n\r\n        <div class=\"result-details\">\r\n            <div class=\"result-card\">\r\n                <div class=\"card-label\">\r\n                    Gewinn oder Verlust\r\n                    <span class=\"tooltip-trigger\" data-tooltip=\"Die Differenz zwischen allen Verk\u00e4ufen und allen K\u00e4ufen.\">?<\/span>\r\n                <\/div>\r\n                <div class=\"card-value gewinn-display\"><\/div>\r\n            <\/div>\r\n            <div class=\"result-card\">\r\n                <div class=\"card-label\">\r\n                    Gesamtrendite\r\n                    <span class=\"tooltip-trigger\" data-tooltip=\"Der Gewinn bezogen auf das insgesamt investierte Kapital, ohne Ber\u00fccksichtigung der Haltedauer.\">?<\/span>\r\n                <\/div>\r\n                <div class=\"card-value performance-display\"><\/div>\r\n            <\/div>\r\n            <div class=\"result-card\">\r\n                <div class=\"card-label\">\r\n                    Investiert gesamt\r\n                    <span class=\"tooltip-trigger\" data-tooltip=\"Die Summe aller K\u00e4ufe.\">?<\/span>\r\n                <\/div>\r\n                <div class=\"card-value invested-display\"><\/div>\r\n            <\/div>\r\n            <div class=\"result-card\">\r\n                <div class=\"card-label\">\r\n                    Rendite pro Jahr\r\n                    <span class=\"tooltip-trigger\" data-tooltip=\"Der interne Zinsfu\u00df. Er gewichtet jede Zahlung danach, wie lange sie investiert war.\">?<\/span>\r\n                <\/div>\r\n                <div class=\"card-value irr-display\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"result-summary\"><\/div>\r\n\r\n        <div class=\"chart-section\">\r\n            <h4>Portfolioverlauf<\/h4>\r\n            <div class=\"legend legend-container\"><\/div>\r\n            <div class=\"chart-container\"><canvas class=\"portfolioChart\"><\/canvas><\/div>\r\n        <\/div>\r\n\r\n        <div class=\"transactions-section\">\r\n            <button type=\"button\" class=\"show-table-btn\">Transaktionen anzeigen<\/button>\r\n            <div class=\"table-wrapper\" style=\"display: none;\">\r\n                <table class=\"data-table\">\r\n                    <thead>\r\n                        <tr>\r\n                            <th>Datum<\/th>\r\n                            <th>Typ<\/th>\r\n                            <th>Betrag<\/th>\r\n                            <th>Netto investiert<\/th>\r\n                        <\/tr>\r\n                    <\/thead>\r\n                    <tbody class=\"table-body\"><\/tbody>\r\n                <\/table>\r\n            <\/div>\r\n            <button type=\"button\" class=\"export-button\" style=\"display: none;\">Als CSV exportieren<\/button>\r\n        <\/div>\r\n\r\n        <div class=\"info-box\">\r\n            <strong>Hinweis:<\/strong> Der Rechner ermittelt den internen Zinsfu\u00df, also die geldgewichtete Rendite. Sie ber\u00fccksichtigt, wann du wie viel eingezahlt hast. Fonds und Indizes weisen dagegen die zeitgewichtete Rendite aus, die Ein- und Auszahlungen ausblendet. Ein direkter Vergleich beider Werte ist deshalb nur bei einer einmaligen Anlage ohne sp\u00e4tere K\u00e4ufe aussagekr\u00e4ftig.\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script src=\"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/themes\/fnet-ratgeber\/js\/libs\/chart.umd.min.js\"><\/script>\r\n<script>\r\n(function () {\r\n    'use strict';\r\n\r\n    var pollInterval = setInterval(function () {\r\n        if (typeof Chart === 'undefined') return;\r\n        clearInterval(pollInterval);\r\n        init(false);\r\n    }, 200);\r\n\r\n    var pollTimeout = setTimeout(function () {\r\n        clearInterval(pollInterval);\r\n        if (typeof Chart === 'undefined') init(true);\r\n    }, 10000);\r\n\r\n    function init(ohneChart) {\r\n        clearTimeout(pollTimeout);\r\n        clearInterval(pollInterval);\r\n\r\n        var container = document.querySelector('.wp-portfolio-rendite-calculator-container');\r\n        if (!container || container.dataset.initialized === 'true') return;\r\n        container.dataset.initialized = 'true';\r\n\r\n        var chartInstance = null;\r\n        var lastResult = null;\r\n        var transactionCount = 1;\r\n        var chartVerfuegbar = !ohneChart;\r\n\r\n        var months = ['Jan.', 'Feb.', 'M\u00e4rz', 'Apr.', 'Mai', 'Juni', 'Juli', 'Aug.', 'Sep.', 'Okt.', 'Nov.', 'Dez.'];\r\n        var daysInMonth = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];\r\n        var MS_PRO_JAHR = 365.25 * 24 * 60 * 60 * 1000;\r\n\r\n        function isLeapYear(y) { return (y % 4 === 0 && y % 100 !== 0) || (y % 400 === 0); }\r\n        function getMaxDays(m, y) { return (m === 1 && isLeapYear(y)) ? 29 : daysInMonth[m]; }\r\n\r\n        var el = {\r\n            transactionsContainer: container.querySelector('.transactions-container'),\r\n            addTransactionBtn: container.querySelector('.add-transaction-btn'),\r\n            resultsWrapper: container.querySelector('.results-wrapper'),\r\n            tableWrapper: container.querySelector('.table-wrapper'),\r\n            showTableBtn: container.querySelector('.show-table-btn'),\r\n            exportButton: container.querySelector('.export-button'),\r\n            permalinkButton: container.querySelector('.permalink-button'),\r\n            calculateBtn: container.querySelector('.calculate-button'),\r\n            resetBtn: container.querySelector('.reset-button'),\r\n            chartSection: container.querySelector('.chart-section'),\r\n            mehrdeutigWarn: container.querySelector('.mehrdeutig-warn')\r\n        };\r\n\r\n        if (!chartVerfuegbar) el.chartSection.style.display = 'none';\r\n\r\n        function eur(n) { return new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(n); }\r\n        function zahl(n, d) { return new Intl.NumberFormat('de-DE', { minimumFractionDigits: d, maximumFractionDigits: d }).format(n); }\r\n        function prozent(n) { return zahl(n, 2) + ' %'; }\r\n        function datumText(d) {\r\n            var t = d.getDate(), m = d.getMonth() + 1;\r\n            return (t < 10 ? '0' : '') + t + '.' + (m < 10 ? '0' : '') + m + '.' + d.getFullYear();\r\n        }\r\n\r\n        function updateDaySelect(tagId, monatId, jahrId) {\r\n            var tagSelect = container.querySelector('#' + tagId);\r\n            var monatSelect = container.querySelector('#' + monatId);\r\n            var jahrSelect = container.querySelector('#' + jahrId);\r\n            if (!tagSelect || !monatSelect || !jahrSelect) return;\r\n            var aktuell = parseInt(tagSelect.value, 10);\r\n            var maxDays = getMaxDays(parseInt(monatSelect.value, 10), parseInt(jahrSelect.value, 10));\r\n            tagSelect.innerHTML = '';\r\n            for (var i = 1; i <= maxDays; i++) {\r\n                var o = document.createElement('option');\r\n                o.value = i; o.textContent = i;\r\n                tagSelect.appendChild(o);\r\n            }\r\n            tagSelect.value = Math.min(aktuell, maxDays);\r\n        }\r\n\r\n        function populateDateSelects(tagId, monatId, jahrId, datum) {\r\n            var tagSelect = container.querySelector('#' + tagId);\r\n            var monatSelect = container.querySelector('#' + monatId);\r\n            var jahrSelect = container.querySelector('#' + jahrId);\r\n            if (!tagSelect || !monatSelect || !jahrSelect) return;\r\n\r\n            var jetzt = new Date().getFullYear();\r\n            jahrSelect.innerHTML = '';\r\n            for (var y = jetzt - 50; y <= jetzt + 10; y++) {\r\n                var oy = document.createElement('option');\r\n                oy.value = y; oy.textContent = y;\r\n                if (y === datum.getFullYear()) oy.selected = true;\r\n                jahrSelect.appendChild(oy);\r\n            }\r\n\r\n            monatSelect.innerHTML = '';\r\n            for (var m = 0; m < 12; m++) {\r\n                var om = document.createElement('option');\r\n                om.value = m; om.textContent = months[m];\r\n                if (m === datum.getMonth()) om.selected = true;\r\n                monatSelect.appendChild(om);\r\n            }\r\n\r\n            var maxDays = getMaxDays(datum.getMonth(), datum.getFullYear());\r\n            tagSelect.innerHTML = '';\r\n            for (var t = 1; t <= maxDays; t++) {\r\n                var ot = document.createElement('option');\r\n                ot.value = t; ot.textContent = t;\r\n                if (t === datum.getDate()) ot.selected = true;\r\n                tagSelect.appendChild(ot);\r\n            }\r\n\r\n            monatSelect.addEventListener('change', function () { updateDaySelect(tagId, monatId, jahrId); });\r\n            jahrSelect.addEventListener('change', function () { updateDaySelect(tagId, monatId, jahrId); });\r\n        }\r\n\r\n        \/* Nach dem Entfernen eines Blocks werden die \u00dcberschriften neu durchnummeriert,\r\n           damit keine L\u00fccken wie \"Transaktion 2, Transaktion 4\" entstehen. *\/\r\n        function nummeriereNeu() {\r\n            var bloecke = el.transactionsContainer.querySelectorAll('.transaction-block');\r\n            for (var i = 0; i < bloecke.length; i++) {\r\n                var titel = bloecke[i].querySelector('.transaction-title');\r\n                if (titel) titel.textContent = (i + 2) + '. Transaktion';\r\n            }\r\n        }\r\n\r\n        function addTransaction(vorgabe) {\r\n            var index = transactionCount;\r\n            transactionCount++;\r\n\r\n            var block = document.createElement('div');\r\n            block.className = 'transaction-block';\r\n            block.dataset.index = index;\r\n\r\n            block.innerHTML = '<div class=\"transaction-header\">' +\r\n                '<span class=\"transaction-title\">Transaktion<\/span>' +\r\n                '<button type=\"button\" class=\"remove-transaction-btn\">Entfernen<\/button><\/div>' +\r\n                '<div class=\"input-group\">' +\r\n                '<label for=\"portfolio-summe-' + index + '\">Summe <span class=\"tooltip-trigger\" data-tooltip=\"Der Betrag der Transaktion in Euro.\">?<\/span><\/label>' +\r\n                '<div class=\"input-wrapper\"><input type=\"number\" id=\"portfolio-summe-' + index + '\" value=\"1000\" step=\"100\" min=\"0\">' +\r\n                '<span class=\"input-unit\">EUR<\/span><\/div><\/div>' +\r\n                '<div class=\"input-group\">' +\r\n                '<label for=\"portfolio-tag-' + index + '\">Datum <span class=\"tooltip-trigger\" data-tooltip=\"Das Datum der Transaktion.\">?<\/span><\/label>' +\r\n                '<div class=\"input-wrapper date-input-group\">' +\r\n                '<select id=\"portfolio-tag-' + index + '\"><\/select>' +\r\n                '<select id=\"portfolio-monat-' + index + '\"><\/select>' +\r\n                '<select id=\"portfolio-jahr-' + index + '\"><\/select><\/div><\/div>' +\r\n                '<div class=\"input-group\">' +\r\n                '<label for=\"portfolio-typ-' + index + '\">Kauf oder Verkauf <span class=\"tooltip-trigger\" data-tooltip=\"Kauf bedeutet Geld hinein, Verkauf bedeutet Geld heraus.\">?<\/span><\/label>' +\r\n                '<div class=\"input-wrapper\"><select id=\"portfolio-typ-' + index + '\">' +\r\n                '<option value=\"kauf\" selected>Kauf<\/option><option value=\"verkauf\">Verkauf<\/option>' +\r\n                '<\/select><\/div><\/div>';\r\n\r\n            el.transactionsContainer.appendChild(block);\r\n\r\n            var datum = (vorgabe && vorgabe.datum) ? vorgabe.datum : new Date();\r\n            populateDateSelects('portfolio-tag-' + index, 'portfolio-monat-' + index, 'portfolio-jahr-' + index, datum);\r\n            if (vorgabe && vorgabe.summe !== undefined) container.querySelector('#portfolio-summe-' + index).value = vorgabe.summe;\r\n            if (vorgabe && vorgabe.typ) container.querySelector('#portfolio-typ-' + index).value = vorgabe.typ;\r\n\r\n            block.querySelector('.remove-transaction-btn').addEventListener('click', function () {\r\n                block.remove();\r\n                nummeriereNeu();\r\n            });\r\n\r\n            nummeriereNeu();\r\n            return index;\r\n        }\r\n\r\n        function alleTransaktionen() {\r\n            var liste = [];\r\n            function lese(suffix) {\r\n                var summe = parseFloat(container.querySelector('#portfolio-summe-' + suffix).value) || 0;\r\n                return {\r\n                    date: new Date(parseInt(container.querySelector('#portfolio-jahr-' + suffix).value, 10),\r\n                                   parseInt(container.querySelector('#portfolio-monat-' + suffix).value, 10),\r\n                                   parseInt(container.querySelector('#portfolio-tag-' + suffix).value, 10)),\r\n                    amount: summe,\r\n                    type: container.querySelector('#portfolio-typ-' + suffix).value\r\n                };\r\n            }\r\n            liste.push(lese('0'));\r\n            var bloecke = el.transactionsContainer.querySelectorAll('.transaction-block');\r\n            for (var i = 0; i < bloecke.length; i++) liste.push(lese(bloecke[i].dataset.index));\r\n            liste.push(lese('final'));\r\n            liste.sort(function (a, b) { return a.date - b.date; });\r\n            return liste;\r\n        }\r\n\r\n        function pruefe(liste) {\r\n            if (liste.length < 2) return 'Bitte gib mindestens zwei Transaktionen ein.';\r\n            for (var i = 0; i < liste.length; i++) {\r\n                if (liste[i].amount <= 0) return 'Jede Transaktion braucht einen Betrag gr\u00f6\u00dfer als null.';\r\n            }\r\n            if (liste[liste.length - 1].date <= liste[0].date) {\r\n                return 'Das Datum der letzten Transaktion muss nach dem der ersten liegen.';\r\n            }\r\n            var hatKauf = false, hatVerkauf = false;\r\n            for (var j = 0; j < liste.length; j++) {\r\n                if (liste[j].type === 'kauf') hatKauf = true;\r\n                if (liste[j].type === 'verkauf') hatVerkauf = true;\r\n            }\r\n            if (!hatKauf || !hatVerkauf) {\r\n                return 'F\u00fcr eine Rendite braucht es mindestens einen Kauf und einen Verkauf.';\r\n            }\r\n            return null;\r\n        }\r\n\r\n        function zeigeFehler(text) {\r\n            var alt = container.querySelector('.error-box');\r\n            if (alt) alt.remove();\r\n            var box = document.createElement('div');\r\n            box.className = 'error-box';\r\n            box.textContent = text;\r\n            container.querySelector('.calculator-form').appendChild(box);\r\n            setTimeout(function () { if (box.parentNode) box.remove(); }, 8000);\r\n        }\r\n\r\n        \/* Z\u00e4hlt, wie oft die Zahlungsreihe das Vorzeichen wechselt. Bei mehr als einem\r\n           Wechsel kann der interne Zinsfu\u00df mehrere g\u00fcltige L\u00f6sungen haben. *\/\r\n        function vorzeichenwechsel(cf) {\r\n            var wechsel = 0, letztes = 0;\r\n            for (var i = 0; i < cf.length; i++) {\r\n                var vz = cf[i] > 0 ? 1 : (cf[i] < 0 ? -1 : 0);\r\n                if (vz === 0) continue;\r\n                if (letztes !== 0 &#038;&#038; vz !== letztes) wechsel++;\r\n                letztes = vz;\r\n            }\r\n            return wechsel;\r\n        }\r\n\r\n        function berechneIRR(cf, dates) {\r\n            var start = dates[0];\r\n            function jahre(d) { return (d - start) \/ MS_PRO_JAHR; }\r\n            function npv(r) {\r\n                var s = 0;\r\n                for (var i = 0; i < cf.length; i++) s += cf[i] \/ Math.pow(1 + r, jahre(dates[i]));\r\n                return s;\r\n            }\r\n            function ableitung(r) {\r\n                var s = 0;\r\n                for (var i = 0; i < cf.length; i++) {\r\n                    var y = jahre(dates[i]);\r\n                    if (y !== 0) s -= (y * cf[i]) \/ Math.pow(1 + r, y + 1);\r\n                }\r\n                return s;\r\n            }\r\n\r\n            var g = 0.1;\r\n            for (var it = 0; it < 500; it++) {\r\n                var f = npv(g);\r\n                if (Math.abs(f) < 1e-7) return { success: true, irr: g * 100 };\r\n                var df = ableitung(g);\r\n                if (Math.abs(df) < 1e-12) break;\r\n                var ng = g - f \/ df;\r\n                if (ng < -0.99) ng = -0.99;\r\n                if (ng > 10) ng = 10;\r\n                if (Math.abs(ng - g) < 1e-10) return { success: true, irr: ng * 100 };\r\n                g = ng;\r\n            }\r\n\r\n            var lo = -0.99, hi = 10, fLo = npv(lo), fHi = npv(hi);\r\n            if (fLo * fHi > 0) return { success: false, irr: NaN };\r\n            for (var k = 0; k < 1000; k++) {\r\n                var mid = (lo + hi) \/ 2, fMid = npv(mid);\r\n                if (Math.abs(fMid) < 1e-7 || (hi - lo) \/ 2 < 1e-10) return { success: true, irr: mid * 100 };\r\n                if (fMid * fLo < 0) { hi = mid; } else { lo = mid; fLo = fMid; }\r\n            }\r\n            return { success: false, irr: NaN };\r\n        }\r\n\r\n        function berechne() {\r\n            var alt = container.querySelector('.error-box');\r\n            if (alt) alt.remove();\r\n            el.mehrdeutigWarn.style.display = 'none';\r\n\r\n            var liste = alleTransaktionen();\r\n            var fehler = pruefe(liste);\r\n            if (fehler) { zeigeFehler(fehler); return; }\r\n\r\n            var cf = [], dates = [], investiert = 0, entnommen = 0;\r\n            for (var i = 0; i < liste.length; i++) {\r\n                dates.push(liste[i].date);\r\n                if (liste[i].type === 'kauf') { cf.push(-liste[i].amount); investiert += liste[i].amount; }\r\n                else { cf.push(liste[i].amount); entnommen += liste[i].amount; }\r\n            }\r\n\r\n            var ergebnis = berechneIRR(cf, dates);\r\n            if (!ergebnis.success) {\r\n                zeigeFehler('F\u00fcr diese Zahlungsreihe l\u00e4sst sich keine eindeutige Rendite berechnen. Pr\u00fcfe bitte Betr\u00e4ge, Daten und die Auswahl von Kauf und Verkauf.');\r\n                return;\r\n            }\r\n\r\n            var gewinn = entnommen - investiert;\r\n            var netto = 0;\r\n            var tabelle = liste.map(function (t) {\r\n                netto += (t.type === 'kauf' ? t.amount : -t.amount);\r\n                return { date: t.date, type: t.type, amount: t.amount, netto: netto };\r\n            });\r\n\r\n            lastResult = {\r\n                liste: liste, tabelle: tabelle,\r\n                gewinn: gewinn, investiert: investiert, entnommen: entnommen,\r\n                gesamtrendite: investiert > 0 ? (gewinn \/ investiert) * 100 : 0,\r\n                irr: ergebnis.irr,\r\n                jahre: (dates[dates.length - 1] - dates[0]) \/ MS_PRO_JAHR\r\n            };\r\n\r\n            el.resultsWrapper.style.display = 'block';\r\n\r\n            if (vorzeichenwechsel(cf) > 1) {\r\n                el.mehrdeutigWarn.innerHTML = '<strong>Ergebnis nicht eindeutig:<\/strong> Deine Zahlungsreihe wechselt mehrfach zwischen Ein- und Auszahlungen. Mathematisch gibt es dann mehr als eine g\u00fcltige Rendite. Der angezeigte Wert ist eine davon und sollte nur als Anhaltspunkt dienen.';\r\n                el.mehrdeutigWarn.style.display = 'block';\r\n            }\r\n\r\n            zeigeErgebnis(lastResult);\r\n            if (chartVerfuegbar) zeichneChart(lastResult);\r\n            zeigeTabelle(lastResult);\r\n            el.exportButton.style.display = 'block';\r\n        }\r\n\r\n        function zeigeErgebnis(r) {\r\n            var gewinnFall = r.gewinn >= 0;\r\n            container.querySelector('.main-label').textContent = 'Rendite pro Jahr';\r\n            container.querySelector('.main-result').textContent = prozent(r.irr);\r\n            container.querySelector('.main-sub').textContent = 'geldgewichtet \u00fcber ' + zahl(r.jahre, 1) + ' Jahre';\r\n\r\n            var gewinnEl = container.querySelector('.gewinn-display');\r\n            gewinnEl.textContent = eur(r.gewinn);\r\n            gewinnEl.className = 'card-value gewinn-display ' + (gewinnFall ? 'positive' : 'negative');\r\n\r\n            var perfEl = container.querySelector('.performance-display');\r\n            perfEl.textContent = prozent(r.gesamtrendite);\r\n            perfEl.className = 'card-value performance-display ' + (gewinnFall ? 'positive' : 'negative');\r\n\r\n            container.querySelector('.invested-display').textContent = eur(r.investiert);\r\n            container.querySelector('.invested-display').className = 'card-value invested-display';\r\n\r\n            var irrEl = container.querySelector('.irr-display');\r\n            irrEl.textContent = prozent(r.irr);\r\n            irrEl.className = 'card-value irr-display ' + (gewinnFall ? 'positive' : 'negative');\r\n\r\n            var text = 'Du hast insgesamt <strong>' + eur(r.investiert) + '<\/strong> eingezahlt und <strong>'\r\n                + eur(r.entnommen) + '<\/strong> zur\u00fcckerhalten, also einen '\r\n                + (gewinnFall ? 'Gewinn' : 'Verlust') + ' von <strong>' + eur(Math.abs(r.gewinn))\r\n                + '<\/strong> oder ' + prozent(r.gesamtrendite) + '. \u00dcber die Haltedauer von '\r\n                + zahl(r.jahre, 1) + ' Jahren entspricht das <strong>' + prozent(r.irr) + ' pro Jahr<\/strong>.';\r\n            var summary = container.querySelector('.result-summary');\r\n            summary.innerHTML = text;\r\n            summary.className = 'result-summary' + (gewinnFall ? '' : ' negative');\r\n        }\r\n\r\n        function zeichneChart(r) {\r\n            if (chartInstance) { chartInstance.destroy(); chartInstance = null; }\r\n            var canvas = container.querySelector('.portfolioChart');\r\n            if (!canvas) return;\r\n\r\n            var labels = [], investiertReihe = [], wertReihe = [];\r\n            var kumuliert = 0;\r\n            var irr = r.irr \/ 100;\r\n            var letzter = r.tabelle.length - 1;\r\n\r\n            for (var i = 0; i < r.tabelle.length; i++) {\r\n                var zeile = r.tabelle[i];\r\n                labels.push(datumText(zeile.date));\r\n                if (zeile.type === 'kauf') kumuliert += zeile.amount;\r\n                investiertReihe.push(kumuliert);\r\n\r\n                \/* Depotwert zum Zeitpunkt i: alle vorherigen Zahlungen mit dem internen\r\n                   Zinsfu\u00df aufgezinst. Die Schlusstransaktion bleibt ausgenommen, weil sie\r\n                   den Depotwert abbildet und nicht abgezogen werden darf. *\/\r\n                var bisEinschliesslich = (i === letzter) ? i - 1 : i;\r\n                var wert = 0;\r\n                for (var j = 0; j <= bisEinschliesslich; j++) {\r\n                    var q = r.tabelle[j];\r\n                    var faktor = Math.pow(1 + irr, (zeile.date - q.date) \/ MS_PRO_JAHR);\r\n                    wert += (q.type === 'kauf' ? q.amount : -q.amount) * faktor;\r\n                }\r\n                wertReihe.push(Math.max(0, wert));\r\n            }\r\n\r\n            container.querySelector('.legend-container').innerHTML =\r\n                '<div class=\"legend-item\"><span class=\"legend-color\" style=\"background-color:#4A69FF;\"><\/span>Eingezahlt (kumuliert)<\/div>' +\r\n                '<div class=\"legend-item\"><span class=\"legend-color\" style=\"background-color:#10b981;\"><\/span>Depotwert (aus der Rendite abgeleitet)<\/div>';\r\n\r\n            chartInstance = new Chart(canvas.getContext('2d'), {\r\n                type: 'line',\r\n                data: {\r\n                    labels: labels,\r\n                    datasets: [\r\n                        { label: 'Eingezahlt', data: investiertReihe, borderColor: '#4A69FF',\r\n                          backgroundColor: 'rgba(74,105,255,0.1)', fill: true, tension: 0, pointRadius: 4, stepped: true },\r\n                        { label: 'Depotwert', data: wertReihe, borderColor: '#10b981',\r\n                          backgroundColor: 'rgba(16,185,129,0.1)', fill: true, tension: 0.3, pointRadius: 4 }\r\n                    ]\r\n                },\r\n                options: {\r\n                    responsive: true, maintainAspectRatio: false,\r\n                    scales: { y: { position: 'right', beginAtZero: true, grid: { color: '#e2e8f0' },\r\n                              ticks: { callback: function (v) { return eur(v); } } } },\r\n                    plugins: {\r\n                        legend: { display: false },\r\n                        tooltip: { mode: 'index', intersect: false,\r\n                                   callbacks: { label: function (c) { return c.dataset.label + ': ' + eur(c.raw); } } }\r\n                    }\r\n                }\r\n            });\r\n        }\r\n\r\n        function zeigeTabelle(r) {\r\n            var html = '';\r\n            r.tabelle.forEach(function (zeile) {\r\n                html += '<tr class=\"' + (zeile.type === 'kauf' ? 'buy-row' : 'sell-row') + '\">'\r\n                    + '<td>' + datumText(zeile.date) + '<\/td>'\r\n                    + '<td>' + (zeile.type === 'kauf' ? 'Kauf' : 'Verkauf') + '<\/td>'\r\n                    + '<td>' + eur(zeile.amount) + '<\/td>'\r\n                    + '<td>' + eur(zeile.netto) + '<\/td><\/tr>';\r\n            });\r\n            container.querySelector('.table-body').innerHTML = html;\r\n        }\r\n\r\n        function voreinstellung() {\r\n            container.querySelector('#portfolio-summe-0').value = 5000;\r\n            container.querySelector('#portfolio-typ-0').value = 'kauf';\r\n            populateDateSelects('portfolio-tag-0', 'portfolio-monat-0', 'portfolio-jahr-0', new Date(2025, 0, 1));\r\n            container.querySelector('#portfolio-summe-final').value = 11000;\r\n            container.querySelector('#portfolio-typ-final').value = 'verkauf';\r\n            populateDateSelects('portfolio-tag-final', 'portfolio-monat-final', 'portfolio-jahr-final', new Date(2025, 11, 31));\r\n            addTransaction({ summe: 5000, typ: 'kauf', datum: new Date(2025, 6, 1) });\r\n        }\r\n\r\n        function zuruecksetzen() {\r\n            el.transactionsContainer.innerHTML = '';\r\n            transactionCount = 1;\r\n            voreinstellung();\r\n            el.resultsWrapper.style.display = 'none';\r\n            el.tableWrapper.style.display = 'none';\r\n            el.showTableBtn.textContent = 'Transaktionen anzeigen';\r\n            el.exportButton.style.display = 'none';\r\n            el.mehrdeutigWarn.style.display = 'none';\r\n            if (chartInstance) { chartInstance.destroy(); chartInstance = null; }\r\n            lastResult = null;\r\n            var alt = container.querySelector('.error-box');\r\n            if (alt) alt.remove();\r\n        }\r\n\r\n        el.addTransactionBtn.addEventListener('click', function () { addTransaction(); });\r\n        el.calculateBtn.addEventListener('click', function (e) { e.preventDefault(); berechne(); });\r\n        el.resetBtn.addEventListener('click', function (e) { e.preventDefault(); zuruecksetzen(); });\r\n\r\n        el.showTableBtn.addEventListener('click', function () {\r\n            var offen = el.tableWrapper.style.display !== 'none';\r\n            el.tableWrapper.style.display = offen ? 'none' : 'block';\r\n            el.showTableBtn.textContent = offen ? 'Transaktionen anzeigen' : 'Transaktionen ausblenden';\r\n        });\r\n\r\n        el.permalinkButton.addEventListener('click', function () {\r\n            var liste = alleTransaktionen();\r\n            var params = new URLSearchParams();\r\n            liste.forEach(function (t, i) {\r\n                params.append('t' + i + '_s', t.amount);\r\n                params.append('t' + i + '_d', t.date.getTime());\r\n                params.append('t' + i + '_t', t.type);\r\n            });\r\n            params.append('count', liste.length);\r\n            var url = window.location.origin + window.location.pathname + '?' + params.toString();\r\n            navigator.clipboard.writeText(url).then(function () {\r\n                var t = el.permalinkButton.textContent;\r\n                el.permalinkButton.textContent = 'Kopiert!';\r\n                setTimeout(function () { el.permalinkButton.textContent = t; }, 2000);\r\n            });\r\n        });\r\n\r\n        el.exportButton.addEventListener('click', function () {\r\n            if (!lastResult) return;\r\n            var rows = ['Datum;Typ;Betrag;Netto investiert'];\r\n            lastResult.tabelle.forEach(function (z) {\r\n                rows.push([datumText(z.date), z.type === 'kauf' ? 'Kauf' : 'Verkauf',\r\n                           z.amount.toFixed(2).replace('.', ','), z.netto.toFixed(2).replace('.', ',')].join(';'));\r\n            });\r\n            var blob = new Blob(['\\uFEFF' + rows.join('\\n')], { type: 'text\/csv;charset=utf-8;' });\r\n            var link = document.createElement('a');\r\n            link.href = URL.createObjectURL(blob);\r\n            link.download = 'renditerechner-transaktionen.csv';\r\n            link.click();\r\n        });\r\n\r\n        function ausURL() {\r\n            var p = new URLSearchParams(window.location.search);\r\n            if (!p.has('count')) return false;\r\n            var anzahl = parseInt(p.get('count'), 10);\r\n            if (!anzahl || anzahl < 2) return false;\r\n\r\n            el.transactionsContainer.innerHTML = '';\r\n            transactionCount = 1;\r\n\r\n            for (var i = 0; i < anzahl; i++) {\r\n                var summe = p.get('t' + i + '_s');\r\n                var zeit = p.get('t' + i + '_d');\r\n                var typ = p.get('t' + i + '_t');\r\n                if (!summe || !zeit || !typ) continue;\r\n                var datum = new Date(parseInt(zeit, 10));\r\n\r\n                if (i === 0) {\r\n                    container.querySelector('#portfolio-summe-0').value = summe;\r\n                    container.querySelector('#portfolio-typ-0').value = typ;\r\n                    populateDateSelects('portfolio-tag-0', 'portfolio-monat-0', 'portfolio-jahr-0', datum);\r\n                } else if (i === anzahl - 1) {\r\n                    container.querySelector('#portfolio-summe-final').value = summe;\r\n                    container.querySelector('#portfolio-typ-final').value = typ;\r\n                    populateDateSelects('portfolio-tag-final', 'portfolio-monat-final', 'portfolio-jahr-final', datum);\r\n                } else {\r\n                    addTransaction({ summe: summe, typ: typ, datum: datum });\r\n                }\r\n            }\r\n            setTimeout(berechne, 100);\r\n            return true;\r\n        }\r\n\r\n        if (!ausURL()) voreinstellung();\r\n    }\r\n})();\r\n<\/script>\r\n\n\n<h2>So funktioniert der Renditerechner<\/h2>\n<p>Der Rechner arbeitet mit deinen tats\u00e4chlichen Transaktionen. Du gibst ein, wann du wie viel investiert und wann du wie viel zur\u00fcckbekommen hast. Daraus berechnet er deine Rendite pro Jahr.<\/p>\n<p><strong>Schritt 1: Erste Transaktion eingeben.<\/strong> Trag Betrag und Datum deines ersten Kaufs ein. Beispiel: 10.000 Euro am 15.03.2020.<\/p>\n<p><strong>Schritt 2: Weitere Transaktionen hinzuf\u00fcgen.<\/strong> Hast du nachgekauft oder zwischendurch Anteile verkauft? Trag jeden Kauf und Verkauf mit Betrag und Datum ein. So erfasst der Rechner auch Sparpl\u00e4ne und Teilverk\u00e4ufe.<\/p>\n<p><strong>Schritt 3: Letzte Transaktion eingeben.<\/strong> Das ist entweder ein Verkauf, wenn du die Anlage aufgel\u00f6st hast, oder der aktuelle Depotwert, wenn du noch investiert bist. Den heutigen Depotwert tr\u00e4gst du als Verkauf ein.<\/p>\n<p><strong>Schritt 4: Berechnen.<\/strong> Der Rechner zeigt dir die j\u00e4hrliche Rendite \u00fcber den gesamten Zeitraum.<\/p>\n<div class=\"highlightbox box box--small-padding box--tiny-margin-y\" style=\"--color-background:#fefcef;\"><strong class=\"headline headline--h3 headline--small-margin\">\ud83d\udca1 Gut zu wissen<\/strong><div class=\"box__content\"><p><strong>Tipp:<\/strong> Auch bei nur einem Kauf und einem Verkauf ist der Rechner genauer als eine einfache Prozentrechnung, weil er die Haltedauer einbezieht. 50 Prozent Gewinn in zwei Jahren sind eine andere Rendite als 50 Prozent in zehn Jahren.<\/p><\/div><\/div>\n<h2>Warum einfache Prozentrechnung nicht reicht<\/h2>\n<p>Viele Anleger teilen den Gewinn durch den Einsatz. Das funktioniert nur, wenn du einmal kaufst und einmal verkaufst. Sobald mehrere K\u00e4ufe zu verschiedenen Zeitpunkten dazukommen, etwa bei einem Sparplan, wird die Rechnung falsch.<\/p>\n<p><strong>Beispiel:<\/strong> Du investierst im Januar 5.000 Euro und im Juli weitere 5.000 Euro. Am Jahresende ist dein Depot 11.000 Euro wert. Der Gewinn betr\u00e4gt 1.000 Euro auf 10.000 Euro Einsatz, also scheinbar 10 Prozent.<\/p>\n<p>Tats\u00e4chlich waren die ersten 5.000 Euro zw\u00f6lf Monate investiert, die zweiten nur sechs. Im Durchschnitt hast du also weniger als 10.000 Euro \u00fcber das ganze Jahr im Markt gehabt. Die korrekte Jahresrendite liegt bei 13,5 Prozent.<\/p>\n<h3>Annualisierte Rendite macht Anlagen vergleichbar<\/h3>\n<p>Die annualisierte Rendite rechnet jeden Zeitraum auf ein Jahr um und ber\u00fccksichtigt dabei den Zinseszins.<\/p>\n<div class=\"sc-table table-container table-container--small-margin \"><table class=\"table table--aligned-left\" style=\"min-width:880px\"><thead><tr><th>Anlage<\/th><th>Gesamtrendite<\/th><th>Laufzeit<\/th><th>Rendite pro Jahr<\/th><\/tr><\/thead><tbody><tr><td><a href=\"https:\/\/www.finanzen.net\/ratgeber\/geld\/produkte-vergleiche\/festgeldvergleich\/\" data-ilm-light=\"27\" title=\"Festgeldvergleich\">Festgeld<\/a> A<\/td><td>6,1 %<\/td><td>2 Jahre<\/td><td>3,0 %<\/td><\/tr><tr><td>Aktien-ETF B<\/td><td>40 %<\/td><td>5 Jahre<\/td><td>7,0 %<\/td><\/tr><tr><td>Einzelaktie C<\/td><td>120 %<\/td><td>15 Jahre<\/td><td>5,4 %<\/td><\/tr><\/thead><\/tbody><\/table><\/div>\n<p>Ohne Annualisierung sieht Einzelaktie C mit 120 Prozent am besten aus. Pro Jahr gerechnet liegt der ETF mit 7 Prozent deutlich vorn.<\/p>\n<!-- Shortcode [alle_rechner] does not exist -->\n<h2>Was der Rechner misst und was nicht<\/h2>\n<p>Diese Unterscheidung entscheidet dar\u00fcber, wie du dein Ergebnis einordnest.<\/p>\n<p>Der Rechner ermittelt die <strong>geldgewichtete Rendite<\/strong>, in der Fachsprache der interne Zinsfu\u00df. Sie beantwortet die Frage: Wie hat sich mein eingesetztes Geld verzinst? Wann du wie viel eingezahlt hast, flie\u00dft voll mit ein.<\/p>\n<p>Fondsgesellschaften, Indexanbieter und Factsheets weisen dagegen die <strong>zeitgewichtete Rendite<\/strong> aus. Sie blendet Ein- und Auszahlungen bewusst aus und misst nur die Wertentwicklung des Produkts.<\/p>\n<p>Wie weit beides auseinanderliegen kann, zeigt ein Beispiel. Ein Fonds macht in drei Jahren zuerst 20 Prozent Plus, dann 30 Prozent Minus, dann 40 Prozent Plus. Seine zeitgewichtete Rendite betr\u00e4gt 5,55 Prozent pro Jahr. Drei Anleger halten genau diesen Fonds:<\/p>\n<div class=\"sc-table table-container table-container--small-margin \"><table class=\"table table--aligned-left\" style=\"min-width:880px\"><thead><tr><th>Anleger<\/th><th>Vorgehen<\/th><th>Endwert<\/th><th>Geldgewichtete Rendite<\/th><\/tr><\/thead><tbody><tr><td>A<\/td><td>10.000 \u20ac zu Beginn, dann nichts mehr<\/td><td>11.760 \u20ac<\/td><td>5,55 %<\/td><\/tr><tr><td>B<\/td><td>10.000 \u20ac zu Beginn, 20.000 \u20ac vor dem Einbruch<\/td><td>31.360 \u20ac<\/td><td>1,92 %<\/td><\/tr><tr><td>C<\/td><td>10.000 \u20ac zu Beginn, 20.000 \u20ac nach dem Einbruch<\/td><td>39.760 \u20ac<\/td><td>17,56 %<\/td><\/tr><\/thead><\/tbody><\/table><\/div>\n<p>Alle drei hielten dasselbe Produkt. Die zeitgewichtete Rendite ist f\u00fcr alle drei identisch, die geldgewichtete unterscheidet sich um mehr als f\u00fcnfzehn Prozentpunkte.<\/p>\n<p>Daraus folgt zweierlei. Dein Ergebnis aus diesem Rechner sagt etwas \u00fcber deine Einzahlungszeitpunkte, nicht nur \u00fcber das Produkt. Und ein direkter Vergleich mit der Indexrendite eines Factsheets hinkt, weil dort anders gerechnet wird. Nur wenn du einmalig eingezahlt und seitdem nichts ver\u00e4ndert hast, stimmen beide Gr\u00f6\u00dfen \u00fcberein, so wie bei Anleger A.<\/p>\n<h2>Typische Anwendungen<\/h2>\n<h3>Sparplan auswerten<\/h3>\n<p>Du besparst seit drei Jahren monatlich einen ETF mit 200 Euro. Trag jeden Kauf als eigene Transaktion ein oder fasse quartalsweise zusammen, wenn dir 36 Eintr\u00e4ge zu viel sind. Als letzte Transaktion gibst du den heutigen Depotwert als Verkauf ein. Das Ergebnis ber\u00fccksichtigt, dass die fr\u00fchen Raten l\u00e4nger gearbeitet haben.<\/p>\n<h3>Immobilie bewerten<\/h3>\n<p>Du hast 2015 eine Wohnung f\u00fcr 180.000 Euro gekauft, 2019 f\u00fcr 30.000 Euro renoviert und 2024 f\u00fcr 260.000 Euro verkauft. Trag alle drei Vorg\u00e4nge mit ihrem Datum ein. Das ergibt 2,56 Prozent Rendite pro Jahr.<\/p>\n<p>Rechnest du die Kaufnebenkosten mit, also Grunderwerbsteuer, Notar, Grundbuch und gegebenenfalls Makler, kommen schnell 10 bis 12 Prozent des Kaufpreises dazu. Bei 12 Prozent sinkt die Rendite von 2,56 auf 1,37 Prozent. Diese Nebenkosten sind der Grund, warum sich kurze Haltedauern bei Immobilien selten rechnen.<\/p>\n<p>Bei einer vermieteten Wohnung geh\u00f6ren auch die laufenden Zahlungen hinein: Mieteinnahmen als Verkauf, nicht umlagef\u00e4hige Kosten und Instandhaltung als Kauf, jeweils mit Datum. Erst dann zeigt der Rechner die tats\u00e4chliche Rendite.<\/p>\n<div class=\"highlightbox box box--small-padding box--tiny-margin-y\" style=\"--color-background:#fff4ef;\"><strong class=\"headline headline--h3 headline--small-margin\">\u26a0\ufe0f Wichtig<\/strong><div class=\"box__content\"><p><strong>Spekulationsfrist beachten:<\/strong> Bei vermieteten oder leerstehenden Immobilien ist der Verkaufsgewinn steuerpflichtig, wenn zwischen Kauf und Verkauf weniger als zehn Jahre liegen (\u00a7 23 EStG). Im Beispiel oben sind es neun Jahre, der Gewinn w\u00e4re also zu versteuern. Bei durchgehender Eigennutzung greift die Frist nicht.<\/p><\/div><\/div>\n<h3>Depots vergleichen<\/h3>\n<p>Berechne die Rendite f\u00fcr jedes Investment einzeln. Die annualisierte Rendite macht ETF-Depot und Festgeldkonto vergleichbar, auch bei unterschiedlichen Laufzeiten und Einzahlungszeitpunkten.<\/p>\n<h3>Alte Entscheidungen pr\u00fcfen<\/h3>\n<p>Wie hat sich die Einzelaktie entwickelt, die du vor acht Jahren gekauft hast? Trag Kaufdatum, Kaufpreis und den heutigen Kurswert ein.<\/p>\n<div class=\"highlightbox box box--small-padding box--tiny-margin-y\" style=\"--color-background:#fff4ef;\"><strong class=\"headline headline--h3 headline--small-margin\">\u26a0\ufe0f Wichtig<\/strong><div class=\"box__content\"><p><strong>Kosten nicht vergessen:<\/strong> Der Rechner arbeitet mit den Betr\u00e4gen, die du eingibst. F\u00fcr ein realistisches Ergebnis tr\u00e4gst du bei K\u00e4ufen den tats\u00e4chlich gezahlten Betrag inklusive Ordergeb\u00fchren ein und bei Verk\u00e4ufen den Betrag nach Geb\u00fchren. Steuern ber\u00fccksichtigst du, indem du den Nettoerl\u00f6s nach Abgeltungsteuer als letzte Transaktion eingibst.<\/p><\/div><\/div>\n<h2>Dividenden richtig erfassen<\/h2>\n<p>Hier machen viele mehr Arbeit als n\u00f6tig.<\/p>\n<p><strong>Thesaurierende Fonds:<\/strong> Nichts eintragen. Die Ertr\u00e4ge stecken bereits im Depotwert.<\/p>\n<p><strong>Ausgesch\u00fcttet und reinvestiert:<\/strong> Ebenfalls nichts eintragen. Das Geld hat das Depot nie verlassen, die zus\u00e4tzlichen Anteile sind im aktuellen Depotwert enthalten. Wer Aussch\u00fcttung und Wiederanlage als zwei entgegengesetzte Buchungen eintr\u00e4gt, \u00e4ndert am Ergebnis nichts, weil sie sich exakt aufheben.<\/p>\n<p><strong>Ausgesch\u00fcttet und entnommen:<\/strong> Als Verkauf eintragen, mit dem Datum der Aussch\u00fcttung. Nur diese Betr\u00e4ge haben dein Depot tats\u00e4chlich verlassen.<\/p>\n<p>Dieselbe Logik gilt f\u00fcr Zinsen, Mieten und alle anderen Ertr\u00e4ge: Eingetragen wird, was flie\u00dft, nicht was intern verrechnet wird.<\/p>\n<h2>Rendite richtig einordnen<\/h2>\n<p><strong>Inflation abziehen.<\/strong> Deine reale Rendite ist ungef\u00e4hr die nominale Rendite minus Inflation. Bei 7 Prozent nominal und 2,5 Prozent Inflation bleiben \u00fcberschlagen 4,5 Prozent, exakt gerechnet 4,4 Prozent. Erst die reale Rendite zeigt, ob du Kaufkraft gewonnen hast.<\/p>\n<p><strong>Mit dem Markt vergleichen, aber richtig.<\/strong> Ein breit gestreuter Welt-ETF erzielte historisch rund 7 bis 8 Prozent pro Jahr vor Kosten. Diese Zahl ist zeitgewichtet. Wenn du sie mit deinem Ergebnis vergleichst, vergleichst du zwei verschiedene Gr\u00f6\u00dfen. Aussagekr\u00e4ftig wird der Vergleich erst, wenn du dieselben Einzahlungen gedanklich in den Index gesteckt h\u00e4ttest.<\/p>\n<p><strong>Risiko ber\u00fccksichtigen.<\/strong> 5 Prozent auf Festgeld sind mehr wert als 5 Prozent auf Einzelaktien, weil Festgeld kein Kursrisiko tr\u00e4gt. Die Renditezahl allein sagt nichts \u00fcber das eingegangene Risiko.<\/p>\n<h2>H\u00e4ufige Fragen zur Renditeberechnung<\/h2>\n<h3>Was ist die annualisierte Rendite?<\/h3>\n<p>Sie rechnet die Gesamtrendite auf ein Jahr um und ber\u00fccksichtigt dabei den Zinseszins. 50 Prozent Gesamtrendite \u00fcber f\u00fcnf Jahre entsprechen 8,4 Prozent pro Jahr, nicht 10 Prozent, weil sich die Ertr\u00e4ge jedes Jahr mitverzinsen.<\/p>\n<h3>Was ist der Unterschied zwischen geldgewichteter und zeitgewichteter Rendite?<\/h3>\n<p>Die geldgewichtete Rendite, die dieser Rechner ermittelt, ber\u00fccksichtigt, wann du wie viel eingezahlt hast. Die zeitgewichtete Rendite, die Fonds und Indizes ausweisen, blendet das aus und misst nur die Wertentwicklung. Bei einer einmaligen Anlage ohne sp\u00e4tere K\u00e4ufe sind beide gleich, bei einem Sparplan k\u00f6nnen sie weit auseinanderliegen.<\/p>\n<h3>Was ist der Unterschied zwischen Rendite und Gewinn?<\/h3>\n<p>Der Gewinn ist ein absoluter Betrag, etwa 5.000 Euro. Die Rendite setzt ihn ins Verh\u00e4ltnis zum eingesetzten Kapital und zur Laufzeit, etwa 7 Prozent pro Jahr. Nur die Rendite erlaubt einen Vergleich.<\/p>\n<h3>Wie berechne ich die Rendite meines Sparplans?<\/h3>\n<p>Trag jeden Kauf mit Betrag und Datum ein, als letzte Transaktion den aktuellen Depotwert als Verkauf. Der Rechner gewichtet die fr\u00fchen Raten st\u00e4rker, weil sie l\u00e4nger investiert waren.<\/p>\n<h3>Sind Dividenden in der Rendite enthalten?<\/h3>\n<p>Bei thesaurierenden Fonds ja, sie stecken im Depotwert. Reinvestierte Aussch\u00fcttungen ebenfalls. Nur Betr\u00e4ge, die du entnommen hast, tr\u00e4gst du separat als Verkauf ein.<\/p>\n<h3>Wie berechne ich die Rendite einer Immobilie?<\/h3>\n<p>Kaufpreis samt Nebenkosten als ersten Kauf, alle Investitionen als weitere K\u00e4ufe mit Datum, Mieteinnahmen als Verk\u00e4ufe, nicht umlagef\u00e4hige Kosten als K\u00e4ufe, den Verkaufspreis als letzte Transaktion. Die Nebenkosten machen bei kurzen Haltedauern den gr\u00f6\u00dften Unterschied.<\/p>\n<h3>Kann das Ergebnis mehrdeutig sein?<\/h3>\n<p>In seltenen F\u00e4llen ja. Wechseln sich Ein- und Auszahlungen mehrfach ab, also nicht nur K\u00e4ufe am Anfang und Verk\u00e4ufe am Ende, kann es mathematisch mehr als eine g\u00fcltige L\u00f6sung geben. Bei einem normalen Sparplan tritt das nicht auf. Wenn dir ein Ergebnis unplausibel erscheint, pr\u00fcfe, ob eine Transaktion ein falsches Vorzeichen oder Datum hat.<\/p>\n<h3>Was sagt die Rendite \u00fcber das Risiko meiner Anlage?<\/h3>\n<p>Nichts. Zwei Anlagen k\u00f6nnen dieselbe Rendite haben und v\u00f6llig unterschiedliche Risikoprofile. Eine Aktie, die zwischen minus 30 und plus 50 Prozent schwankt, ist etwas anderes als Festgeld mit konstanten 3 Prozent.<\/p>\n<h3>Brauche ich den Rechner bei nur einem Kauf und einem Verkauf?<\/h3>\n<p>Auch dann, weil er die Haltedauer einbezieht. 30 Prozent Gewinn in einem Jahr sind 30 Prozent pro Jahr, 30 Prozent in f\u00fcnf Jahren nur 5,4 Prozent.<\/p>\n                    <\/div>\n    <\/div>\n<\/div>\n\n\n\n<div class=\"container container--narrow\">\n    <\/div>\n\n\n<div class=\"container container--narrow\" >\n    <div class=\"disclaimer flow-content\">\n                    <small>\n                <p style=\"font-size: 11pt\">Disclaimer: Die in diesem Artikel enthaltenen Inhalte dienen ausschlie\u00dflich allgemeinen Informations-, Bildungs- und Marketingzwecken ohne Gew\u00e4hr auf Vollst\u00e4ndigkeit, Richtigkeit und Aktualit\u00e4t. Die Inhalte stellen keine Anlageberatung, Anlagestrategieempfehlung oder Aufforderung zum Kauf oder Verkauf von Wertpapieren oder sonstigen Finanzinstrumenten dar. Die Informationen ber\u00fccksichtigen nicht die individuellen Anlageziele und finanzielle Situation des Lesers. Jede Anlageentscheidung sollte eigenverantwortlich getroffen und sorgf\u00e4ltig gepr\u00fcft werden. Vor einer Anlageentscheidung sollte der Rat eines Anlage- und Steuerberaters eingeholt werden. Der Handel mit Wertpapieren oder sonstigen Finanzinstrumenten ist mit hohen Risiken verbunden, bis hin zum Totalverlust des eingesetzten Kapitals. Die in der Vergangenheit erzielte Performance ist kein Indikator f\u00fcr zuk\u00fcnftige Wertentwicklungen. Aussagen \u00fcber zuk\u00fcnftige wirtschaftliche Entwicklungen basieren grunds\u00e4tzlich auf Annahmen und Einsch\u00e4tzungen, die sich im Zeitablauf als nicht zutreffend erweisen k\u00f6nnen. Wir \u00fcbernehmen keine Haftung f\u00fcr Verluste, die durch die Umsetzung der in diesem Artikel genannten Informationen entstehen.<\/p>\n<p style=\"font-size: 11pt\"><sup>1<\/sup>Hinweis zu ZERO: <a href=\"https:\/\/www.finanzen.net\/zero\/?utm_source=finnet-ratgeber&amp;utm_medium=web&amp;utm_term=fnet_017m&amp;utm_campaign=content&amp;utm_content=[current_slug]\" target=\"_blank\" rel=\"noopener\">finanzen.net zero<\/a> ist ein Angebot der <a href=\"https:\/\/www.finanzen.net\/zero\/impressum\/?utm_source=finnet-ratgeber&amp;utm_medium=web&amp;utm_term=fnet_017m&amp;utm_campaign=content&amp;utm_content=[current_slug]\" target=\"_blank\" rel=\"noopener\">finanzen.net zero GmbH<\/a>, einer Tochter der <a href=\"https:\/\/www.finanzen.net\/impressum\">finanzen.net GmbH<\/a>.<\/p>\n<p style=\"font-size: 11pt\"><sup>*<\/sup>Hinweis zu Affiliate-Links: Unsere Ratgeber-Artikel sind objektiv und unabh\u00e4ngig erstellt, wobei mit Sternchen gekennzeichnete Links zur Finanzierung der kostenlosen Inhalte dienen. Die Verg\u00fctung aus diesen Links hat keinen Einfluss auf unsere Inhalte.<\/p>\n            <\/small>\n                    <\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Wie gut hat sich dein Investment wirklich entwickelt? Unser Renditerechner ber\u00fccksichtigt nicht nur Kauf- und Verkaufskurs, sondern auch den Zeitpunkt und die H\u00f6he aller Ein- und Auszahlungen. Trag deine Transaktionen ein und du bekommst die tats\u00e4chliche j\u00e4hrliche Rendite deiner Anlage.<\/p>\n","protected":false},"author":6,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":"","_members_access_role":[],"_members_access_error":""},"categories":[1194],"tags":[],"class_list":["post-33133","post","type-post","status-publish","format-standard","hentry","category-rechner-vergleiche"],"acf":[],"yoast_head":"<title>Rendite-Rechner: Rendite einfach und exakt berechnen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/renditerechner\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Rendite-Rechner: Rendite einfach und exakt berechnen\" \/>\n<meta property=\"og:description\" content=\"Wie gut hat sich dein Investment wirklich entwickelt? Unser Renditerechner ber\u00fccksichtigt nicht nur Kauf- und Verkaufskurs, sondern auch den Zeitpunkt und die H\u00f6he aller Ein- und Auszahlungen. Trag deine Transaktionen ein und du bekommst die tats\u00e4chliche j\u00e4hrliche Rendite deiner Anlage.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/renditerechner\/\" \/>\n<meta property=\"og:site_name\" content=\"Finanzen.net Ratgeber: Finanzwissen, das dich weiterbringt\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-28T11:05:25+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-28T11:18:56+00:00\" \/>\n<meta name=\"author\" content=\"Roland Kuse\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Geschrieben von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Roland Kuse\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"9\u00a0Minuten\" \/>","yoast_head_json":{"title":"Rendite-Rechner: Rendite einfach und exakt berechnen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/renditerechner\/","og_locale":"de_DE","og_type":"article","og_title":"Rendite-Rechner: Rendite einfach und exakt berechnen","og_description":"Wie gut hat sich dein Investment wirklich entwickelt? Unser Renditerechner ber\u00fccksichtigt nicht nur Kauf- und Verkaufskurs, sondern auch den Zeitpunkt und die H\u00f6he aller Ein- und Auszahlungen. Trag deine Transaktionen ein und du bekommst die tats\u00e4chliche j\u00e4hrliche Rendite deiner Anlage.","og_url":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/renditerechner\/","og_site_name":"Finanzen.net Ratgeber: Finanzwissen, das dich weiterbringt","article_published_time":"2026-09-28T11:05:25+00:00","article_modified_time":"2026-09-28T11:18:56+00:00","author":"Roland Kuse","twitter_card":"summary_large_image","twitter_misc":{"Geschrieben von":"Roland Kuse","Gesch\u00e4tzte Lesezeit":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/renditerechner\/#article","isPartOf":{"@id":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/renditerechner\/"},"author":{"name":"Roland Kuse","@id":"https:\/\/www.finanzen.net\/ratgeber\/#\/schema\/person\/751e702863ee767bd02fc5016b3d10e6"},"headline":"Rendite-Rechner","datePublished":"2026-09-28T11:05:25+00:00","dateModified":"2026-09-28T11:18:56+00:00","mainEntityOfPage":{"@id":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/renditerechner\/"},"wordCount":1900,"articleSection":["Rechner &amp; Vergleiche"],"inLanguage":"de"},{"@type":["WebPage","ItemPage"],"@id":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/renditerechner\/","url":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/renditerechner\/","name":"Rendite-Rechner: Rendite einfach und exakt berechnen","isPartOf":{"@id":"https:\/\/www.finanzen.net\/ratgeber\/#website"},"datePublished":"2026-09-28T11:05:25+00:00","dateModified":"2026-09-28T11:18:56+00:00","author":{"@id":"https:\/\/www.finanzen.net\/ratgeber\/#\/schema\/person\/751e702863ee767bd02fc5016b3d10e6"},"breadcrumb":{"@id":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/renditerechner\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/renditerechner\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.finanzen.net\/ratgeber\/rechner-vergleiche\/renditerechner\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Startseite","item":"https:\/\/www.finanzen.net\/ratgeber\/"},{"@type":"ListItem","position":2,"name":"Rechner &amp; Vergleiche","item":"https:\/\/www.finanzen.net\/ratgeber\/.\/rechner-vergleiche\/"},{"@type":"ListItem","position":3,"name":"Rendite-Rechner"}]},{"@type":"WebSite","@id":"https:\/\/www.finanzen.net\/ratgeber\/#website","url":"https:\/\/www.finanzen.net\/ratgeber\/","name":"Finanzen.net Ratgeber - Die Ganze Welt der Finanzen","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.finanzen.net\/ratgeber\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/www.finanzen.net\/ratgeber\/#\/schema\/person\/751e702863ee767bd02fc5016b3d10e6","name":"Roland Kuse","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2025\/10\/Roland_Kuse-1-150x150.jpg","url":"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2025\/10\/Roland_Kuse-1-150x150.jpg","contentUrl":"https:\/\/www.finanzen.net\/ratgeber\/wp-content\/uploads\/2025\/10\/Roland_Kuse-1-150x150.jpg","caption":"Roland Kuse"},"description":"Roland Kuse leitet den Finanzratgeber gemeinsam mit Volker Altvater. Mit \u00fcber 25 Jahren Erfahrung im digitalen Publishing verantwortet der Experte die inhaltliche Strategie und redaktionelle Qualit\u00e4t. Zudem treibt er die Entwicklung interaktiver Formate voran \u2013 vom Altersvorsorgedepot-Rechner bis hin zu anschaulichen Infografiken. Sein Ziel ist es, Finanzen verst\u00e4ndlich, fundiert und verl\u00e4sslich aufzubereiten.","sameAs":["https:\/\/www.linkedin.com\/in\/roland-kuse-959574103\/"],"url":"https:\/\/www.finanzen.net\/ratgeber\/author\/roland-kruse\/"}]}},"_links":{"self":[{"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/posts\/33133","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/comments?post=33133"}],"version-history":[{"count":9,"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/posts\/33133\/revisions"}],"predecessor-version":[{"id":43539,"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/posts\/33133\/revisions\/43539"}],"wp:attachment":[{"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/media?parent=33133"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/categories?post=33133"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.finanzen.net\/ratgeber\/wp-json\/wp\/v2\/tags?post=33133"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}