{"id":143583,"date":"2026-09-08T03:03:44","date_gmt":"2026-09-08T01:03:44","guid":{"rendered":"https:\/\/news.abusizz.ch\/rheinmetall-aktie-wie-lautet-die-prognose-fuer-2027-2\/"},"modified":"2026-09-08T03:03:44","modified_gmt":"2026-09-08T01:03:44","slug":"rheinmetall-aktie-wie-lautet-die-prognose-fuer-2027-2","status":"publish","type":"post","link":"https:\/\/news.abusizz.ch\/de\/rheinmetall-aktie-wie-lautet-die-prognose-fuer-2027-2\/","title":{"rendered":"Rheinmetall-Aktie: Wie lautet die Prognose f\u00fcr 2027?"},"content":{"rendered":"<div>\n<div id=\"attachment_91579\" style=\"width: 1010px\" class=\"wp-caption aligncenter\">\n<p id=\"caption-attachment-91579\" class=\"wp-caption-text\">Die Prognose f\u00fcr die Rheinmetall Aktie h\u00e4ngt 2027 stark von rechtzeitigen Auslieferungen und dem freien Cashflow ab. (KI-Symbolbild: Magnific.com, mku018)<\/p>\n<\/div>\n<p>Rheinmetalls Gesch\u00e4ft w\u00e4chst kr\u00e4ftig. Der Ausbau bindet allerdings viel Geld. Im <a href=\"https:\/\/www.rheinmetall.com\/de\/media\/news-watch\/news\/2026\/08\/2026-08-06-rheinmetall-pressemitteilung-halbjahresfinanzbericht-h1\" target=\"_blank\" rel=\"noopener\">1. Halbjahr 2026<\/a> legten die Erl\u00f6se der fortgef\u00fchrten Aktivit\u00e4ten um 39 Prozent auf 5,227 Milliarden Euro zu. Das operative Ergebnis stieg um 74 Prozent auf 786 Millionen Euro. Zugleich belasteten versp\u00e4tete Kundenanzahlungen und h\u00f6here Vorr\u00e4te den Mittelzufluss.<\/p>\n<p>Bis Ende 2027 kommt es f\u00fcr die Aktie auf p\u00fcnktliche Auslieferungen und die Finanzierung des Ausbaus an. Der <a href=\"https:\/\/www.ftd.de\/boerse\/aktien\/rheinmetall-aktie-nach-den-quartalszahlen-starkes-wachstum-aktie-schwankt\/?p=90331\" target=\"_blank\" rel=\"noopener\">Stopp des Fregattenprojekts F126<\/a> zeigt zudem, wie stark politische Beschaffungsentscheidungen die Planung ver\u00e4ndern k\u00f6nnen.<\/p>\n<p>Der <a href=\"https:\/\/markets.ft.markitdigital.com\/data\/equities\/tearsheet\/historical?s=RHMX%3AGER\" target=\"_blank\" rel=\"noopener\">Xetra-Schlusskurs<\/a> vom Freitag, 4. September 2026 lag bei 1.034,00 Euro. Am Donnerstag waren es 1.070,20 Euro. Das ergibt ein Tagesminus von 3,38 Prozent.<\/p>\n<p>\u00a0<\/p>\n<div class=\"chartwrapper\" id=\"chartwrapper\" data-chartid=\"6a9ed41ade7b4\"><\/div>\n<p>    <script id=\"tvChartLoader\" async src=\"https:\/\/unpkg.com\/lightweight-charts@4.2.0\/dist\/lightweight-charts.standalone.production.js\"><\/script><\/p>\n<p>    <script id=\"declarations\">\n    var chartid = \"6a9ed41ade7b4\";\n    function renderTV(kursData, chartData,companyName,currency, chartHeight, chartWidth, code, exchange, kursDate, hidetitle, hidelegend, chartid) {      \n    \tconsole.log(\"render chart with id\", document.querySelector(`[data-chartid=\"${chartid}\"]`));\n        let width = chartWidth?chartWidth:600;\n        let ratio = 2\n        let height = chartHeight?chartHeight:(width\/ratio);\n        document.querySelector(`[data-chartid=\"${chartid}\"]`).style.height = chartHeight +50\n        document.querySelector(`[data-chartid=\"${chartid}\"]`).style.width = chartWidth<\/p>\n<p>        \/\/ formatter for x achis dates\n        function customXAchsisFormetter(timePoint, tickMarkType, locale) {\n            let formatOptions = {};\n            const date = new Date(timePoint);<\/p>\n<p>            if(tickMarkType <=1){\n                formatOptions = {day: \"numeric\", month: \"short\",year: \"numeric\",}\n\n            }else{\n                formatOptions = {day: \"numeric\", month: \"short\",year: \"numeric\",}\n            }\n            \/\/ from given date we should use only as UTC date or timestamp\n            \/\/ but to format as locale date we can convert UTC date to local date\n            const localDateFromUtc = new Date(\n                date.getUTCFullYear(),\n                date.getUTCMonth(),\n                date.getUTCDate()\n            );\n\n            return localDateFromUtc.toLocaleString(locale, formatOptions);\n        }\n\n        \/\/create buttons\n        function createSimpleSwitcher(items, activeItem, activeItemChangedCallback) {\n            var switcherElement = document.createElement(\"div\");\n            switcherElement.classList.add(\"switcher\");\n\n            var intervalElements = items.map(function (item) {\n                var itemEl = document.createElement(\"button\");\n                itemEl.innerText = item;\n                itemEl.classList.add(\"switcher-item\");\n                itemEl.classList.toggle(\"switcher-active-item\", item === activeItem);\n                itemEl.addEventListener(\"click\", function () {\n                    onItemClicked(item);\n                });\n                switcherElement.appendChild(itemEl);\n                return itemEl;\n            });\n\n            function onItemClicked(item) {\n                if (item === activeItem) {\n                    return;\n                }\n\n                intervalElements.forEach(function (element, index) {\n                    element.classList.toggle(\"switcher-active-item\", items[index] === item);\n                });\n\n                activeItem = item;\n\n                activeItemChangedCallback(item);\n            }\n\n            return switcherElement;\n        }\n        \/\/ loading: true or false\n        function handleAsyncUI(loading){\n            var IntervalButtons = document.getElementsByClassName(\"switcher-item\");\n             for(var i = 0; i < IntervalButtons.length; i++){\n                IntervalButtons[i].disabled = loading;\n             } \n             var chart = document.getElementsByClassName(\"tv-lightweight-charts\")[0];\n             if(loading){\n            \n            chart.style[\"display\"] = \"flex\"\n            chart.style[\"align-items\"] = \"center\"\n            chart.style[\"justify-content\"] = \"center\"\n\n            var loadingIndicator = document.createElement(\"div\");\n            loadingIndicator.classList.add(\"loader\");\n            \/\/loadingIndicator.innerText = \"Loading\";\n            loadingIndicator.id =\"loadingIndicator\"\n            chart.appendChild(loadingIndicator);\n             }else{\n            document.getElementById(\"loadingIndicator\").remove();\n            chart.style[\"display\"] = null\n            chart.style[\"align-items\"] =null\n            chart.style[\"justify-content\"] = null\n             }\n\n        }\n        var intervals = [\"1M\",\"3M\",\"6M\",\"1Y\",\"3Y\",\"5Y\"];\n        var seriesesData = new Map([\n            [\"1M\", []], \/\/ 1m (interval daten?), 3m, 6m, 1y, 3y, 5y\n            [\"3M\", []],\n            [\"6M\", []],\n            [\"1Y\", chartData],\n            [\"3Y\", []],\n            [\"5Y\", []],\n        ]);\n        var switcherElement = createSimpleSwitcher(intervals, intervals[3], syncToInterval);\n        var chartElement = document.createElement(\"div\");\n        const chart = LightweightCharts.createChart(chartElement, {\n            width: width,\n            height: height,\n            rightPriceScale: {\n                scaleMargins: {\n                    top: 0.2,\n                    bottom: 0.2,\n                },\n                borderVisible: false,\n            },\n            timeScale: {\n                borderVisible: false,\n                lockVisibleTimeRangeOnResize: true,\n\n                rightOffset:1,\n                tickMarkFormatter:customXAchsisFormetter\n\n            },\n            grid: {\n                horzLines: {\n                    color: \"#eee\",\n                    visible: false,\n                },\n                vertLines: {\n                    color: \"#ffffff\",\n                },\n            },\n            crosshair: {\n                horzLine: {\n                    visible: false,\n                    labelVisible: false\n                },\n                vertLine: {\n                    visible: true,\n                    style: 0,\n                    width: 2,\n                    color: \"rgba(80, 50, 25, 0.1)\",\n                    labelVisible: false,\n                }\n            },\n            handleScroll: {\n                mouseWheel: false,\n                pressedMouseMove: false,\n                horzTouchDrag: false,\n                vertTouchDrag: false\n            },\n            handleScale: {\n                axisPressedMouseMove: false,\n                mouseWheel: false,\n                pinch: false,\n            },\n        });\n        var areaSeries = null;\n        var positionDIV = document.querySelector(`[data-chartid=\"${chartid}\"]`)\n        positionDIV.appendChild(chartElement);\n        positionDIV.appendChild(switcherElement);\n        function httpGetAsync(theUrl, callback) {\n            var xmlHttp = new XMLHttpRequest();\n            xmlHttp.onreadystatechange = function () {\n                if (xmlHttp.readyState == 4 &#038;&#038; xmlHttp.status == 200)\n                    callback(xmlHttp.responseText);\n            }\n            xmlHttp.open(\"GET\", theUrl, true); \/\/ true for asynchronous \n            xmlHttp.send(null);\n        }\n        function formatDate(date) {\n            \n            var month = \"\" + (date.getMonth()+1);\n            var day = \"\" + date.getDate();\n            var year = date.getFullYear();\n\n            if (month.length < 2) \n                month = \"0\" + month;\n            if (day.length < 2) \n                day = \"0\" + day;\n            return [year, month, day].join(\"-\");\n        }\n        function getTimeframe(interval){\n            let from = null;\n            let to = formatDate(new Date());\n            switch (interval) {\n                case \"1M\": from = formatDate(new Date(Date.now() - 31 * 24 * 60 * 60 * 1000)); break;\n                case \"3M\": from = formatDate(new Date(Date.now() - 93 * 24 * 60 * 60 * 1000)); break;\n                case \"6M\": from = formatDate(new Date(Date.now() - 186 * 24 * 60 * 60 * 1000)); break;\n                case \"1Y\": from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000)); break;\n                case \"3Y\": from = formatDate(new Date(Date.now() - 1116 * 24 * 60 * 60 * 1000)); break;\n                case \"5Y\": from = formatDate(new Date(Date.now() - 1860 * 24 * 60 * 60 * 1000)); break;\n                default:from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000));\n                \n                }\n            return {from:from, to:to}\n        }\t\n        \/\/ what happens on button click\n        function syncToInterval(interval) {\n            if (areaSeries &#038;&#038; seriesesData.get(interval).length <=0) {\n                console.log(\"GETTING REMOTE DATA\")\n\n                chart.removeSeries(areaSeries);\n                areaSeries = null;\n                let apiToken = \"za1j116n2273ab1vxukuh6\"\n                let timeframe = getTimeframe(interval)\n                let filter = \"adjusted_close\"\n                handleAsyncUI(true)\t\t\t\t\t\t\n                httpGetAsync(\"https:\/\/api.leeway.tech\/api\/v1\/public\/historicalquotes\/\"+encodeURIComponent(code+\".\"+exchange)+\"?apitoken=\"+apiToken+\"&#038;filter=\"+filter+\"&#038;from=\"+timeframe.from+\"&#038;to=\"+timeframe.to, function (res) {\t\n                    let newData = []\n                    newData = JSON.parse(res)\/\/.map(el=>newData.push({time:el.date, value:el.close}))\n                    \/\/ newData = newData.map(el=>{\n                    \/\/     console.log(el.time.year)\n                    \/\/     console.log(el.time.month)\n                    \/\/     console.log(el.time.day)\n                    \/\/     console.log(el)\n                    \/\/     console.log(new Date(el.time.year, el.time.month-1, el.time.day));\n                    \/\/     return{value:el.value, time:el.time, timestamp:new Date(el.time.year, el.time.month-1, el.time.day).getTime()}})\n                    console.log(\"newData\")\n                    console.log(newData)\n                    seriesesData.set(interval, newData)\n                    areaSeries = chart.addAreaSeries({\n                        topColor: \"rgba(33, 108, 173, 0.56)\",\n                        bottomColor: \"rgba(33, 108, 173, 0.04)\",\n                        lineColor: \"rgba(33, 108, 173, 1)\",\n                    lineWidth: 2,\n                });\n                kursData = seriesesData.get(interval)[seriesesData.get(interval).length-1].value\n                areaSeries.setData(seriesesData.get(interval));\n                chart.timeScale().fitContent();\n                handleAsyncUI(false)\t\n                    })\n            }else{\n                console.log(\"GETTING LOADED DATA\")\n                if(areaSeries){\n                    console.log(\"DELETING  LOADED DATA FROM CHART\")\n                    chart.removeSeries(areaSeries);\n                    areaSeries = null;\n                }\n                kursData = seriesesData.get(interval)[seriesesData.get(interval).length-1].value\n                areaSeries = chart.addAreaSeries({\n                topColor: \"rgba(33, 108, 173, 0.56)\",\n                bottomColor: \"rgba(33, 108, 173, 0.04)\",\n                lineColor: \"rgba(33, 108, 173, 1)\",\n                lineWidth: 2,\n            });\n            areaSeries.setData(seriesesData.get(interval));<\/p>\n<p>            chart.timeScale().fitContent();\n            }<\/p>\n<p>        }\n        \/\/ data interval at startup\n        syncToInterval(intervals[3]);\n        \/\/ Name and Kurs as Text in legend<\/p>\n<p>        var watermark = document.createElement(\"img\")\n        watermark.classList.add(\"watermark\")\n        watermark.setAttribute(\"src\", \"https:\/\/api.leeway.tech\/leeway-sign.png\")\n        var testA = document.querySelector(`[data-chartid=\"${chartid}\"]`)\n        var testB = document.querySelector(`[data-chartid=\"${chartid}\"]`).getBoundingClientRect();\n        var test =  testA.getElementsByTagName(\"canvas\")[0].getBoundingClientRect();\n        watermark.style.position = \"absolute\";\n        watermark.style.width = \"90px\";\n        watermark.style.height = \"30px\";\n        watermark.style.display = \"block\";\n        \/\/watermark.style.z-index = \"1000000\";\n        watermark.style.bottom = \"0\";\n        watermark.style.right = \"10px\";<\/p>\n<p>        let linkLW = document.createElement(\"a\")\n        linkLW.href=\"https:\/\/www.ftd.de\/leeway-tech\";\n        linkLW.target = \"_blank\";\n        linkLW.appendChild(watermark)\n        \/\/ append to DOM<\/p>\n<p>        \/\/div-chartwrapper -> div -> div ->  table  -> tr ->  td td -> div\n        const myElementA = document.querySelector(`[data-chartid=\"${chartid}\"]`);\n        let myElementB = myElementA.childNodes[0]\n        let myElementC = myElementB.childNodes[0]\n        let myElementD = myElementC.childNodes[0]\n        let myElementE = myElementD.childNodes[0]\n        let myElementF = myElementE.childNodes[1]\n        let myElementG = myElementF.childNodes[0]\n        myElementG.appendChild(linkLW);<\/p>\n<p>        if(hidelegend == \"false\"){\n            console.log(\"SHOW LEGEND!\")\n            var legend = document.createElement(\"div\");\n            legend.classList.add(\"legend\");\n            var offsets = document.querySelector(`[data-chartid=\"${chartid}\"]`).getBoundingClientRect();\n            var chartwrapperTop = offsets.top;<\/p>\n<p>            var legendHeight = height *-1\n            if(legendHeight>-210){legendHeight = -210;}\n            legend.style.top = legendHeight*1.2  + \"px\"\n            positionDIV.appendChild(legend);<\/p>\n<p>            if(hidetitle == \"false\"){\n                var firstRow = document.createElement(\"div\");\n                firstRow.classList.add(\"titleText\");\t<\/p>\n<p>            }<\/p>\n<p>            var secondRow = document.createElement(\"div\");\n            secondRow.classList.add(\"secondRow\");\t<\/p>\n<p>            if(kursData !== null){\n                if(hidetitle == \"false\"){\n                    firstRow.innerText = companyName\n                    legend.appendChild(firstRow);\n                }<\/p>\n<p>                secondRow.innerText = kursDate +\": \" + Number(kursData).toFixed(2) + \" \"+currency;\n                 legend.appendChild(secondRow);\n            }else{\n                if(hidetitle == \"false\"){\n                    firstRow.innerText = companyName\n                    legend.appendChild(firstRow);\n                }<\/p>\n<p>                legend.appendChild(secondRow);\n            }<\/p>\n<p>            \/\/ cursor moving and handling third row of legend\n            chart.subscribeCrosshairMove((param) => {\n                if (param.time) {\n                    let options = { weekday: \"short\", year: \"numeric\", month: \"numeric\", day: \"numeric\" };\n                    let currentDate = new Date(param.time).toLocaleDateString(\"de-DE\", options)\n                    const price = param.seriesData.get(areaSeries).value;\n                    secondRow.innerText = currentDate + \":  \" + price.toFixed(2) + \" \"+(currency?currency:\" \");\n                }\n            else {\n                secondRow.innerText = kursDate +\": \" + Number(kursData).toFixed(2) + \" \"+currency;<\/p>\n<p>            }\n            });<\/p>\n<p>        }<\/p>\n<p>    }\n    function httpGetAsync(theUrl, callback) {\n            var xmlHttp = new XMLHttpRequest();\n            xmlHttp.onreadystatechange = function () {\n                if (xmlHttp.readyState == 4 && xmlHttp.status == 200)\n                    callback(xmlHttp.responseText);\n            }\n            xmlHttp.open(\"GET\", theUrl, true); \/\/ true for asynchronous \n            xmlHttp.send(null);\n        };\n    function getTimeframe(interval){\n            let from = null;\n            let to = formatDate(new Date());\n            switch (interval) {\n                case \"1M\": from = formatDate(new Date(Date.now() - 31 * 24 * 60 * 60 * 1000)); break;\n                case \"3M\": from = formatDate(new Date(Date.now() - 93 * 24 * 60 * 60 * 1000)); break;\n                case \"6M\": from = formatDate(new Date(Date.now() - 186 * 24 * 60 * 60 * 1000)); break;\n                case \"1Y\": from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000)); break;\n                case \"3Y\": from = formatDate(new Date(Date.now() - 1116 * 24 * 60 * 60 * 1000)); break;\n                case \"5Y\": from = formatDate(new Date(Date.now() - 1860 * 24 * 60 * 60 * 1000)); break;\n                default:from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000));<\/p>\n<p>                }\n            return {from:from, to:to}\n        };\n        function formatDate(date) {<\/p>\n<p>            var  month = \"\" + (date.getMonth()+1);\n            var   day = \"\" + date.getDate();\n            var   year = date.getFullYear();<\/p>\n<p>            if (month.length < 2) \n                month = \"0\" + month;\n            if (day.length < 2) \n                day = \"0\" + day;\n\n            return [year, month, day].join(\"-\");\n        };\n    <\/script><br \/>\n    <script id=\"main\"><\/p>\n<p>    var scriptTV = document.querySelector(\"#tvChartLoader\");\n    scriptTV.addEventListener(\"load\", function() {\n        var chartid = \"6a9ed41ade7b4\";<\/p>\n<p>        var companyName = \"Rheinmetall AG\";\n        if(companyName.length <=0){\n        companyName = \"RHM - XETRA\";\n        }\n        var code = \"RHM\";\n        var exchange = \"XETRA\";\n        var currency =\"EUR\";\n        var kursData = null;\n        var kursDataDate = null;\n        var chartHeight = \"\";\n        var chartWidth = \"250\"\n        var hidetitle = \"false\"\n        var hidelegend = \"false\"\n        let apiToken = \"za1j116n2273ab1vxukuh6\"\n        chartWidth = document.querySelector(`[data-chartid=\"${chartid}\"]`).offsetWidth\n        var chartData = [];\n        var timeframe = getTimeframe(\"1Y\");\n        var filter = \"adjusted_close\";\n        \n        httpGetAsync(\"https:\/\/api.leeway.tech\/api\/v1\/public\/historicalquotes\/\"+encodeURIComponent(code+\".\"+exchange)+\"?apitoken=\"+apiToken+\"&#038;filter=\"+filter+\"&#038;from=\"+timeframe.from+\"&#038;to=\"+timeframe.to, function (res) {\t\n            let newData = null;\n             chartData = newData = JSON.parse(res)\n            \/\/ chartData =  chartData.map(el=>{return{value:el.value, time:el.time, timestamp:new Date(el.time.year, el.time.month-1, el.time.day).getTime()}})\n             kursData = chartData[chartData.length-1].value\n             let options = { weekday: \"short\", year: \"numeric\", month: \"numeric\", day: \"numeric\" };\n             kursDataDate = chartData[chartData.length-1].time\n             let kursDate = new Date(kursDataDate.split(\"-\")[0], Number(kursDataDate.split(\"-\")[1])-1, kursDataDate.split(\"-\")[2]).toLocaleDateString(\"de-DE\", options)<\/p>\n<p>             renderTV(kursData,chartData,companyName,currency, Number(chartHeight), Number(chartWidth), code, exchange, kursDate, hidetitle, hidelegend, chartid)\n        });\n    });\n<\/script><\/p>\n<h3>Wie hat sich der Rheinmetall-Kurs zuletzt entwickelt?<\/h3>\n<p>Die j\u00fcngste Kursentwicklung f\u00e4llt deutlich negativ aus. Aus den Xetra-Kursen ergibt sich \u00fcber 1 Woche ein Minus von \u00fcber 10 Prozent. Auch \u00fcber 2 und 4 Wochen liegt die Aktie unter ihrem jeweiligen Ausgangswert.<\/p>\n<p>Die Tabelle zeigt reine Kursver\u00e4nderungen ohne Dividenden. Die Zeitr\u00e4ume \u00fcberschneiden sich und d\u00fcrfen deshalb nicht addiert werden. Ein R\u00fcckgang allein sagt noch nichts dar\u00fcber aus, ob die Aktie g\u00fcnstig bewertet ist.<\/p>\n<h4 id=\"table-kursentwicklung-1-table-heading\">Kursentwicklung der Rheinmetall-Aktie bis 4. September 2026<\/h4>\n<table aria-labelledby=\"table-kursentwicklung-1-table-heading\">\n<thead>\n<tr>\n<th>Zeitraum<\/th>\n<th>Startschlusskurs<\/th>\n<th>Endschlusskurs<\/th>\n<th>Kursver\u00e4nderung<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th>1 Woche<\/th>\n<td>1.154,60 Euro am 28. August 2026<\/td>\n<td>1.034,00 Euro<\/td>\n<td>minus 10,45 Prozent<\/td>\n<\/tr>\n<tr>\n<th>2 Wochen<\/th>\n<td>1.155,40 Euro am 21. August 2026<\/td>\n<td>1.034,00 Euro<\/td>\n<td>minus 10,51 Prozent<\/td>\n<\/tr>\n<tr>\n<th>4 Wochen<\/th>\n<td>1.146,40 Euro am 7. August 2026<\/td>\n<td>1.034,00 Euro<\/td>\n<td>minus 9,80 Prozent<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Betrachtet wird die Rheinmetall-Stammaktie auf Xetra mit dem K\u00fcrzel RHM, der Handelsw\u00e4hrung Euro und der ISIN DE0007030009.<\/p>\n<h3>Aktuelle Kursziele f\u00fcr die Rheinmetall-Aktie<\/h3>\n<p>Die Kursziele liegen weit auseinander. Die <a href=\"https:\/\/www.marketscreener.com\/news\/rheinmetall-ag-deutsche-bank-reiterates-its-buy-rating-ce7858ddd18af523\" target=\"_blank\" rel=\"noopener\">Deutsche Bank best\u00e4tigte am 1. September<\/a> durch Analyst Christoph Laskawi das Kaufurteil und ein Kursziel von 1.800 Euro. Die <a href=\"https:\/\/stockanalysis.com\/quote\/etr\/RHM\/forecast\/\" target=\"_blank\" rel=\"noopener\">datierte \u00dcbersicht bei StockAnalysis<\/a> nennt f\u00fcr JPMorgan ein Halten-Urteil mit 1.350 Euro und f\u00fcr Jefferies ebenfalls 1.350 Euro bei einer Kaufempfehlung.<\/p>\n<p>Diese Einsch\u00e4tzungen beziehen sich auf die n\u00e4chsten 12 Monate. Sie sind weder garantierte Kursmarken noch ausdr\u00fccklich Prognosen f\u00fcr Ende 2027. Unterschiedliche Urteile bei gleichem Ziel zeigen au\u00dferdem, dass Kursziel und Handlungsempfehlung getrennt betrachtet werden sollten.<\/p>\n<h4 id=\"table-aktuelle-kursziele-1-table-heading\">Ausgew\u00e4hlte Analystenziele f\u00fcr Rheinmetall<\/h4>\n<table aria-labelledby=\"table-aktuelle-kursziele-1-table-heading\">\n<thead>\n<tr>\n<th>Institut<\/th>\n<th>Kursziel<\/th>\n<th>Urteil und \u00c4nderung<\/th>\n<th>Stand<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th>Deutsche Bank<\/th>\n<td>1.800 Euro<\/td>\n<td>Kaufen; best\u00e4tigt<\/td>\n<td>1. September 2026<\/td>\n<\/tr>\n<tr>\n<th>JPMorgan<\/th>\n<td>1.350 Euro<\/td>\n<td>Halten; best\u00e4tigt<\/td>\n<td>17. August 2026<\/td>\n<\/tr>\n<tr>\n<th>Jefferies<\/th>\n<td>1.350 Euro<\/td>\n<td>Kaufen; erh\u00f6ht von 1.300 Euro<\/td>\n<td>14. August 2026<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Prognose: Wo steht die Rheinmetall-Aktie Ende 2027?<\/h3>\n<p>Der <a href=\"https:\/\/stockanalysis.com\/quote\/etr\/RHM\/forecast\/\" target=\"_blank\" rel=\"noopener\">S&amp;P-Global-Konsens bei StockAnalysis<\/a> nennt f\u00fcr 21 Analysten ein durchschnittliches 12-Monats-Kursziel von rund 1.679 Euro. Die Spanne reicht von 1.050 bis 2.380 Euro. F\u00fcr das Gesch\u00e4ftsjahr 2027 weist die Seite 53,68 Euro bereinigten Gewinn je Aktie aus. Das ist eine Analystensch\u00e4tzung, keine Unternehmensprognose.<\/p>\n<p>Bezogen auf diese Gewinnsch\u00e4tzung betr\u00e4gt das <a href=\"https:\/\/www.ftd.de\/boerse\/anlagestrategie\/kgv-bei-aktien-bedeutung-tuecken-und-grenzen-des-kurs-gewinn-verhaeltnisses\/\" target=\"_blank\" rel=\"noopener\">Kurs-Gewinn-Verh\u00e4ltnis<\/a> (KGV) am aktuellen Schlusskurs rund 19,26. Unser redaktionelles Basismodell setzt f\u00fcr Ende 2027 ein KGV von 20 bis 26 an. Bei unver\u00e4ndertem Gewinnkonsens ergibt das gerundet 1.074 bis 1.396 Euro.<\/p>\n<p>Im Bull-Szenario steigt der bereinigte Gewinn 15 Prozent \u00fcber den Konsens, und das KGV liegt zwischen 27 und 32. Im Bear-Szenario bleibt der Gewinn 20 Prozent darunter; zugleich sinkt das KGV auf 14 bis 18. Diese Abweichungen und Bewertungsb\u00e4nder sind redaktionelle Annahmen. Sie bilden eine Sensitivit\u00e4tsrechnung, keine zus\u00e4tzlichen Analystenziele.<\/p>\n<p>Die Kursspannen gelten f\u00fcr Ende 2027. Sie zeigen die kombinierte Wirkung von Gewinn und Bewertung. Ohne empirische Grundlage lassen sich den Szenarien keine belastbaren Wahrscheinlichkeiten zuordnen.<\/p>\n<h4 id=\"scenario-table-table-heading\">Szenarien f\u00fcr die Rheinmetall-Aktie 2027<\/h4>\n<table aria-labelledby=\"scenario-table-table-heading\">\n<thead>\n<tr>\n<th>Szenario<\/th>\n<th>Kurskorridor 2027<\/th>\n<th>Voraussetzungen<\/th>\n<th>Risiken<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<th>Bull<\/th>\n<td>1.667 bis 1.975 Euro<\/td>\n<td>Gewinn je Aktie 15 Prozent \u00fcber dem bereinigten Konsens von 53,68 Euro; Redaktionelles KGV von 27 bis 32; Kapazit\u00e4tsausbau liefert zus\u00e4tzliches profitables Wachstum<\/td>\n<td>Sp\u00e4terer Produktionsanlauf; Niedrigere Bewertung trotz Gewinnwachstum<\/td>\n<\/tr>\n<tr>\n<th>Basis<\/th>\n<td>1.074 bis 1.396 Euro<\/td>\n<td>Bereinigter Gewinn je Aktie von 53,68 Euro gem\u00e4\u00df Konsens 2027; Redaktionelles KGV von 20 bis 26<\/td>\n<td>Sinkende Gewinnsch\u00e4tzungen; Anhaltende Kapitalbindung<\/td>\n<\/tr>\n<tr>\n<th>Bear<\/th>\n<td>601 bis 773 Euro<\/td>\n<td>Gewinn je Aktie 20 Prozent unter dem bereinigten Konsens von 53,68 Euro; Redaktionelles KGV von 14 bis 18<\/td>\n<td>Auftragsverschiebungen und h\u00f6here Kosten; Schw\u00e4cherer Mittelzufluss<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Fahrzeuge und Munition tragen das operative Wachstum<\/h3>\n<p>Die <a href=\"https:\/\/www.rheinmetall.com\/de\/media\/news-watch\/news\/2026\/08\/2026-08-06-rheinmetall-pressemitteilung-halbjahresfinanzbericht-h1\" target=\"_blank\" rel=\"noopener\">Halbjahresmeldung des Konzerns<\/a> zeigt die unterschiedlichen Ertragsbeitr\u00e4ge. Vehicle Systems, Rheinmetalls Sparte f\u00fcr milit\u00e4rische Rad-, Ketten- und Logistikfahrzeuge, erzielte 2,431 Milliarden Euro Umsatz und 275 Millionen Euro operatives Ergebnis. Die Marge betrug 11,3 Prozent.<\/p>\n<p>Weapon and Ammunition, das Konzernsegment f\u00fcr Waffen, Munition und Schutzsysteme, kam auf 1,757 Milliarden Euro Umsatz und 417 Millionen Euro operatives Ergebnis. Mit 23,7 Prozent lag die Marge deutlich h\u00f6her. Der Anteil dieser Gesch\u00e4fte am Umsatz beeinflusst damit den zus\u00e4tzlichen Gewinn.<\/p>\n<p>Mehr Auftr\u00e4ge allein rechtfertigen deshalb keine h\u00f6here Bewertung. Entscheidend sind auch der Gesch\u00e4ftsmix und die Kosten der zus\u00e4tzlichen Fertigung. Eine schnell wachsende Sparte mit niedrigerer Marge kann den Umsatz st\u00e4rker erh\u00f6hen als den Konzerngewinn.<\/p>\n<h3>Auftragsbestand und Ausbau m\u00fcssen zu Auslieferungen f\u00fchren<\/h3>\n<p>Im <a href=\"https:\/\/ir.rheinmetall.com\/media\/document\/157d7a70-1369-407f-837f-c4072501db6a\/assets\/DE0007030009-Q2-2026-EQ-D-00.pdf\" target=\"_blank\" rel=\"noopener\">Halbjahresbericht<\/a> setzt sich der Rheinmetall-Backlog zum 30. Juni aus rund 56,3 Milliarden Euro Auftragsbestand und rund 24,1 Milliarden Euro erwarteten Abrufen aus Rahmenvertr\u00e4gen zusammen. Letztere sind noch keine verbindlichen Kundenbestellungen. Die zusammengefasste Gr\u00f6\u00dfe von rund 80,5 Milliarden Euro ist daher nicht vollst\u00e4ndig mit fest bestelltem Umsatz gleichzusetzen.<\/p>\n<p>Wie konkret der Kapazit\u00e4tsausbau wird, beschreibt <a href=\"https:\/\/www.reuters.com\/business\/aerospace-defense\/rheinmetall-invest-270-mln-germanys-kassel-becomes-key-tank-hub-2026-08-27\/\" target=\"_blank\" rel=\"noopener\">Reuters am Beispiel Kassel<\/a>: Geplant sind dort Investitionen von etwa 270 Millionen Euro. Sie dienen der Erweiterung der Panzerfertigung, Drohnentests und einem neuen Logistikzentrum. Das Logistikzentrum soll Ende 2027 starten. Die Meldung vom 27. August gibt damit einen zeitlichen Ma\u00dfstab f\u00fcr einen Teil des Ausbaus.<\/p>\n<p>Eine neue Fertigungslinie muss zun\u00e4chst anlaufen und gen\u00fcgend produzieren, bevor sie ihre Kosten verdient. Verz\u00f6gerungen k\u00f6nnen den erhofften Ergebnisbeitrag verschieben, w\u00e4hrend Bau- und Personalkosten bereits anfallen. F\u00fcr das Bull-Szenario m\u00fcsste der Ausbau deshalb sowohl zeitlich als auch wirtschaftlich gelingen.<\/p>\n<h3>Cashflow und Verschuldung begrenzen den Spielraum<\/h3>\n<p>Der <a href=\"https:\/\/ir.rheinmetall.com\/media\/document\/157d7a70-1369-407f-837f-c4072501db6a\/assets\/DE0007030009-Q2-2026-EQ-D-00.pdf\" target=\"_blank\" rel=\"noopener\">Bericht zum 1. Halbjahr<\/a> weist f\u00fcr die fortgef\u00fchrten Aktivit\u00e4ten einen operativen Free Cashflow von minus 1,616 Milliarden Euro aus, nach minus 631 Millionen Euro im Vorjahr. H\u00f6here Vorr\u00e4te und die Kapitalbindung im laufenden Gesch\u00e4ft tragen dazu bei. Die Nettofinanzverbindlichkeiten dieser Aktivit\u00e4ten betrugen Ende Juni 2,722 Milliarden Euro.<\/p>\n<p>Der Gewinn w\u00e4chst, w\u00e4hrend freie Mittel abflie\u00dfen. Das ist bei einem Ausbau erkl\u00e4rbar, bleibt aber ein Finanzierungsrisiko. Kommen Anzahlungen sp\u00e4ter oder werden Lieferungen erst sp\u00e4ter bezahlt, muss der Konzern die Zwischenzeit finanzieren.<\/p>\n<p>Die <a href=\"https:\/\/stockanalysis.com\/quote\/etr\/RHM\/forecast\/\" target=\"_blank\" rel=\"noopener\">Gewinnsch\u00e4tzung f\u00fcr 2027<\/a> ist zudem bereinigt. Ein darauf berechnetes KGV l\u00e4sst sich nicht ohne Weiteres mit einer Bewertung auf Basis des ausgewiesenen Gewinns vergleichen. Auch der Konsens kann sinken. Ein niedrigeres KGV auf einer zu hohen Gewinnsch\u00e4tzung w\u00e4re keine verl\u00e4ssliche Sicherheitsmarge.<\/p>\n<h3>Beschaffungsentscheidungen und Lieferqualit\u00e4t bleiben Risiken<\/h3>\n<p>Rheinmetall senkte laut <a href=\"https:\/\/www.rheinmetall.com\/de\/media\/news-watch\/news\/2026\/08\/2026-08-06-rheinmetall-pressemitteilung-halbjahresfinanzbericht-h1\" target=\"_blank\" rel=\"noopener\">Unternehmensmitteilung vom 6. August<\/a> nach der Stornierung des Fregattenprojekts F126 seine Umsatzplanung f\u00fcr 2026 um 300 Millionen Euro auf 13,7 bis 14,2 Milliarden Euro. Die erwartete operative Marge blieb bei rund 19 Prozent. Das Beispiel zeigt, dass staatliche Nachfrage trotz hoher Verteidigungsausgaben bei einzelnen Projekten entfallen kann.<\/p>\n<p><a href=\"https:\/\/www.finanzen.net\/nachricht\/aktien\/talfahrt-setzt-sich-fort-rheinmetall-aktie-trotz-neuem-us-navy-auftrag-weiter-im-sinkflug-hensoldt-renk-tkms-im-blick-00-15918775\" target=\"_blank\" rel=\"noopener\">Finanzen.net berichtete am 4. September<\/a> au\u00dferdem \u00fcber Kritik an Lieferverz\u00f6gerungen im R\u00fcstungssektor und Berichte \u00fcber m\u00f6gliche Qualit\u00e4tsm\u00e4ngel bei Schutzplatten aus dem Rheinmetall-Konzernkreis. Ein abschlie\u00dfend festgestellter Mangel oder eine bezifferte finanzielle Belastung l\u00e4sst sich daraus nicht ableiten. F\u00fcr die Bewertung bleibt aber relevant, ob Liefertermine und Abnahmen eingehalten werden.<\/p>\n<p>Unsere Risikobetrachtung unterstellt deshalb keine bestimmte Schadenersatzsumme. Im Bear-Szenario wirken schw\u00e4chere Gewinne und eine niedrigere Bewertung zusammen. Das kann auch dann eintreten, wenn das Unternehmen weiter w\u00e4chst, aber hinter den Erwartungen zur\u00fcckbleibt.<\/p>\n<h3>Fazit: Am n\u00e4chsten Bericht z\u00e4hlen Marge und Mittelzufluss<\/h3>\n<p>Mit dem Ausbau kann Rheinmetall zus\u00e4tzliche Gewinne erzielen. Der Basiskorridor setzt jedoch voraus, dass der bereinigte Gewinnkonsens f\u00fcr 2027 erreicht wird und das KGV zwischen 20 und 26 liegt. Ein h\u00f6herer Kurs braucht in diesem Modell zus\u00e4tzliche Gewinne oder eine h\u00f6here Bewertung.<\/p>\n<p>Der n\u00e4chste wichtige Pr\u00fcfpunkt ist die <a href=\"https:\/\/ir.rheinmetall.com\/media\/document\/157d7a70-1369-407f-837f-c4072501db6a\/assets\/DE0007030009-Q2-2026-EQ-D-00.pdf\" target=\"_blank\" rel=\"noopener\">Quartalsmitteilung am 5. November 2026<\/a>. Dann lassen sich Umsatzentwicklung, operative Marge und Mittelzufluss an der aktuellen Jahresplanung messen. F\u00fcr die Finanzierung des Wachstums w\u00e4re beides hilfreich: Fortschritte zum Margenziel von rund 19 Prozent und ein besserer operativer Free Cashflow als im Halbjahr. Weitere Verschiebungen bei Anzahlungen oder Auftr\u00e4gen w\u00fcrden die Risiken erh\u00f6hen.<\/p>\n<p>\u00a0<\/p>\n<p style=\"font-size: 12px;\">Disclaimer:<br \/>\nDieser Artikel wurde mit Hilfe von KI erstellt und vor Ver\u00f6ffentlichung durch die Redaktion gepr\u00fcft. Alle Angaben ohne Gew\u00e4hr auf Vollst\u00e4ndigkeit, Richtigkeit und Aktualit\u00e4t. Der Text stellt keine Handelsempfehlung oder Anlageberatung dar.<\/p>\n<p>Der Beitrag <a href=\"https:\/\/www.ftd.de\/boerse\/aktien\/rheinmetall-aktie-wie-lautet-die-prognose-fuer-2027\/\">Rheinmetall-Aktie: Wie lautet die Prognose f\u00fcr 2027?<\/a> erschien zuerst auf <a href=\"https:\/\/www.ftd.de\/\">ftd.de<\/a>.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Die Prognose f\u00fcr die Rheinmetall Aktie h\u00e4ngt 2027 stark von rechtzeitigen Auslieferungen und dem freien Cashflow ab. (KI-Symbolbild: Magnific.com, mku018) Rheinmetalls Gesch\u00e4ft w\u00e4chst kr\u00e4ftig. Der Ausbau bindet allerdings viel Geld. Im 1. Halbjahr 2026 legten die Erl\u00f6se der fortgef\u00fchrten Aktivit\u00e4ten um 39 Prozent auf 5,227 Milliarden Euro zu. Das operative Ergebnis stieg um 74 Prozent [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":143584,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[22,1],"tags":[],"class_list":["post-143583","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ft","category-topstory"],"_links":{"self":[{"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/posts\/143583","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/comments?post=143583"}],"version-history":[{"count":0,"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/posts\/143583\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/media\/143584"}],"wp:attachment":[{"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/media?parent=143583"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/categories?post=143583"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/tags?post=143583"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}