{"id":139919,"date":"2026-05-28T03:02:50","date_gmt":"2026-05-28T01:02:50","guid":{"rendered":"https:\/\/news.abusizz.ch\/spacex-warum-der-groesste-ipo-der-geschichte-anleger-in-space-etfs-treibt\/"},"modified":"2026-05-28T03:02:50","modified_gmt":"2026-05-28T01:02:50","slug":"spacex-warum-der-groesste-ipo-der-geschichte-anleger-in-space-etfs-treibt","status":"publish","type":"post","link":"https:\/\/news.abusizz.ch\/de\/spacex-warum-der-groesste-ipo-der-geschichte-anleger-in-space-etfs-treibt\/","title":{"rendered":"SpaceX: Warum der gr\u00f6\u00dfte IPO der Geschichte Anleger in Space-ETFs treibt"},"content":{"rendered":"<div>\n<div id=\"attachment_88105\" style=\"width: 410px\" class=\"wp-caption alignleft\">\n<p id=\"caption-attachment-88105\" class=\"wp-caption-text\">Der geplante SpaceX B\u00f6rsengang lenkt das Interesse der Finanzm\u00e4rkte verst\u00e4rkt auf die kommerzielle Nutzung von Satelliten und orbitaler Infrastruktur. (Foto: Magnific.com, 3DSculptor)<\/p>\n<\/div>\n<p>Es ist der B\u00f6rsengang, auf den die Finanzwelt seit Jahren wartet. Wenn SpaceX am 12. Juni tats\u00e4chlich unter dem K\u00fcrzel \u201eSPCX\u201c an die Nasdaq geht, w\u00e4re das nicht nur der gr\u00f6\u00dfte B\u00f6rsengang der Geschichte. Es w\u00e4re m\u00f6glicherweise der Moment, in dem die Raumfahrt endg\u00fcltig vom Science-Fiction-Thema zum institutionellen Anlagesektor aufsteigt.<\/p>\n<h3>SpaceX baut das Betriebssystem des Orbits<\/h3>\n<p>Die angepeilte Bewertung von bis zu 2 Billionen Dollar erscheint einerseits absurd hoch, andererseits aber auch beinahe logisch. Denn SpaceX ist schon lange mehr als ein reiner Raketenbauer. Hinter dem Unternehmen entsteht ein gigantisches Infrastruktur-\u00d6kosystem aus Satelliteninternet, KI, milit\u00e4rischer Kommunikation, Datenverarbeitung und perspektivisch sogar orbitalen Rechenzentren.<\/p>\n<p>Die eigentliche Cashmaschine hei\u00dft dabei nicht Falcon oder Starship, sondern Starlink. Inzwischen umkreisen mehr als 10.000 Satelliten die Erde. Kein anderes Unternehmen kontrolliert mehr Infrastruktur im Orbit. Die Ukraine zeigt zugleich, welche geopolitische Macht darin steckt: Ohne Starlink w\u00e4ren Kommunikation, Drohnensteuerung und Aufkl\u00e4rung an der Front massiv eingeschr\u00e4nkt.<\/p>\n<p>Gleichzeitig beginnt ein globales Wettrennen um die Vorherrschaft im All. Jeff Bezos investiert mit Amazons Projekt \u201eLeo\u201d Milliarden in konkurrierende Satellitennetze. Unternehmen wie Rocket Lab, OHB oder Safran arbeiten an Europas Antwort auf Musks Dominanz.<\/p>\n<p>All das ver\u00e4ndert die Investmentlogik. Raumfahrt ist nicht mehr nur ein Zukunftsthema. Sie wird zur Infrastruktur des digitalen Zeitalters \u2013 \u00e4hnlich wie einst Eisenbahnen, Glasfasernetze oder Mobilfunkmasten.<\/p>\n<h3>Warum Anleger pl\u00f6tzlich Milliarden in Space-ETFs pumpen<\/h3>\n<p>Die Kapitalm\u00e4rkte haben die Story l\u00e4ngst entdeckt. Nach Daten von Morningstar flossen allein binnen eines Monats rund 1,3 Milliarden Dollar in Space-ETFs. Das verwaltete Verm\u00f6gen der Branche explodierte auf mehr als 3,3 Milliarden Dollar.<\/p>\n<p>Der Grund ist offensichtlich: Viele Anleger wollen am SpaceX-Boom partizipieren, obwohl die Aktie bislang gar nicht b\u00f6rsennotiert ist. Deshalb flie\u00dft das Kapital in Unternehmen, die vom gleichen Trend profitieren: Satellitenbetreiber, Raketenbauer, Kommunikationsspezialisten, Triebwerkshersteller oder Verteidigungstechnologie.<\/p>\n<p>Genau hier setzen zwei ETFs an, die unterschiedlicher kaum sein k\u00f6nnten.<\/p>\n<h3>Der Turbo auf den Space-Boom: Der VanEck Space Innovators UCITS ETF<\/h3>\n<p>Der <a href=\"https:\/\/www.vaneck.com\/de\/de\/space-etf\" target=\"_blank\" rel=\"noopener\">VanEck Space Innovators UCITS ETF<\/a> (ISIN: IE000YU9K6K2) ist vermutlich das reinste B\u00f6rsenvehikel f\u00fcr Anleger, die an die Kommerzialisierung des Weltraums glauben. Der Fonds investiert gezielt in Unternehmen, die einen erheblichen Teil ihres Gesch\u00e4fts direkt im Space-Sektor erwirtschaften. Das Spektrum reicht von Satellitenkommunikation \u00fcber Raketen- und Antriebssysteme bis hin zu orbitaler Datentechnologie und spezialisierter Infrastruktur.<\/p>\n<p>\u00a0<\/p>\n<p><span style=\"font-weight: 400;\"><\/p>\n<div class=\"chartwrapper\" id=\"chartwrapper\" data-chartid=\"6a16feeca4c00\"><\/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 = \"6a16feeca4c00\";\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 = \"6a16feeca4c00\";<\/p>\n<p>        var companyName = \"VanEck Space Innovators UCITS ETF\";\n        if(companyName.length <=0){\n        companyName = \"JEDI - XETRA\";\n        }\n        var code = \"JEDI\";\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><\/span><\/p>\n<h4>Eine konzentrierte Wette auf die Kommerzialisierung des Weltraums<\/h4>\n<p>Abgebildet wird der MVIS Global Space Industry ESG Index. Die Konstruktion des ETFs ist dabei bemerkenswert fokussiert: Unternehmen m\u00fcssen mindestens 50 Prozent ihrer Ums\u00e4tze mit weltraumbezogenen Aktivit\u00e4ten erzielen, um aufgenommen zu werden. Das macht den Fonds deutlich spezialisierter als viele andere Technologie- oder Zukunfts-ETFs. Der Fonds h\u00e4lt aktuell lediglich rund 25 Aktienpositionen und ist damit hoch konzentriert.<\/p>\n<p>Genau diese Konzentration erkl\u00e4rt allerdings auch die enorme Performance. W\u00e4hrend viele klassische Aktienindizes zuletzt solide, aber unspektakul\u00e4re Renditen lieferten, entwickelte sich der VanEck-ETF zu einem der spektakul\u00e4rsten Themenfonds am Markt. Auf Sicht von 3 Jahren legte der Fonds um aktuell mehr als 364 Prozent zu. Allein im vergangenen Jahr betrug das Plus deutlich \u00fcber 200 Prozent. Selbst f\u00fcr 2026 steht bereits ein Gewinn von rund 73 Prozent auf dem Papier.<\/p>\n<p>Diese Zahlen wirken fast absurd \u2013 sie spiegeln aber die Dynamik wider, die aktuell in die gesamte Branche hineinl\u00e4uft. Anleger kaufen hier letztlich eine Wette auf einen neuen industriellen Superzyklus. W\u00e4hrend <a href=\"https:\/\/www.ftd.de\/boerse\/maerkte\/magnificent-7-aktien-wie-riskant-ist-tech-konzentration-in-msci-world-und-anderen-etf\/\" target=\"_blank\" rel=\"noopener\">klassische Tech-Konzerne<\/a> inzwischen vielerorts reife Gesch\u00e4ftsmodelle darstellen, befindet sich die Raumfahrtindustrie aus Sicht vieler Investoren noch ganz am Anfang einer potenziell jahrzehntelangen Wachstumsphase.<\/p>\n<h4>Raketen, Satelliten und extreme Schwankungen<\/h4>\n<p>Besonders spannend ist dabei die Zusammensetzung des Portfolios. Zu den gr\u00f6\u00dften Positionen geh\u00f6ren Unternehmen wie Rocket Lab, Planet Labs, AST SpaceMobile oder Globalstar. Viele dieser Firmen sind noch keine hochprofitablen Konzerne, sondern aggressive Wachstumsunternehmen mit teilweise enormen Kursschwankungen.<\/p>\n<p>Gerade Rocket Lab gilt inzwischen als einer der spannendsten SpaceX-Herausforderer. Das Unternehmen hat mit seiner Electron-Rakete bereits Hunderte Satelliten ins All gebracht und arbeitet mit der wiederverwendbaren Neutron-Rakete an einer direkten Konkurrenz zur Falcon 9 von SpaceX. Gleichzeitig expandiert Rocket Lab aggressiv durch \u00dcbernahmen und baut seine Position im Satelliten- und Raumfahrtsystemgesch\u00e4ft aus.<\/p>\n<p>Hinzu kommen Satellitenspezialisten wie Planet Labs, die hochaufl\u00f6sende Erdbeobachtungsdaten liefern \u2013 ein Gesch\u00e4ftsfeld, das mit KI-Anwendungen, Klimaanalysen und milit\u00e4rischer Aufkl\u00e4rung zunehmend an Bedeutung gewinnt. Andere Unternehmen im ETF setzen wiederum auf satellitengest\u00fctzte Mobilfunknetze oder Kommunikationsl\u00f6sungen f\u00fcr abgelegene Regionen.<\/p>\n<p>Der ETF ist damit weniger ein klassischer Fonds als vielmehr ein konzentriertes Zukunftsportfolio. Genau darin liegt allerdings auch das Risiko. Viele der Unternehmen schreiben noch keine stabilen Gewinne. Bewertungen basieren h\u00e4ufig st\u00e4rker auf Zukunftserwartungen als auf aktuellen Cashflows. Kommt es zu Verz\u00f6gerungen bei Raketenprogrammen, staatlichen Auftr\u00e4gen oder Satellitenprojekten, reagieren die Aktien oft extrem empfindlich.<\/p>\n<p>Hinzu kommt die hohe thematische Abh\u00e4ngigkeit. Der ETF ist letztlich eine einzige gro\u00dfe Wette darauf, dass die Kommerzialisierung des Weltraums tats\u00e4chlich \u00e4hnlich bedeutend wird wie einst das Internet oder der Mobilfunkboom. Wer investiert, braucht daher starke Nerven und einen langen Zeithorizont.<\/p>\n<h3>Die defensivere Wette: Der iShares Global Aerospace &amp; Defence ETF<\/h3>\n<p>Wer die Weltraumfantasie spannend findet, aber nicht ausschlie\u00dflich auf junge Space-Player setzen m\u00f6chte, landet schnell beim <a href=\"https:\/\/www.ishares.com\/de\/privatanleger\/de\/produkte\/334464\/ishares-global-aerospace-defence-ucits-etf\" target=\"_blank\" rel=\"noopener\">iShares Global Aerospace &amp; Defence UCITS ETF<\/a> (ISIN: IE000U9ODG19). Der ETF verfolgt einen deutlich breiteren Ansatz. Statt auf kleine, hochvolatile Zukunftsunternehmen setzt er vor allem auf etablierte Luftfahrt-, Verteidigungs- und Raumfahrtkonzerne mit stabilen Gesch\u00e4ftsmodellen, hohen Cashflows und jahrzehntelanger Industrieerfahrung.<\/p>\n<p>\u00a0<\/p>\n<p><span style=\"font-weight: 400;\"><\/p>\n<div class=\"chartwrapper\" id=\"chartwrapper\" data-chartid=\"6a16feeca4c31\"><\/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 = \"6a16feeca4c31\";\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 = \"6a16feeca4c31\";<\/p>\n<p>        var companyName = \"iShares Global Aerospace &amp; Defence UCITS ETF USD (Acc)\";\n        if(companyName.length <=0){\n        companyName = \"5J50 - XETRA\";\n        }\n        var code = \"5J50\";\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><\/span><\/p>\n<h4>Etablierte Industriekonzerne statt reine Zukunftsfantasie<\/h4>\n<p>Der Fonds bildet den S&amp;P Developed BMI Select Aerospace &amp; Defence Index ab und investiert weltweit in gro\u00dfe Konzerne aus den Bereichen Luftfahrt, Verteidigung, Satellitentechnik, Triebwerke und Sicherheitsinfrastruktur. Insgesamt umfasst das Portfolio rund 77 Aktienpositionen und ist damit wesentlich breiter diversifiziert als der Vaneck Space Innovators ETF.<\/p>\n<p>Die gr\u00f6\u00dften Positionen lesen sich wie das Who\u2019s who der globalen Luftfahrt- und R\u00fcstungsindustrie. Dazu z\u00e4hlen Boeing, GE Aerospace, RTX, Lockheed Martin, Airbus oder Safran. Gerade Safran profitiert dabei von mehreren Trends gleichzeitig. Der Konzern baut nicht nur Satelliten und Raumfahrtsysteme, sondern verdient vor allem am boomenden Wartungs- und Ersatzteilgesch\u00e4ft f\u00fcr Flugzeugtriebwerke. Gleichzeitig ist Safran \u00fcber die Ariane Group direkt in Europas Raumfahrtprogramme eingebunden.<\/p>\n<h4>Solideres Risikoprofil mit geopolitischem R\u00fcckenwind<\/h4>\n<p>Die Kursentwicklung des ETFs f\u00e4llt naturgem\u00e4\u00df deutlich weniger spektakul\u00e4r aus als beim VanEck-Fonds. Dennoch kann sich die Performance sehen lassen. Auf Sicht eines Jahres legte der ETF rund 20 Prozent zu. 2025 gewann er zeitweise mehr als 36 Prozent, nachdem bereits 2024 ein Plus von knapp 17 Prozent erzielt worden war. Seit der Auflage im Februar 2024 summiert sich die Performance inzwischen auf rund 78 Prozent.<\/p>\n<p>Der entscheidende Unterschied liegt jedoch weniger in der Rendite als im Risikoprofil. W\u00e4hrend der VanEck-ETF stark von Visionen und Zukunftserwartungen lebt, basiert der iShares-ETF auf etablierten Gesch\u00e4ftsmodellen. Viele Unternehmen verf\u00fcgen \u00fcber milliardenschwere Auftragsb\u00fccher, langfristige Regierungsvertr\u00e4ge und hohe Eintrittsbarrieren.<\/p>\n<p>Hinzu kommt geopolitischer R\u00fcckenwind, der vermutlich noch Jahre anhalten d\u00fcrfte. Die weltweiten Verteidigungsausgaben steigen massiv. Europa r\u00fcstet auf, die USA modernisieren ihre Milit\u00e4rsysteme und gleichzeitig verschwimmen die Grenzen zwischen klassischer Verteidigung, Satellitenkommunikation und Weltrauminfrastruktur zunehmend.<\/p>\n<p>Der ETF wird damit zu einer Art Mischform aus R\u00fcstungs-, Luftfahrt- und Raumfahrtinvestment. Genau das macht ihn f\u00fcr viele Anleger deutlich robuster. Wer an den langfristigen Ausbau von Luftfahrt-, Sicherheits- und Weltrauminfrastruktur glaubt, aber die extremen Ausschl\u00e4ge spezialisierter Space-Aktien vermeiden m\u00f6chte, findet hier den deutlich defensiveren Ansatz.<\/p>\n<h3>Zwischen Zukunftsvision und Realit\u00e4t<\/h3>\n<p>Durch den m\u00f6glichen B\u00f6rsengang von SpaceX k\u00f6nnte sich die Bewertung der gesamten Branche \u00e4ndern. \u00c4hnlich wie das Internet k\u00f6nnte der Weltraum vom Prestigeprojekt weniger Staaten zur globalen Infrastrukturplattform werden.<\/p>\n<p>Doch Anleger sollten den Unterschied zwischen Vision und Realit\u00e4t nicht untersch\u00e4tzen. Viele Space-Unternehmen befinden sich noch immer in der fr\u00fchen Wachstumsphase. Technologische R\u00fcckschl\u00e4ge, regulatorische Probleme oder ausbleibende Gewinne k\u00f6nnen jederzeit f\u00fcr heftige Kurskorrekturen sorgen.<\/p>\n<p>Genau deshalb unterscheiden sich die beiden ETFs fundamental voneinander. Der VanEck Space Innovators ETF ist eine aggressive High-Beta-Wette auf den Weltraumboom. Er bietet hohe Chancen, aber auch extreme Schwankungen. Der iShares Aerospace &amp; Defence ETF ist dagegen die deutlich stabilere Variante mit etablierten Industriekonzernen, geopolitischem R\u00fcckenwind und geringerer Abh\u00e4ngigkeit von Zukunftsfantasien.<\/p>\n<p>Oder anders formuliert: Der eine ETF setzt darauf, dass der Weltraum die n\u00e4chste gro\u00dfe Revolution wird. Der andere verdient bereits heute sehr gut daran, dass die Welt unsicherer geworden ist.<\/p>\n<p>\u00a0<\/p>\n<p style=\"font-size: 12px;\">Disclaimer:<br \/>\nKeine Anlageberatung. Kein Aufruf zum Kauf oder Verkauf von Wertpapieren.<\/p>\n<p>Der Beitrag <a href=\"https:\/\/www.ftd.de\/boerse\/exchange-traded-funds\/spacex-warum-der-groesste-ipo-der-geschichte-anleger-in-space-etfs-treibt\/\">SpaceX: Warum der gr\u00f6\u00dfte IPO der Geschichte Anleger in Space-ETFs treibt<\/a> erschien zuerst auf <a href=\"https:\/\/www.ftd.de\/\">ftd.de<\/a>.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Der geplante SpaceX B\u00f6rsengang lenkt das Interesse der Finanzm\u00e4rkte verst\u00e4rkt auf die kommerzielle Nutzung von Satelliten und orbitaler Infrastruktur. (Foto: Magnific.com, 3DSculptor) Es ist der B\u00f6rsengang, auf den die Finanzwelt seit Jahren wartet. Wenn SpaceX am 12. Juni tats\u00e4chlich unter dem K\u00fcrzel \u201eSPCX\u201c an die Nasdaq geht, w\u00e4re das nicht nur der gr\u00f6\u00dfte B\u00f6rsengang der [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":139920,"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-139919","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\/139919","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=139919"}],"version-history":[{"count":0,"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/posts\/139919\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/media\/139920"}],"wp:attachment":[{"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/media?parent=139919"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/categories?post=139919"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/news.abusizz.ch\/de\/wp-json\/wp\/v2\/tags?post=139919"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}