{"id":138659,"date":"2026-04-23T03:07:42","date_gmt":"2026-04-23T01:07:42","guid":{"rendered":"https:\/\/news.abusizz.ch\/ibm-quartalszahlen-heute-ki-hype-und-consulting-flaute-ueberblick-und-prognose\/"},"modified":"2026-04-23T03:07:42","modified_gmt":"2026-04-23T01:07:42","slug":"ibm-quartalszahlen-heute-ki-hype-und-consulting-flaute-ueberblick-und-prognose","status":"publish","type":"post","link":"https:\/\/news.abusizz.ch\/it\/ibm-quartalszahlen-heute-ki-hype-und-consulting-flaute-ueberblick-und-prognose\/","title":{"rendered":"IBM Quartalszahlen heute: KI-Hype und Consulting-Flaute \u2013 \u00dcberblick und Prognose"},"content":{"rendered":"<div>\n<div id=\"attachment_87072\" style=\"width: 410px\" class=\"wp-caption alignleft\">\n<p id=\"caption-attachment-87072\" class=\"wp-caption-text\">IBM profitiert von KI im B2B-Gesch\u00e4ft. (Foto: Freepik, dasun404malaka)<\/p>\n<\/div>\n<p>Armonk \u2013 Der IT-Dinosaurier IBM lieferte 2025 das st\u00e4rkste Jahr seit einer Dekade. Umsatz, Gewinn und freier Cashflow \u00fcbertrafen die Erwartungen \u2013 und der KI-Auftragsbestand stieg auf \u00fcber <a href=\"http:\/\/newsroom.ibm.com\/2026-04-08-IBM-to-Announce-First-Quarter-2026-Financial-Results\">12,5 Milliarden US-Dollar<\/a>. Doch die Aktie notiert 14 Prozent unter ihrem Jahresbeginn. Kann IBM heute Abend den Turnaround einl\u00e4uten?<\/p>\n<h3>IBM-Aktie unter Druck: Vom Allzeithoch tief gefallen<\/h3>\n<p>Der IBM-Kurs liegt bei rund 255,68 US-Dollar (Schlusskurs gestern). Das Allzeithoch von 324,90 US-Dollar markierte die Aktie am 12. November 2025. In diesem Jahr haben Anleger das Papier trotz operativer St\u00e4rke nicht favoroisiert \u2013 zu gro\u00df scheint die Sorge, dass KI-Disruption das Gesch\u00e4ft belastet.<\/p>\n<h3>Starkes 4. Quartal 2025: IBM hat Erwartungen \u00fcbetroffen<\/h3>\n<p>Im <a href=\"http:\/\/newsroom.ibm.com\/2026-01-28-IBM-RELEASES-FOURTH-QUARTER-RESULTS\">4. Quartal 2025<\/a> erzielte IBM einen Umsatz von 19,7 Milliarden US-Dollar \u2013 ein Anstieg von mehr als 12 Prozent gegen\u00fcber dem Vorjahresquartal. Das bereinigte Ergebnis je Aktie (Operating Non-GAAP) lag bei 4,52 US-Dollar, was einem Plus von \u00fcber 15 Prozent entspricht. Das Software-Segment wuchs um 14 Prozent auf 9 Milliarden US-Dollar, Infrastructure legte sogar um 21 Prozent zu. Alle 3 Kernsegmente \u00fcbertrafen die Markterwartungen \u2013 ein starkes Signal.<\/p>\n<p>F\u00fcr das Gesamtjahr 2026 erwartet IBM ein w\u00e4hrungsbereinigtes Umsatzwachstum von mehr als 5 Prozent. Den freien Cashflow will IBM um rund 1 Milliarde US-Dollar gegen\u00fcber 2025 steigern.\u00a0\u201eWir starten mit Schwung und aus einer Position der St\u00e4rke ins Jahr 2026\u201d, kommentierte CEO Arvind Krishna die Ergebnisse im Januar 2026. Das stimme hinsichtlich der Prognosen f\u00fcr das Gesamtjahr zuversichtlich.<\/p>\n<h3>KI als Wachstumsmotor \u2013 Confluent-Akquisition<\/h3>\n<p>Analysten sehen IBMs Wachstum vor allem im Software- und Infrastruktur-Bereich, insbesondere bei Automation und Transaction Processing. Die KI-Story tr\u00e4gt die Stimmung: IBM baut seine Pr\u00e4senz in KI und Automation aus. <a href=\"https:\/\/www.tipranks.com\/news\/the-fly\/ibm-price-target-raised-to-340-from-325-at-wedbush-thefly\" target=\"_blank\" rel=\"noopener\">Wedbush-Analyst Dan Ives<\/a> h\u00e4lt IBM f\u00fcr einen der am st\u00e4rksten untersch\u00e4tzten KI-Profiteure im B2B-Segment \u2013 sein Kursziel liegt bei 340 US-Dollar.<\/p>\n<p>Im M\u00e4rz konnte IBM die \u00dcbernahme der Daten-Streaming-Plattform Confluent abschlie\u00dfen. Die Kombination schafft eine einheitliche Echtzeit-Datenplattform \u2013 ein strategischer Schl\u00fcssel f\u00fcr KI-Entwicklungen im Unternehmensbereich. Doch die Akquisition belastet die Marge: IBM kalkuliert f\u00fcr 2026 mit einer Verw\u00e4sserung von rund 600 Millionen US-Dollar durch den Confluent-Deal.<\/p>\n<h3>Globale Risiken und m\u00f6gliche Consulting-Schw\u00e4che<\/h3>\n<p>Externes Risiko f\u00fcr IBM: Der globale Handelskonflikt unter US-Pr\u00e4sident Donald Trump trifft vor allem das Consulting-Gesch\u00e4ft. Gro\u00dfunternehmen z\u00f6gern bei Technologieinvestitionen, wenn makro\u00f6konomische Unsicherheit steigt. IBMs Consulting-Sparte bleibt das schw\u00e4chste Glied \u2013 nur 3 Prozent Wachstum im 4. Quartal.<\/p>\n<p>IBM hat die <a href=\"https:\/\/www.benzinga.com\/trading-ideas\/previews\/26\/04\/51957315\/ibm-q1-preview-dow-giant-six-straight-double-beats-ai-momentum\" target=\"_blank\" rel=\"noopener\">Erwartungen beim Umsatz<\/a> in 5 Quartalen hintereinander \u00fcbertroffen. Die gr\u00f6\u00dften Risiken: ein schwaches Consulting-Update, erste Zeichen einer KI-Kannibalisierung beim Workforce-Gesch\u00e4ft sowie makro\u00f6konomischer Gegenwind durch Z\u00f6lle und eine globale Investitionspause.<\/p>\n<h3>Prognosen f\u00fcr Gewinn und Umsatz \u2013 Analysten sehen Wachstum<\/h3>\n<p>Der Gewinn je Aktie soll nach der mittleren Sch\u00e4tzung von 17 Analysten auf <a href=\"http:\/\/finanzen.net\/schaetzungen\/ibm\" target=\"_blank\" rel=\"noopener\">finanzen.net<\/a> im 1. Quartal 2026 bei rund 1,81 US-Dollar liegen. Das ist ein deutlicher Anstieg gegen\u00fcber dem Vorjahresquartal, f\u00fcr das IBM rund 1,12 US-Dollar meldete. Im vorherigen Quartal \u2013 dem 4. Quartal 2025 \u2013 lag der Gewinn je Aktie (Non-GAAP) bei 4,52 US-Dollar, getrieben durch au\u00dferordentliche Steuereffekte und das saisonal starke Jahresschlussquartal.<\/p>\n<p>Rund 15.630,81 Millionen US-Dollar sch\u00e4tzen im Mittel 15 Analysten f\u00fcr das 1. Quartal 2026 \u2013 verglichen mit 14.541 Millionen US-Dollar im Vorjahresquartal. Das 4. Quartal 2025 war mit 19.686 Millionen US-Dollar saisonal erheblich st\u00e4rker \u2013 der Q1-R\u00fcckgang ist typisch f\u00fcr IBMs Gesch\u00e4ftsmuster. Das Gesch\u00e4ftsjahr endet am 31. Dezember.<\/p>\n<p>\u00a0<\/p>\n<div class=\"chartwrapper\" id=\"chartwrapper\" data-chartid=\"69e8ccbd678a4\"><\/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 = \"69e8ccbd678a4\";\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 = \"69e8ccbd678a4\";<\/p>\n<p>        var companyName = \"IBM Corporation\";\n        if(companyName.length <=0){\n        companyName = \"IBM - NYSE\";\n        }\n        var code = \"IBM\";\n        var exchange = \"NYSE\";\n        var currency =\"USD\";\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>IBM: Aussichten f\u00fcr Gewinn und Umsatz<\/h3>\n<p>Der SAP-Gewinn pro Aktie wird nach der mittleren Sch\u00e4tzung von 19 Analysten <a href=\"https:\/\/www.finanzen.net\/schaetzungen\/sap\" target=\"_blank\" rel=\"noopener\">auf finanzen.net<\/a> im 3. Quartal 2025 bei rund 1,49 Euro liegen. Das ist ein Anstieg gegen\u00fcber dem 2. Quartal 2025 (rund 1,46 Euro). Im Vorjahresquartal betrug der Gewinn je Aktie rund 1,25 Euro.<\/p>\n<p>Wachstum verhei\u00dfen auch die Umsatzprognosen \u2013 rund 9,08 Milliarden Euro sch\u00e4tzen die Analysten im Mittel f\u00fcr das 3. Quartal. Das ist mehr als im Vorjahresquartal (rund 8,47 Milliarden Euro) und etwas mehr als im 2. Quartal 2025 (rund 9,03 Milliarden). Das Gesch\u00e4ftsjahr endet am 31. Dezember.<img loading=\"lazy\" loading=\"lazy\" decoding=\"async\"src=\"\" alt=\"\" width=\"1\" height=\"1\"><\/p>\n<p>\u00a0<\/p>\n<p style=\"font-size: 12px;\">Disclaimer:<br \/>\nDieser Artikel wurde mit Hilfe von K\u00fcnstlicher Intelligenz 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\/ibm-quartalszahlen-heute-ki-hype-und-consulting-flaute-ueberblick-und-prognose\/\">IBM Quartalszahlen heute: KI-Hype und Consulting-Flaute \u2013 \u00dcberblick und Prognose<\/a> erschien zuerst auf <a href=\"https:\/\/www.ftd.de\/\">ftd.de<\/a>.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>IBM profitiert von KI im B2B-Gesch\u00e4ft. (Foto: Freepik, dasun404malaka) Armonk \u2013 Der IT-Dinosaurier IBM lieferte 2025 das st\u00e4rkste Jahr seit einer Dekade. Umsatz, Gewinn und freier Cashflow \u00fcbertrafen die Erwartungen \u2013 und der KI-Auftragsbestand stieg auf \u00fcber 12,5 Milliarden US-Dollar. Doch die Aktie notiert 14 Prozent unter ihrem Jahresbeginn. Kann IBM heute Abend den Turnaround [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":138660,"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-138659","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ft","category-topstory"],"_links":{"self":[{"href":"https:\/\/news.abusizz.ch\/it\/wp-json\/wp\/v2\/posts\/138659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/news.abusizz.ch\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/news.abusizz.ch\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/news.abusizz.ch\/it\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/news.abusizz.ch\/it\/wp-json\/wp\/v2\/comments?post=138659"}],"version-history":[{"count":0,"href":"https:\/\/news.abusizz.ch\/it\/wp-json\/wp\/v2\/posts\/138659\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/news.abusizz.ch\/it\/wp-json\/wp\/v2\/media\/138660"}],"wp:attachment":[{"href":"https:\/\/news.abusizz.ch\/it\/wp-json\/wp\/v2\/media?parent=138659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/news.abusizz.ch\/it\/wp-json\/wp\/v2\/categories?post=138659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/news.abusizz.ch\/it\/wp-json\/wp\/v2\/tags?post=138659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}