{"id":142392,"date":"2026-08-06T03:02:28","date_gmt":"2026-08-06T01:02:28","guid":{"rendered":"https:\/\/news.abusizz.ch\/hms-networks-aktie-fabrikautomation-plus-schwedische-ma-strategie\/"},"modified":"2026-08-06T03:02:28","modified_gmt":"2026-08-06T01:02:28","slug":"hms-networks-aktie-fabrikautomation-plus-schwedische-ma-strategie","status":"publish","type":"post","link":"https:\/\/news.abusizz.ch\/it\/hms-networks-aktie-fabrikautomation-plus-schwedische-ma-strategie\/","title":{"rendered":"HMS Networks Aktie: Fabrikautomation plus schwedische M&amp;A-Strategie"},"content":{"rendered":"<div>\n<div id=\"attachment_90241\" style=\"width: 410px\" class=\"wp-caption alignleft\">\n<p id=\"caption-attachment-90241\" class=\"wp-caption-text\">Durch gezielte Firmen\u00fcbernahmen in Nordamerika und Europa baut HMS Networks seine strategische Marktposition kontinuierlich aus. (Foto: hms-networks.com)<\/p>\n<\/div>\n<p>Die Industrieautomation hat gute Wachstumsaussichten. Damit es so kommt, muss die Verst\u00e4ndigung zwischen Robotern, Sensoren und Steuerung funktionieren. <a href=\"https:\/\/www.hms-networks.com\/de\" target=\"_blank\" rel=\"noopener\">HMS Networks<\/a> (Hardware Meets Software) sorgt mit seiner Hardware und Software daf\u00fcr, dass unterschiedliche Maschinen und Systeme reibungslos miteinander kommunizieren k\u00f6nnen.<\/p>\n<p>Typisch schwedisch wirkt die integrierte Akquisitionsstrategie. Zuk\u00e4ufe sind bei HMS keine Ausnahme, sondern eher die Regel, um das Produktportfolio zu erweitern und neue M\u00e4rkte zu erschlie\u00dfen. Firmengr\u00fcnder und Vorstandschef Staffan Dahlstr\u00f6m h\u00e4lt selbst mehr als 12 Prozent der Aktien, Hauptaktion\u00e4r ist die Investmentgesellschaft Latour (ebenfalls an der B\u00f6rse) mit rund 26 Prozent. Damit ist HMS unter langfristig orientierter Eigent\u00fcmerkontrolle.<\/p>\n<h3>HMS als \u00dcbersetzer f\u00fcr die vernetzte Fabrik<\/h3>\n<p>HMS Networks unterteilt seine Aktivit\u00e4ten in 3 spezialisierte Gesch\u00e4ftsbereiche. Die gr\u00f6\u00dfte Division mit rund 46 Prozent des Umsatzes ist Industrial Data Solutions. Zu ihr z\u00e4hlen Fernzugriffsl\u00f6sungen, lokale Visualisierungen an den Maschinen sowie industrielle Router. Zu den Marken geh\u00f6ren Ewon und Red Lion aus der j\u00fcngsten \u00dcbernahme.<\/p>\n<p>Weitere rund 30 Prozent des Umsatzes werden mit der Ursprungssparte Industrial Network Technology erzielt. Dazu geh\u00f6ren Marken wie Anybus. Die Division liefert eigebettete Kommunikationsmodule direkt an Maschinen- und Robotikhersteller, damit die Ger\u00e4te mit unterschiedlichen Industrienetzwerken kommunizieren k\u00f6nnen. Diese Division erzielt die h\u00f6chste Marge mit rund 30 Prozent EBITDA (Gewinn vor Zinsen, Steuern und Abschreibungen).<\/p>\n<p>Die kleinste Division stellt New Industries mit 24 Prozent Umsatzanteil und der geringsten EBITDA-Marge von 22,7 Prozent dar. Hier werden L\u00f6sungen f\u00fcr Geb\u00e4udeautomatisierung wie etwa Klimaanlagen und Diagnosesysteme f\u00fcr die Automobilbranche zusammengefasst.<\/p>\n<h3>Wachstumstreiber und Zukunftsf\u00e4higkeit<\/h3>\n<p>HMS profitiert indirekt vom Boom bei Rechenzentren und Halbleitern. W\u00e4hrend die Serverinfrastruktur komplexe K\u00fchl- und Energieautomatisierung ben\u00f6tigt, haben Maschinenbauer der Halbleiterbranche zunehmend Bedarf an Komponenten von HMS.<\/p>\n<p>Um die Zyklik der Branche zu stabilisieren, strebt HMS durch neue Software-Abonnements an, den Anteil der wiederkehrenden Ums\u00e4tze von aktuell 3 auf 10 Prozent bis 2030 auszubauen.<\/p>\n<p>Um den Kunden wiederum eine KI-Technologie direkt auf dem Endger\u00e4t anstatt in der Cloud zu erm\u00f6glichen, hat sich HMS zuletzt auch am schwedischen KI-Entwickler Ekkono beteiligt. Das soll nicht nur Kunden zugute kommen \u2013 HMS will die Technologie selbst einsetzen, um die Effizienz zu erh\u00f6hen.<\/p>\n<div data-elementor-type=\"section\" data-elementor-id=\"66258\" class=\"elementor elementor-66258\" data-elementor-post-type=\"elementor_library\">\n<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6a31268 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6a31268\" data-element_type=\"section\" data-e-type=\"section\">\n<div class=\"elementor-container elementor-column-gap-default\">\n<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d8de066\" data-id=\"d8de066\" data-element_type=\"column\" data-e-type=\"column\">\n<div class=\"elementor-widget-wrap elementor-element-populated\">\n<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-d76eb4c elementor-reverse-mobile elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d76eb4c\" data-element_type=\"section\" data-e-type=\"section\" data-settings='{\"background_background\":\"classic\"}'>\n<div class=\"elementor-container elementor-column-gap-default\">\n<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-ca0c4b8\" data-id=\"ca0c4b8\" data-element_type=\"column\" data-e-type=\"column\">\n<div class=\"elementor-widget-wrap elementor-element-populated\">\n<div class=\"elementor-element elementor-element-e160fbf elementor-hidden-mobile elementor-widget elementor-widget-image\" data-id=\"e160fbf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"2000\" height=\"2000\"src=\"https:\/\/news.abusizz.ch\/wp-content\/uploads\/2026\/08\/divHMS-Networks-Aktie-Fabrikautomation-plus-schwedische-MA-Strategiediv.png\" class=\"attachment-full size-full wp-image-78515\" alt=\"Smartbroker Dashboard \/ Quelle: Smartbroker Presse\" srcset=\"https:\/\/news.abusizz.ch\/wp-content\/uploads\/2026\/08\/divHMS-Networks-Aktie-Fabrikautomation-plus-schwedische-MA-Strategiediv.png 2000w, https:\/\/www.ftd.de\/wp-content\/uploads\/Finanzen_Dashboard_Depot_Front-300x300.png 300w, https:\/\/www.ftd.de\/wp-content\/uploads\/Finanzen_Dashboard_Depot_Front-1024x1024.png 1024w, https:\/\/www.ftd.de\/wp-content\/uploads\/Finanzen_Dashboard_Depot_Front-150x150.png 150w, https:\/\/www.ftd.de\/wp-content\/uploads\/Finanzen_Dashboard_Depot_Front-768x768.png 768w, https:\/\/www.ftd.de\/wp-content\/uploads\/Finanzen_Dashboard_Depot_Front-1536x1536.png 1536w, https:\/\/www.ftd.de\/wp-content\/uploads\/Finanzen_Dashboard_Depot_Front-80x80.png 80w\" sizes=\"(max-width: 2000px) 100vw, 2000px\">\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-b89ab12\" data-id=\"b89ab12\" data-element_type=\"column\" data-e-type=\"column\">\n<div class=\"elementor-widget-wrap elementor-element-populated\">\n<div class=\"elementor-element elementor-element-a2c7edf elementor-absolute elementor-widget elementor-widget-text-editor\" data-id=\"a2c7edf\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings='{\"_position\":\"absolute\"}' data-widget_type=\"text-editor.default\">\n<div class=\"elementor-widget-container\">\n<p style=\"font-size: 12px; color: #999999; text-align: center;\">Anzeige<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-4f36c6a elementor-widget elementor-widget-heading\" data-id=\"4f36c6a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n<div class=\"elementor-widget-container\">\n<h5 class=\"elementor-heading-title elementor-size-default\">Bei anderen Depots investieren Sie in Ordergeb\u00fchren, bei Smartbroker+ in Ihren Verm\u00f6gensaufbau.<\/h5>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-e6be341 elementor-icon-list--layout-traditional elementor-list-item-link-full_width elementor-widget elementor-widget-icon-list\" data-id=\"e6be341\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-list.default\">\n<div class=\"elementor-widget-container\">\n<ul class=\"elementor-icon-list-items\">\n<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\"><br \/>\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check\"><\/i>\t\t\t\t\t\t<\/span><br \/>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">kostenlose Depotf\u00fchrung<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\"><br \/>\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check\"><\/i>\t\t\t\t\t\t<\/span><br \/>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">Ordergeb\u00fchren ab 0\u20ac<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n<li class=\"elementor-icon-list-item\">\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-icon\"><br \/>\n\t\t\t\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-check\"><\/i>\t\t\t\t\t\t<\/span><br \/>\n\t\t\t\t\t\t\t\t\t\t<span class=\"elementor-icon-list-text\">kostenlose ETF-Sparpl\u00e4ne<\/span>\n\t\t\t\t\t\t\t\t\t<\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<div class=\"elementor-element elementor-element-90958e7 elementor-widget elementor-widget-html\" data-id=\"90958e7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n<div class=\"elementor-widget-container\">\n<div class=\"button-container\">\n        <a class=\"box-affiliate\" href=\"https:\/\/www.ftd.de\/go\/smartbroker-depot\/\" target=\"_blank\">Zu Smartbroker*<\/a><\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/section><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/section><\/div>\n<p>Abgerundet wird der Wachstumspfad weiterhin mit der M&amp;A-Strategie. Bis 2030 soll die H\u00e4lfte des Wachstums \u00fcber Zuk\u00e4ufe erfolgen. 2024 wurde das US-Unternehmen Red Lion Controls f\u00fcr industrielle Vernetzung \u00fcbernommen. Aufgrund der eigenen Fertigung in den USA verschaffte sich HMS damit einen besseren Zugang zum US-Markt.<\/p>\n<p>Mit der Anfang 2026 \u00fcbernommenen Industriesparte von Molex deckt HMS dagegen Netzwerktechnik f\u00fcr Roboter und Maschinen ab. Das passt direkt zum bestehenden Anybus-Gesch\u00e4ft. Beide Zuk\u00e4ufe st\u00e4rken damit gezielt Bereiche, in denen HMS bereits aktiv ist ohne neue Risiken einzugehen.<\/p>\n<h3>Starke Ergebnisse st\u00e4rken die Zukunftsvision<\/h3>\n<p>Die j\u00fcngsten Ergebnisse f\u00fcr das 2. Quartal 2026 untermauern den positiven Nachfragetrend. Der Umsatz kletterte um 18 Prozent auf 991 Millionen Schwedische Kronen im Vergleich zum Vorjahresquartal. Das organische Wachstum ohne Zuk\u00e4ufe betrug dabei solide 12 Prozent. Der Auftragseingang konnte sogar um 20 Prozent (organisch um 15 Prozent) zulegen.<\/p>\n<p>\u00a0<\/p>\n<div class=\"chartwrapper\" id=\"chartwrapper\" data-chartid=\"6a72eee6ddbee\"><\/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 = \"6a72eee6ddbee\";\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 = \"6a72eee6ddbee\";<\/p>\n<p>        var companyName = \"HMS Networks AB (publ)\";\n        if(companyName.length <=0){\n        companyName = \"HMS - ST\";\n        }\n        var code = \"HMS\";\n        var exchange = \"ST\";\n        var currency =\"SEK\";\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<p>Der Gewinn legte besonders deutlich zu. Das operative Ergebnis vor Abschreibungen stieg im Vorjahresvergleich um 59 Prozent auf 266 Millionen Kronen. Das ergibt eine operative Marge von rund 26,8 Prozent und liegt deutlich \u00fcber dem Unternehmensziel von 25 Prozent. Der freie Cashflow besticht mit 22,8 Prozent und eignet sich, um den Schuldenstand weiter zu reduzieren. Die Nettoverschuldung zu EBITDA sank zuletzt auf 1,74. Das erwartete <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> liegt bei 27, w\u00e4hrend Umsatz- und Gewinnwachstum jeweils im mittleren Zehnerbereich liegen soll.<\/p>\n<h3>Zyklizit\u00e4t bleibt ein Kernrisiko<\/h3>\n<p>Trotz der positiven Entwicklung existieren Risiken. Der starke Fokus auf Halbleiter und <a href=\"https:\/\/www.ftd.de\/technik-und-digitales\/computer-und-technik\/energiehunger-von-ki-rechenzentren-brauchen-11-mal-mehr-energie-bis-2030\/\" target=\"_blank\" rel=\"noopener\">Rechenzentren<\/a> birgt zyklische Gefahren, da diese Investitionswellen nicht dauerhaft sein m\u00fcssen. Derzeit profitiert HMS von globalen Engp\u00e4ssen an Komponenten. In der 2. Jahresh\u00e4lfte k\u00f6nnte sich auch f\u00fcr HMS ein leichter Margendruck ergeben, da die eigenen Vorr\u00e4te geringer werden.<br \/>\nW\u00e4hrungseffekte stellen weitere bilanzielle Risiken dar. Bilanziert wird in Schwedischen Kronen, w\u00e4hrend sich die Ums\u00e4tze zu 40 Prozent in US-Dollar und 45 Prozent in Euro zusammensetzen.<\/p>\n<p>Anleger, die in einer Nische und abseits vom US-Markt nach Opportunit\u00e4ten suchen, k\u00f6nnen sich tiefergehend mit HMS Networks als Spezialisten in der industriellen Kommunikation und Fabrikautomation befassen. HMS profitiert von Trends wie Rechenzentren, Halbleiterindustrie, Edge-KI und Fernwartung.<\/p>\n<p>\u00a0<\/p>\n<p style=\"font-size: 12px;\">Keine Anlageberatung. Kein Aufruf zum Kauf oder Verkauf von Wertpapieren.<\/p>\n<p>Der Beitrag <a href=\"https:\/\/www.ftd.de\/boerse\/aktien\/hms-networks-aktie-fabrikautomation-plus-schwedische-ma-strategie\/\">HMS Networks Aktie: Fabrikautomation plus schwedische M&amp;A-Strategie<\/a> erschien zuerst auf <a href=\"https:\/\/www.ftd.de\/\">ftd.de<\/a>.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Durch gezielte Firmen\u00fcbernahmen in Nordamerika und Europa baut HMS Networks seine strategische Marktposition kontinuierlich aus. (Foto: hms-networks.com) Die Industrieautomation hat gute Wachstumsaussichten. Damit es so kommt, muss die Verst\u00e4ndigung zwischen Robotern, Sensoren und Steuerung funktionieren. HMS Networks (Hardware Meets Software) sorgt mit seiner Hardware und Software daf\u00fcr, dass unterschiedliche Maschinen und Systeme reibungslos miteinander kommunizieren [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":142393,"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-142392","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\/142392","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=142392"}],"version-history":[{"count":0,"href":"https:\/\/news.abusizz.ch\/it\/wp-json\/wp\/v2\/posts\/142392\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/news.abusizz.ch\/it\/wp-json\/wp\/v2\/media\/142393"}],"wp:attachment":[{"href":"https:\/\/news.abusizz.ch\/it\/wp-json\/wp\/v2\/media?parent=142392"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/news.abusizz.ch\/it\/wp-json\/wp\/v2\/categories?post=142392"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/news.abusizz.ch\/it\/wp-json\/wp\/v2\/tags?post=142392"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}