Startseite > Periodika > Tageszeitungen > Bundesrepublik Deutschland > Financial Times Deutschland
„Wir denken global, recherchieren gründlich, stellen Nachrichten in den Vordergrund. Unsere wichtigsten journalistischen Werte sind Präzision und Fairness. Wir haben Mut zur Meinung und ordnen Informationen in einen Kontext ein. Die FTD ist kompakt. Und sie ist lachsrosa.“ — Steffen Klusmann, Chefredakteur der Financial Times Deutschland
München – Auch Künstliche Intelligenz kann bockig sein – das erlebte Kanzler Scholz jüngst auf der Hannover Messe. Am Siemens-Stand verweigerte sich ein Roboter seiner Anweisung, „schneller“ zu arbeiten. Wie schnell es mit KI und Co. bei Siemens vorwärtsgeht, könnten die Quartalszahlen zeigen.
Ordentlich Schub bekam vergangene Woche der Siemens-Aktienkurs. Kein Wunder: Das Sorgenkind Siemens Energy, an dem die Siemens AG nach wie vor Anteile hält, hat ein gutes Quartal absolviert und die Jahresprognose erhöht. Seit Jahresbeginn legte die Siemens-Aktie über 10,5 Prozent zu.
Besser als erwartet fiel der letzte Quartalsbericht aus. Der Umsatz stieg im Zeitraum Oktober bis Dezember auf 18,41 Milliarden Euro, der Nettogewinn übertraf mit 2,55 Milliarden Euro die Schätzungen sogar deutlich. Die Auftragseingänge wuchsen um 2 Prozent auf 22,3 Milliarden Euro.
Besonders rund lief es in den Bereichen Smart Infrastructure (Haustechnik) und Mobility (Züge). Die Sparte Digital Industries kam dagegen unter die Räder – ein Drittel weniger Aufträge. Grund vor allem: die Konjunkturflaute in China. Erholen werde sich dieses Geschäft wohl erst im 2. Halbjahr.
Mit dem Chip-Giganten Nvidia treibt Siemens die Idee des industriellen Metaverse voran. Nvidias Omniverse-Plattform für Visualisierung und das Siemens-Xcelerator-Portfolio werden verbunden. „Wir bringen die digitalen und realen Welten noch enger zusammen“, betont CEO Roland Busch.
Zentral dabei: Künstliche Intelligenz. Sie sei „eine Superkraft“ und ein Schlüssel, um die Produktivität in Deutschland zu steigern, sagte Vorstandschef Busch im April am Rande der Hannover Messe. 10-mal mehr KI-Patente als die klassische Industriekonkurrenz habe Siemens angemeldet.
Trotz schlechter Wirtschaftslage – Siemens setzt auf den Standort Deutschland. „Die Innovationskraft ist das, was uns stark macht“, sagt Roland Busch. Im April hat der Konzern bei München sein weltweit größtes Forschungszentrum eröffnet. 100 Millionen Euro stecken in diesem Projekt.
Nun hat Siemens mit 30 Unternehmen, Industrieverband und Gewerkschaftsbund die Initiative „Wir stehen für Werte“ gestartet, die sich zu Europa bekennt, zur Wahl am 9. Juni aufruft und sich gegen Populismus wendet. „Extremisten gefährden all das, was wir uns aufgebaut haben“, so CEO Busch.
<script id="tvChartLoader" async src="https://unpkg.com/lightweight-charts/dist/lightweight-charts.standalone.production.js"></script>
<script id="declarations">
var chartid = "66473d867ca3b";
function renderTV(kursData, chartData,companyName,currency, chartHeight, chartWidth, code, exchange, kursDate, hidetitle, hidelegend, chartid) {
console.log("render chart with id", document.querySelector(`[data-chartid="${chartid}"]`));
let width = chartWidth?chartWidth:600;
let ratio = 2
let height = chartHeight?chartHeight:(width/ratio);
document.querySelector(`[data-chartid="${chartid}"]`).style.height = chartHeight +50
document.querySelector(`[data-chartid="${chartid}"]`).style.width = chartWidth
// formatter for x achis dates
function customXAchsisFormetter(timePoint, tickMarkType, locale) {
let formatOptions = {};
const date = new Date(timePoint);
if(tickMarkType <=1){
formatOptions = {day: "numeric", month: "short",year: "numeric",}
}else{
formatOptions = {day: "numeric", month: "short",year: "numeric",}
}
// from given date we should use only as UTC date or timestamp
// but to format as locale date we can convert UTC date to local date
const localDateFromUtc = new Date(
date.getUTCFullYear(),
date.getUTCMonth(),
date.getUTCDate()
);
return localDateFromUtc.toLocaleString(locale, formatOptions);
}
//create buttons
function createSimpleSwitcher(items, activeItem, activeItemChangedCallback) {
var switcherElement = document.createElement("div");
switcherElement.classList.add("switcher");
var intervalElements = items.map(function (item) {
var itemEl = document.createElement("button");
itemEl.innerText = item;
itemEl.classList.add("switcher-item");
itemEl.classList.toggle("switcher-active-item", item === activeItem);
itemEl.addEventListener("click", function () {
onItemClicked(item);
});
switcherElement.appendChild(itemEl);
return itemEl;
});
function onItemClicked(item) {
if (item === activeItem) {
return;
}
intervalElements.forEach(function (element, index) {
element.classList.toggle("switcher-active-item", items[index] === item);
});
activeItem = item;
activeItemChangedCallback(item);
}
return switcherElement;
}
// loading: true or false
function handleAsyncUI(loading){
var IntervalButtons = document.getElementsByClassName("switcher-item");
for(var i = 0; i < IntervalButtons.length; i++){
IntervalButtons[i].disabled = loading;
}
var chart = document.getElementsByClassName("tv-lightweight-charts")[0];
if(loading){
chart.style["display"] = "flex"
chart.style["align-items"] = "center"
chart.style["justify-content"] = "center"
var loadingIndicator = document.createElement("div");
loadingIndicator.classList.add("loader");
//loadingIndicator.innerText = "Loading";
loadingIndicator.id ="loadingIndicator"
chart.appendChild(loadingIndicator);
}else{
document.getElementById("loadingIndicator").remove();
chart.style["display"] = null
chart.style["align-items"] =null
chart.style["justify-content"] = null
}
}
var intervals = ["1M","3M","6M","1Y","3Y","5Y"];
var seriesesData = new Map([
["1M", []], // 1m (interval daten?), 3m, 6m, 1y, 3y, 5y
["3M", []],
["6M", []],
["1Y", chartData],
["3Y", []],
["5Y", []],
]);
var switcherElement = createSimpleSwitcher(intervals, intervals[3], syncToInterval);
var chartElement = document.createElement("div");
const chart = LightweightCharts.createChart(chartElement, {
width: width,
height: height,
rightPriceScale: {
scaleMargins: {
top: 0.2,
bottom: 0.2,
},
borderVisible: false,
},
timeScale: {
borderVisible: false,
lockVisibleTimeRangeOnResize: true,
rightOffset:1,
tickMarkFormatter:customXAchsisFormetter
},
grid: {
horzLines: {
color: "#eee",
visible: false,
},
vertLines: {
color: "#ffffff",
},
},
crosshair: {
horzLine: {
visible: false,
labelVisible: false
},
vertLine: {
visible: true,
style: 0,
width: 2,
color: "rgba(80, 50, 25, 0.1)",
labelVisible: false,
}
},
handleScroll: {
mouseWheel: false,
pressedMouseMove: false,
horzTouchDrag: false,
vertTouchDrag: false
},
handleScale: {
axisPressedMouseMove: false,
mouseWheel: false,
pinch: false,
},
});
var areaSeries = null;
var positionDIV = document.querySelector(`[data-chartid="${chartid}"]`)
positionDIV.appendChild(chartElement);
positionDIV.appendChild(switcherElement);
function httpGetAsync(theUrl, callback) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
callback(xmlHttp.responseText);
}
xmlHttp.open("GET", theUrl, true); // true for asynchronous
xmlHttp.send(null);
}
function formatDate(date) {
var month = "" + (date.getMonth()+1);
var day = "" + date.getDate();
var year = date.getFullYear();
if (month.length < 2)
month = "0" + month;
if (day.length < 2)
day = "0" + day;
return [year, month, day].join("-");
}
function getTimeframe(interval){
let from = null;
let to = formatDate(new Date());
switch (interval) {
case "1M": from = formatDate(new Date(Date.now() - 31 * 24 * 60 * 60 * 1000)); break;
case "3M": from = formatDate(new Date(Date.now() - 93 * 24 * 60 * 60 * 1000)); break;
case "6M": from = formatDate(new Date(Date.now() - 186 * 24 * 60 * 60 * 1000)); break;
case "1Y": from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000)); break;
case "3Y": from = formatDate(new Date(Date.now() - 1116 * 24 * 60 * 60 * 1000)); break;
case "5Y": from = formatDate(new Date(Date.now() - 1860 * 24 * 60 * 60 * 1000)); break;
default:from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000));
}
return {from:from, to:to}
}
// what happens on button click
function syncToInterval(interval) {
if (areaSeries && seriesesData.get(interval).length <=0) {
console.log("GETTING REMOTE DATA")
chart.removeSeries(areaSeries);
areaSeries = null;
let apiToken = "za1j116n2273ab1vxukuh6"
let timeframe = getTimeframe(interval)
let filter = "adjusted_close"
handleAsyncUI(true)
httpGetAsync("https://api.leeway.tech/api/v1/public/historicalquotes/"+encodeURIComponent(code+"."+exchange)+"?apitoken="+apiToken+"&filter="+filter+"&from="+timeframe.from+"&to="+timeframe.to, function (res) {
let newData = []
newData = JSON.parse(res)//.map(el=>newData.push({time:el.date, value:el.close}))
// newData = newData.map(el=>{
// console.log(el.time.year)
// console.log(el.time.month)
// console.log(el.time.day)
// console.log(el)
// console.log(new Date(el.time.year, el.time.month-1, el.time.day));
// return{value:el.value, time:el.time, timestamp:new Date(el.time.year, el.time.month-1, el.time.day).getTime()}})
console.log("newData")
console.log(newData)
seriesesData.set(interval, newData)
areaSeries = chart.addAreaSeries({
topColor: "rgba(33, 108, 173, 0.56)",
bottomColor: "rgba(33, 108, 173, 0.04)",
lineColor: "rgba(33, 108, 173, 1)",
lineWidth: 2,
});
kursData = seriesesData.get(interval)[seriesesData.get(interval).length-1].value
areaSeries.setData(seriesesData.get(interval));
chart.timeScale().fitContent();
handleAsyncUI(false)
})
}else{
console.log("GETTING LOADED DATA")
if(areaSeries){
console.log("DELETING LOADED DATA FROM CHART")
chart.removeSeries(areaSeries);
areaSeries = null;
}
kursData = seriesesData.get(interval)[seriesesData.get(interval).length-1].value
areaSeries = chart.addAreaSeries({
topColor: "rgba(33, 108, 173, 0.56)",
bottomColor: "rgba(33, 108, 173, 0.04)",
lineColor: "rgba(33, 108, 173, 1)",
lineWidth: 2,
});
areaSeries.setData(seriesesData.get(interval));
chart.timeScale().fitContent();
}
}
// data interval at startup
syncToInterval(intervals[3]);
// Name and Kurs as Text in legend
var watermark = document.createElement("img")
watermark.classList.add("watermark")
watermark.setAttribute("src", "https://api.leeway.tech/leeway-sign.png")
var testA = document.querySelector(`[data-chartid="${chartid}"]`)
var testB = document.querySelector(`[data-chartid="${chartid}"]`).getBoundingClientRect();
var test = testA.getElementsByTagName("canvas")[0].getBoundingClientRect();
watermark.style.position = "absolute";
watermark.style.width = "90px";
watermark.style.height = "30px";
watermark.style.display = "block";
//watermark.style.z-index = "1000000";
watermark.style.bottom = "0";
watermark.style.right = "10px";
let linkLW = document.createElement("a")
linkLW.href="https://www.ftd.de/leeway-tech";
linkLW.target = "_blank";
linkLW.appendChild(watermark)
// append to DOM
//div-chartwrapper -> div -> div -> table -> tr -> td td -> div
const myElementA = document.querySelector(`[data-chartid="${chartid}"]`);
let myElementB = myElementA.childNodes[0]
let myElementC = myElementB.childNodes[0]
let myElementD = myElementC.childNodes[0]
let myElementE = myElementD.childNodes[0]
let myElementF = myElementE.childNodes[1]
let myElementG = myElementF.childNodes[0]
myElementG.appendChild(linkLW);
if(hidelegend == "false"){
console.log("SHOW LEGEND!")
var legend = document.createElement("div");
legend.classList.add("legend");
var offsets = document.querySelector(`[data-chartid="${chartid}"]`).getBoundingClientRect();
var chartwrapperTop = offsets.top;
var legendHeight = height *-1
if(legendHeight>-210){legendHeight = -210;}
legend.style.top = legendHeight*1.2 + "px"
positionDIV.appendChild(legend);
if(hidetitle == "false"){
var firstRow = document.createElement("div");
firstRow.classList.add("titleText");
}
var secondRow = document.createElement("div");
secondRow.classList.add("secondRow");
if(kursData !== null){
if(hidetitle == "false"){
firstRow.innerText = companyName
legend.appendChild(firstRow);
}
secondRow.innerText = kursDate +": " + Number(kursData).toFixed(2) + " "+currency;
legend.appendChild(secondRow);
}else{
if(hidetitle == "false"){
firstRow.innerText = companyName
legend.appendChild(firstRow);
}
legend.appendChild(secondRow);
}
// cursor moving and handling third row of legend
chart.subscribeCrosshairMove((param) => {
if (param.time) {
let options = { weekday: "short", year: "numeric", month: "numeric", day: "numeric" };
let currentDate = new Date(param.time).toLocaleDateString("de-DE", options)
const price = param.seriesData.get(areaSeries).value;
secondRow.innerText = currentDate + ": " + price.toFixed(2) + " "+(currency?currency:" ");
}
else {
secondRow.innerText = kursDate +": " + Number(kursData).toFixed(2) + " "+currency;
}
});
}
}
function httpGetAsync(theUrl, callback) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
callback(xmlHttp.responseText);
}
xmlHttp.open("GET", theUrl, true); // true for asynchronous
xmlHttp.send(null);
};
function getTimeframe(interval){
let from = null;
let to = formatDate(new Date());
switch (interval) {
case "1M": from = formatDate(new Date(Date.now() - 31 * 24 * 60 * 60 * 1000)); break;
case "3M": from = formatDate(new Date(Date.now() - 93 * 24 * 60 * 60 * 1000)); break;
case "6M": from = formatDate(new Date(Date.now() - 186 * 24 * 60 * 60 * 1000)); break;
case "1Y": from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000)); break;
case "3Y": from = formatDate(new Date(Date.now() - 1116 * 24 * 60 * 60 * 1000)); break;
case "5Y": from = formatDate(new Date(Date.now() - 1860 * 24 * 60 * 60 * 1000)); break;
default:from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000));
}
return {from:from, to:to}
};
function formatDate(date) {
var month = "" + (date.getMonth()+1);
var day = "" + date.getDate();
var year = date.getFullYear();
if (month.length < 2)
month = "0" + month;
if (day.length < 2)
day = "0" + day;
return [year, month, day].join("-");
};
</script>
<script id="main">
var scriptTV = document.querySelector("#tvChartLoader");
scriptTV.addEventListener("load", function() {
var chartid = "66473d867ca3b";
var companyName = "SIEMENS AG";
if(companyName.length <=0){
companyName = "SIE - XETRA";
}
var code = "SIE";
var exchange = "XETRA";
var currency ="EUR";
var kursData = null;
var kursDataDate = null;
var chartHeight = "";
var chartWidth = "250"
var hidetitle = "false"
var hidelegend = "false"
let apiToken = "za1j116n2273ab1vxukuh6"
chartWidth = document.querySelector(`[data-chartid="${chartid}"]`).offsetWidth
var chartData = [];
var timeframe = getTimeframe("1Y");
var filter = "adjusted_close";
httpGetAsync("https://api.leeway.tech/api/v1/public/historicalquotes/"+encodeURIComponent(code+"."+exchange)+"?apitoken="+apiToken+"&filter="+filter+"&from="+timeframe.from+"&to="+timeframe.to, function (res) {
let newData = null;
chartData = newData = JSON.parse(res)
// 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()}})
kursData = chartData[chartData.length-1].value
let options = { weekday: "short", year: "numeric", month: "numeric", day: "numeric" };
kursDataDate = chartData[chartData.length-1].time
let kursDate = new Date(kursDataDate.split("-")[0], Number(kursDataDate.split("-")[1])-1, kursDataDate.split("-")[2]).toLocaleDateString("de-DE", options)
renderTV(kursData,chartData,companyName,currency, Number(chartHeight), Number(chartWidth), code, exchange, kursDate, hidetitle, hidelegend, chartid)
});
});
</script>
Der Siemens-Gewinn pro Aktie soll im Quartal von Januar bis März 2024 fallen: Bei rund 2,25 Euro liegt die mittlere Prognose von 9 Analysten laut finanzen.net. Im Vorquartal konnte Siemens noch mit rund 2,97 Euro aufwarten, rund 4,35 Euro waren es im Vorjahresquartal von Januar bis März 2023.
Kontinuität verheißen die Umsatzprognosen – rund 19,29 Milliarden Euro schätzen die Analysten im Schnitt für das Quartal von Januar bis März. Etwas weniger als im Vorjahresquartal (rund 19,42 Milliarden Euro) aber mehr als im Vorquartal (rund 18,41 Milliarden). Das Geschäftsjahr endet am 30. September.
Disclaimer:
Alle Angaben ohne Gewähr auf Vollständigkeit, Richtigkeit und Aktualität. Der Text stellt keine Handelsempfehlung oder Anlageberatung dar.
Der Beitrag Siemens Quartalszahlen: Digital-Comeback 2024 nach China-Flaute? Prognose und Überblick erschien zuerst auf ftd.de.
Washington – Und sie bewegt sich doch! Zumindest ein bisschen. Aber reicht das, um die Fed-Falken zu erweichen? Die Inflation in den USA ist im April leicht zurückgegangen – um 0,1 auf 3,4 Prozent im Jahresvergleich. Das hat heute das US-Bureau of Labor Statistics mitgeteilt. Ökonomen hatten nur einen Rückgang in dieser Höhe prognostiziert.
Preistreiber nach wie vor: die Dienstleistungen. Eine große Rolle spielen dabei die Mieten. Eine große Rolle spielen dabei die Mieten. Dort liegt die Jahresrate weiter bei hohen 5,5 Prozent. Die Benzinpreise legten im Monatsvergleich um 2,8 Prozent zu. Die Kernrate ohne Lebensmittel und Energie ging um 0,2 auf 3,6 Prozent zurück.
Kein Zweifel, die USA und Europa beschreiten in Sachen Preisanstieg mittlerweile unterschiedliche Pfade. Während der Euroraum mit 2,4 und Deutschland mit 2,2 Prozent die von den Notenbanken angestrebte Zielmarke von 2 Prozent in Sicht haben, bewegt sich die US-Inflation auf höherem Niveau.
Seit Juni 2023 prallt die US-Teuerung an der 3-Prozent-Grenze ab. Der Analyst Gang Hu (WinShore Capital Partners) sieht eine selbst erfüllende Prophezeiung am Werk: Die Erwartung hoher Inflation in den Medien und bei Verbrauchern führe zu hohen Lohnabschlüssen, was wieder die Preise treibe.
Die Zinsphantasien der Märkte aus 2023 waren angesichts der robusten US-Wirtschaft dieses Jahr implodiert. Wie erwartet hielten die US-Notenbanker auch nach ihrer letzten Sitzung am 1. Mai den Leitzins stabil bei 525 bis 550 Basispunkten – auf diesem 23-Jahres-Hoch steht er seit Juli 2023.
Doch nun tut sich was: Am US-Arbeitsmarkt bremste der Stellenzuwachs stärker als erwartet, das US-Bruttoinlandsprodukt blieb im 1. Quartal mit 1,6 Prozent hinter den Prognosen und die Erstanträge auf Arbeitslosenhilfe schossen vergangene Woche hoch. Immer mehr Zeichen stehen auf Abkühlung.
Oder doch nicht? „Die Zuversicht, dass die Inflation wieder sinkt, ist geringer als zuvor. Meine Zuversicht ist nicht mehr so hoch wie zuvor“, sagte Fed-Chef Jerome Powell gestern bei einer Veranstaltung und stellte eine längere restriktive Politik in Aussicht. Kurz zuvor waren die US-Erzeugerpreise stärker als erwartet gestiegen.
Die Mai-Inflationszahlen sollen übrigens am Tag des nächsten Zinsentscheids rauskommen. Das FedWatch Tool der CME taxiert die Wahrscheinlichkeit für eine Zinssenkung der Fed am 12. Juni auf nur 8,5 Prozent, für die Sitzung am 31. Juli auf 32,5 Prozent (Stand: 15. Mai, 14.45 Uhr, MESZ).
Einen Ausblick auf die wirtschaftlichen Entwicklungen der Woche gibt Folker Hellmeyer, Chefvolkswirt der Netfonds AG, im wöchentlichen ftd.de-Video „Der Hellmeyer der Woche“. Welche Termine stehen an? Was ist zu beachten? Klar und prägnant im Video-Briefing – einfach den ftd.de-Newsletter Weekly News abonnieren.
Aktualisiert nach Bekanntgabe der Inflationsdaten am 15. Mai 2024 um 14.45 Uhr (MESZ).
Der Beitrag USA Inflation heute – Verbraucherpreise April 2024 und Fed-Prognose erschien zuerst auf ftd.de.
Eaton existiert seit 1911 und schaffte es vor 100 Jahren an die Börse. Ziel des Unternehmens es, die Lebensqualität der Menschen auf der gesamten Welt zu verbessern und die Umwelt mit unterschiedlichen Lösungen zu schützen.
Der Erfolg des Unternehmens beruht auf seiner Kultur und seiner Akquisitions- und Veräußerungsstrategie. Heute bietet die Eaton Corporation eine breite Palette von Power-Management-Produkten und Software an. Dazu zählen Notstromversorgungen, Überspannungsschutz, Datencenter-Server-Racks und -gehäuse sowie Lösungen für die Luft- und Raumfahrt.
Zu einer erfolgreichen Unternehmensentwicklung gehört auch ein erfahrenes und loyales Management. CEO Craig Arnold ist seit 25 Jahren bei Eaton und agiert seit 2016 als CEO. Die Strategie des Unternehmens konzentriert sich darauf, in allen Segmenten organisches Wachstum zu erzielen, die Dividende zu erhöhen (Dividenden werden seit 98 Jahren gezahlt), Aktienrückkäufe durchzuführen und durch gezielte Übernahmen Margen und Wachstum zu verbessern.
Eaton ist als zyklisches Industrieunternehmen bekannt, jedoch gibt es aktuell deutlichen Rückenwind von mehreren Megatrends. Dazu zählen erneuerbare Energien, Elektrifizierung, Datenzentren sowie Wasser- und Abwasserlösungen.
Alleine in Nordamerika gewinnt Eaton zahlreiche „Mega-Projekte“, also Bauprojekte mit einem Gesamtvolumen von einer Milliarde US-Dollar oder mehr. Der Gesamtwert dieser Projekte in Nordamerika hat mittlerweile die Marke von einer Billion US-Dollar überschritten, wobei mehr als die Hälfte durch staatliche Initiativen wie den Inflation Reduction Act, den Infrastructure Investment and Jobs Act und den CHIPS and Science Act unterstützt wird.
Aufgrund dieser Großprojekte lässt sich bereits vermuten, dass Eaton den Großteil der Umsätze in den USA erzielt. Das ist auch richtig. Aus steuerlichen Gründen liegt der Hauptsitz zwar in Irland, aber rund 60 Prozent der Umsätze werden in den USA generiert, weitere 19 Prozent in Europa, 10 Prozent in Asien, 7 Prozent in Lateinamerika und 4 Prozent in Kanada. Das stärkste Segment ist die Elektrifizierung.
2024 rechnet Eaton mit einem Umsatzwachstum von 7 bis 9 Prozent und eine operative Marge von 22,8 bis 23,2 Prozent. Der Free Cash Flow wird mit 3,2 Milliarden US-Dollar geschätzt und Aktien im Wert von rund 2 Milliarden US-Dollar sollen zurückgekauft werden.
Das Wachstum wird durch die Nachfrage nach Datenzentren, Infrastrukturprojekte und Elektrifizierung befeuert. Eaton geht davon aus, dass sich der langfristige Wachstumsausblick weiter beschleunigen wird, da ihre Lösungen kritisch für die Zukunft sind. Rechenzentren und Infrastrukturprojekte scheinen enorme Wachstumstreiber für Eaton über die nächsten Jahre zu sein.
<script id="tvChartLoader" async src="https://unpkg.com/lightweight-charts/dist/lightweight-charts.standalone.production.js"></script>
<script id="declarations">
var chartid = "66473d867f90a";
function renderTV(kursData, chartData,companyName,currency, chartHeight, chartWidth, code, exchange, kursDate, hidetitle, hidelegend, chartid) {
console.log("render chart with id", document.querySelector(`[data-chartid="${chartid}"]`));
let width = chartWidth?chartWidth:600;
let ratio = 2
let height = chartHeight?chartHeight:(width/ratio);
document.querySelector(`[data-chartid="${chartid}"]`).style.height = chartHeight +50
document.querySelector(`[data-chartid="${chartid}"]`).style.width = chartWidth
// formatter for x achis dates
function customXAchsisFormetter(timePoint, tickMarkType, locale) {
let formatOptions = {};
const date = new Date(timePoint);
if(tickMarkType <=1){
formatOptions = {day: "numeric", month: "short",year: "numeric",}
}else{
formatOptions = {day: "numeric", month: "short",year: "numeric",}
}
// from given date we should use only as UTC date or timestamp
// but to format as locale date we can convert UTC date to local date
const localDateFromUtc = new Date(
date.getUTCFullYear(),
date.getUTCMonth(),
date.getUTCDate()
);
return localDateFromUtc.toLocaleString(locale, formatOptions);
}
//create buttons
function createSimpleSwitcher(items, activeItem, activeItemChangedCallback) {
var switcherElement = document.createElement("div");
switcherElement.classList.add("switcher");
var intervalElements = items.map(function (item) {
var itemEl = document.createElement("button");
itemEl.innerText = item;
itemEl.classList.add("switcher-item");
itemEl.classList.toggle("switcher-active-item", item === activeItem);
itemEl.addEventListener("click", function () {
onItemClicked(item);
});
switcherElement.appendChild(itemEl);
return itemEl;
});
function onItemClicked(item) {
if (item === activeItem) {
return;
}
intervalElements.forEach(function (element, index) {
element.classList.toggle("switcher-active-item", items[index] === item);
});
activeItem = item;
activeItemChangedCallback(item);
}
return switcherElement;
}
// loading: true or false
function handleAsyncUI(loading){
var IntervalButtons = document.getElementsByClassName("switcher-item");
for(var i = 0; i < IntervalButtons.length; i++){
IntervalButtons[i].disabled = loading;
}
var chart = document.getElementsByClassName("tv-lightweight-charts")[0];
if(loading){
chart.style["display"] = "flex"
chart.style["align-items"] = "center"
chart.style["justify-content"] = "center"
var loadingIndicator = document.createElement("div");
loadingIndicator.classList.add("loader");
//loadingIndicator.innerText = "Loading";
loadingIndicator.id ="loadingIndicator"
chart.appendChild(loadingIndicator);
}else{
document.getElementById("loadingIndicator").remove();
chart.style["display"] = null
chart.style["align-items"] =null
chart.style["justify-content"] = null
}
}
var intervals = ["1M","3M","6M","1Y","3Y","5Y"];
var seriesesData = new Map([
["1M", []], // 1m (interval daten?), 3m, 6m, 1y, 3y, 5y
["3M", []],
["6M", []],
["1Y", chartData],
["3Y", []],
["5Y", []],
]);
var switcherElement = createSimpleSwitcher(intervals, intervals[3], syncToInterval);
var chartElement = document.createElement("div");
const chart = LightweightCharts.createChart(chartElement, {
width: width,
height: height,
rightPriceScale: {
scaleMargins: {
top: 0.2,
bottom: 0.2,
},
borderVisible: false,
},
timeScale: {
borderVisible: false,
lockVisibleTimeRangeOnResize: true,
rightOffset:1,
tickMarkFormatter:customXAchsisFormetter
},
grid: {
horzLines: {
color: "#eee",
visible: false,
},
vertLines: {
color: "#ffffff",
},
},
crosshair: {
horzLine: {
visible: false,
labelVisible: false
},
vertLine: {
visible: true,
style: 0,
width: 2,
color: "rgba(80, 50, 25, 0.1)",
labelVisible: false,
}
},
handleScroll: {
mouseWheel: false,
pressedMouseMove: false,
horzTouchDrag: false,
vertTouchDrag: false
},
handleScale: {
axisPressedMouseMove: false,
mouseWheel: false,
pinch: false,
},
});
var areaSeries = null;
var positionDIV = document.querySelector(`[data-chartid="${chartid}"]`)
positionDIV.appendChild(chartElement);
positionDIV.appendChild(switcherElement);
function httpGetAsync(theUrl, callback) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
callback(xmlHttp.responseText);
}
xmlHttp.open("GET", theUrl, true); // true for asynchronous
xmlHttp.send(null);
}
function formatDate(date) {
var month = "" + (date.getMonth()+1);
var day = "" + date.getDate();
var year = date.getFullYear();
if (month.length < 2)
month = "0" + month;
if (day.length < 2)
day = "0" + day;
return [year, month, day].join("-");
}
function getTimeframe(interval){
let from = null;
let to = formatDate(new Date());
switch (interval) {
case "1M": from = formatDate(new Date(Date.now() - 31 * 24 * 60 * 60 * 1000)); break;
case "3M": from = formatDate(new Date(Date.now() - 93 * 24 * 60 * 60 * 1000)); break;
case "6M": from = formatDate(new Date(Date.now() - 186 * 24 * 60 * 60 * 1000)); break;
case "1Y": from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000)); break;
case "3Y": from = formatDate(new Date(Date.now() - 1116 * 24 * 60 * 60 * 1000)); break;
case "5Y": from = formatDate(new Date(Date.now() - 1860 * 24 * 60 * 60 * 1000)); break;
default:from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000));
}
return {from:from, to:to}
}
// what happens on button click
function syncToInterval(interval) {
if (areaSeries && seriesesData.get(interval).length <=0) {
console.log("GETTING REMOTE DATA")
chart.removeSeries(areaSeries);
areaSeries = null;
let apiToken = "za1j116n2273ab1vxukuh6"
let timeframe = getTimeframe(interval)
let filter = "adjusted_close"
handleAsyncUI(true)
httpGetAsync("https://api.leeway.tech/api/v1/public/historicalquotes/"+encodeURIComponent(code+"."+exchange)+"?apitoken="+apiToken+"&filter="+filter+"&from="+timeframe.from+"&to="+timeframe.to, function (res) {
let newData = []
newData = JSON.parse(res)//.map(el=>newData.push({time:el.date, value:el.close}))
// newData = newData.map(el=>{
// console.log(el.time.year)
// console.log(el.time.month)
// console.log(el.time.day)
// console.log(el)
// console.log(new Date(el.time.year, el.time.month-1, el.time.day));
// return{value:el.value, time:el.time, timestamp:new Date(el.time.year, el.time.month-1, el.time.day).getTime()}})
console.log("newData")
console.log(newData)
seriesesData.set(interval, newData)
areaSeries = chart.addAreaSeries({
topColor: "rgba(33, 108, 173, 0.56)",
bottomColor: "rgba(33, 108, 173, 0.04)",
lineColor: "rgba(33, 108, 173, 1)",
lineWidth: 2,
});
kursData = seriesesData.get(interval)[seriesesData.get(interval).length-1].value
areaSeries.setData(seriesesData.get(interval));
chart.timeScale().fitContent();
handleAsyncUI(false)
})
}else{
console.log("GETTING LOADED DATA")
if(areaSeries){
console.log("DELETING LOADED DATA FROM CHART")
chart.removeSeries(areaSeries);
areaSeries = null;
}
kursData = seriesesData.get(interval)[seriesesData.get(interval).length-1].value
areaSeries = chart.addAreaSeries({
topColor: "rgba(33, 108, 173, 0.56)",
bottomColor: "rgba(33, 108, 173, 0.04)",
lineColor: "rgba(33, 108, 173, 1)",
lineWidth: 2,
});
areaSeries.setData(seriesesData.get(interval));
chart.timeScale().fitContent();
}
}
// data interval at startup
syncToInterval(intervals[3]);
// Name and Kurs as Text in legend
var watermark = document.createElement("img")
watermark.classList.add("watermark")
watermark.setAttribute("src", "https://api.leeway.tech/leeway-sign.png")
var testA = document.querySelector(`[data-chartid="${chartid}"]`)
var testB = document.querySelector(`[data-chartid="${chartid}"]`).getBoundingClientRect();
var test = testA.getElementsByTagName("canvas")[0].getBoundingClientRect();
watermark.style.position = "absolute";
watermark.style.width = "90px";
watermark.style.height = "30px";
watermark.style.display = "block";
//watermark.style.z-index = "1000000";
watermark.style.bottom = "0";
watermark.style.right = "10px";
let linkLW = document.createElement("a")
linkLW.href="https://www.ftd.de/leeway-tech";
linkLW.target = "_blank";
linkLW.appendChild(watermark)
// append to DOM
//div-chartwrapper -> div -> div -> table -> tr -> td td -> div
const myElementA = document.querySelector(`[data-chartid="${chartid}"]`);
let myElementB = myElementA.childNodes[0]
let myElementC = myElementB.childNodes[0]
let myElementD = myElementC.childNodes[0]
let myElementE = myElementD.childNodes[0]
let myElementF = myElementE.childNodes[1]
let myElementG = myElementF.childNodes[0]
myElementG.appendChild(linkLW);
if(hidelegend == "false"){
console.log("SHOW LEGEND!")
var legend = document.createElement("div");
legend.classList.add("legend");
var offsets = document.querySelector(`[data-chartid="${chartid}"]`).getBoundingClientRect();
var chartwrapperTop = offsets.top;
var legendHeight = height *-1
if(legendHeight>-210){legendHeight = -210;}
legend.style.top = legendHeight*1.2 + "px"
positionDIV.appendChild(legend);
if(hidetitle == "false"){
var firstRow = document.createElement("div");
firstRow.classList.add("titleText");
}
var secondRow = document.createElement("div");
secondRow.classList.add("secondRow");
if(kursData !== null){
if(hidetitle == "false"){
firstRow.innerText = companyName
legend.appendChild(firstRow);
}
secondRow.innerText = kursDate +": " + Number(kursData).toFixed(2) + " "+currency;
legend.appendChild(secondRow);
}else{
if(hidetitle == "false"){
firstRow.innerText = companyName
legend.appendChild(firstRow);
}
legend.appendChild(secondRow);
}
// cursor moving and handling third row of legend
chart.subscribeCrosshairMove((param) => {
if (param.time) {
let options = { weekday: "short", year: "numeric", month: "numeric", day: "numeric" };
let currentDate = new Date(param.time).toLocaleDateString("de-DE", options)
const price = param.seriesData.get(areaSeries).value;
secondRow.innerText = currentDate + ": " + price.toFixed(2) + " "+(currency?currency:" ");
}
else {
secondRow.innerText = kursDate +": " + Number(kursData).toFixed(2) + " "+currency;
}
});
}
}
function httpGetAsync(theUrl, callback) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
callback(xmlHttp.responseText);
}
xmlHttp.open("GET", theUrl, true); // true for asynchronous
xmlHttp.send(null);
};
function getTimeframe(interval){
let from = null;
let to = formatDate(new Date());
switch (interval) {
case "1M": from = formatDate(new Date(Date.now() - 31 * 24 * 60 * 60 * 1000)); break;
case "3M": from = formatDate(new Date(Date.now() - 93 * 24 * 60 * 60 * 1000)); break;
case "6M": from = formatDate(new Date(Date.now() - 186 * 24 * 60 * 60 * 1000)); break;
case "1Y": from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000)); break;
case "3Y": from = formatDate(new Date(Date.now() - 1116 * 24 * 60 * 60 * 1000)); break;
case "5Y": from = formatDate(new Date(Date.now() - 1860 * 24 * 60 * 60 * 1000)); break;
default:from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000));
}
return {from:from, to:to}
};
function formatDate(date) {
var month = "" + (date.getMonth()+1);
var day = "" + date.getDate();
var year = date.getFullYear();
if (month.length < 2)
month = "0" + month;
if (day.length < 2)
day = "0" + day;
return [year, month, day].join("-");
};
</script>
<script id="main">
var scriptTV = document.querySelector("#tvChartLoader");
scriptTV.addEventListener("load", function() {
var chartid = "66473d867f90a";
var companyName = "Eaton Corporation PLC";
if(companyName.length <=0){
companyName = "ETN - US";
}
var code = "ETN";
var exchange = "US";
var currency ="USD";
var kursData = null;
var kursDataDate = null;
var chartHeight = "";
var chartWidth = "250"
var hidetitle = "false"
var hidelegend = "false"
let apiToken = "za1j116n2273ab1vxukuh6"
chartWidth = document.querySelector(`[data-chartid="${chartid}"]`).offsetWidth
var chartData = [];
var timeframe = getTimeframe("1Y");
var filter = "adjusted_close";
httpGetAsync("https://api.leeway.tech/api/v1/public/historicalquotes/"+encodeURIComponent(code+"."+exchange)+"?apitoken="+apiToken+"&filter="+filter+"&from="+timeframe.from+"&to="+timeframe.to, function (res) {
let newData = null;
chartData = newData = JSON.parse(res)
// 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()}})
kursData = chartData[chartData.length-1].value
let options = { weekday: "short", year: "numeric", month: "numeric", day: "numeric" };
kursDataDate = chartData[chartData.length-1].time
let kursDate = new Date(kursDataDate.split("-")[0], Number(kursDataDate.split("-")[1])-1, kursDataDate.split("-")[2]).toLocaleDateString("de-DE", options)
renderTV(kursData,chartData,companyName,currency, Number(chartHeight), Number(chartWidth), code, exchange, kursDate, hidetitle, hidelegend, chartid)
});
});
</script>
Eaton ist aktuell mit einem KGV (Kurs-Gewinn-Verhältnis) von 35 bepreist. Das Kurs-Umsatz-Verhältnis liegt bei 5. Über die letzten Jahre war der Free Cash Flow konstant zwischen 9 und 12 Prozent. Der ROIC (Return on Invested Capital) liegt bei 14 Prozent. Wettbewerber wie ABB aus der Schweiz und Emerson weisen ein KGV unter 20 auf, bei ähnlichen Wachstumsaussichten. Schneider Electric kostet bereits das 25-fache des Gewinns. Beim ROIC glänzt ABB mit 20 Prozent, Schneider Electrics hat einen ähnlichen ROIC wie Eaton (13,8) und Emerson nur einen ROIC von 7 Prozent. Die Qualität und die nachhaltigen Wachstumsaussichten dieser Unternehmen sind natürlich individuell zu bewerten.
Disclaimer:
Keine Anlageberatung. Kein Aufruf zum Kauf oder Verkauf von Wertpapieren.
Der Beitrag Eaton Aktie: 100-jährige Erfolgsstory trifft Megatrends der Zukunft erschien zuerst auf ftd.de.
MSCI ist den Anlegern als Index ein Begriff. Das ist auch richtig. MSCI Inc. ist der führende Partner für Investmenthäuser, um bei Anlageentscheidungen wie Indizes und Nachhaltigkeit (ESG) zu unterstützen und Analytik und Risikomanagement bestmöglich sicherzustellen.
Der Name MSCI bedeutete ursprünglich Morgan Stanley und Capital International. Alles begann mit der Capital Group, bekannt für ihr Fondsmanagement auf internationaler Ebene. In den 1980er-Jahren lizenzierte Morgan Stanley die damals einzigartigen internationalen Indizes der Capital Group, die später als MSCI bekannt wurden und sich zu Standard-Benchmarks für internationale Aktien entwickelten. Im Jahr 2007 kam es zur vollständigen Ausgliederung von MSCI, und die einzigartige Börsengeschichte nahm ihren Lauf: zweistelliges Umsatz-, Gewinn- und Cashflow-Wachstum bis heute.
Spannend: 96 Prozent der Kunden nutzen alle 4 Produktkategorien.
MSCI hat sich anders als die Wettbewerber positioniert. Der Schlüssel liegt in der Globalisierung. Das Unternehmen bezeichnet sich selbst als globaler Indexierer, verhält sich gegenüber den Regulierungsbehörden der einzelnen Länder so neutral wie möglich. Die beliebtesten Indizes von MSCI sind MSCI World Index, MSCI ACWI Index oder der MSCI Emerging Markets Index. Ihre Konkurrenten werden als eher pro-westlich angesehen. MSCI kann satte 17 Prozent der Umsätze im Asien-Pazifik-Raum erzielen, während S&P Global mit seinen Indizes nur 18 Prozent außerhalb der USA erzielt. Der Asienanteil liegt unter 3 Prozent.
Ein echter Burggraben stellen die jahrzehntelang gesammelten Daten für Strategiedesign (Portfoliokonstellation, Indizes), Portfoliomanagement (Modellierung, Risikoadjustierung, Performanceoptimierung) und Analyse (Benchmarks, Reporting) dar. Sie sind für Portfoliomanager und Hedgefonds unersetzbar.
Einbrüche wie nach den ersten Quartalszahlen für 2024 sieht man bei Qualitätsaktien wie MSCI selten, doch Aktien die stets zu teuer bewertet sind, werden bei jeder schlechten Nachricht abverkauft.
Der Hauptgrund für das schlechte Quartalsergebnis war die Zusammenlegung zweier Banken, was Abonnementkündigungen bedeutete. Infolgedessen sank die Bindungsrate auf 92,8 Prozent. Dennoch konnte ein zweistelliges Wachstum bei wiederkehrenden Abonnements gemeldet werden. Hinzu kam, dass die wiederkehrenden Nettoumsätze rückläufig waren und somit eine Wachstumsverlangsamung darstellen, und dass die operative Marge von 53,1 Prozent auf 49,9 Prozent gesunken ist.
<script id="tvChartLoader" async src="https://unpkg.com/lightweight-charts/dist/lightweight-charts.standalone.production.js"></script>
<script id="declarations">
var chartid = "66473d8680eca";
function renderTV(kursData, chartData,companyName,currency, chartHeight, chartWidth, code, exchange, kursDate, hidetitle, hidelegend, chartid) {
console.log("render chart with id", document.querySelector(`[data-chartid="${chartid}"]`));
let width = chartWidth?chartWidth:600;
let ratio = 2
let height = chartHeight?chartHeight:(width/ratio);
document.querySelector(`[data-chartid="${chartid}"]`).style.height = chartHeight +50
document.querySelector(`[data-chartid="${chartid}"]`).style.width = chartWidth
// formatter for x achis dates
function customXAchsisFormetter(timePoint, tickMarkType, locale) {
let formatOptions = {};
const date = new Date(timePoint);
if(tickMarkType <=1){
formatOptions = {day: "numeric", month: "short",year: "numeric",}
}else{
formatOptions = {day: "numeric", month: "short",year: "numeric",}
}
// from given date we should use only as UTC date or timestamp
// but to format as locale date we can convert UTC date to local date
const localDateFromUtc = new Date(
date.getUTCFullYear(),
date.getUTCMonth(),
date.getUTCDate()
);
return localDateFromUtc.toLocaleString(locale, formatOptions);
}
//create buttons
function createSimpleSwitcher(items, activeItem, activeItemChangedCallback) {
var switcherElement = document.createElement("div");
switcherElement.classList.add("switcher");
var intervalElements = items.map(function (item) {
var itemEl = document.createElement("button");
itemEl.innerText = item;
itemEl.classList.add("switcher-item");
itemEl.classList.toggle("switcher-active-item", item === activeItem);
itemEl.addEventListener("click", function () {
onItemClicked(item);
});
switcherElement.appendChild(itemEl);
return itemEl;
});
function onItemClicked(item) {
if (item === activeItem) {
return;
}
intervalElements.forEach(function (element, index) {
element.classList.toggle("switcher-active-item", items[index] === item);
});
activeItem = item;
activeItemChangedCallback(item);
}
return switcherElement;
}
// loading: true or false
function handleAsyncUI(loading){
var IntervalButtons = document.getElementsByClassName("switcher-item");
for(var i = 0; i < IntervalButtons.length; i++){
IntervalButtons[i].disabled = loading;
}
var chart = document.getElementsByClassName("tv-lightweight-charts")[0];
if(loading){
chart.style["display"] = "flex"
chart.style["align-items"] = "center"
chart.style["justify-content"] = "center"
var loadingIndicator = document.createElement("div");
loadingIndicator.classList.add("loader");
//loadingIndicator.innerText = "Loading";
loadingIndicator.id ="loadingIndicator"
chart.appendChild(loadingIndicator);
}else{
document.getElementById("loadingIndicator").remove();
chart.style["display"] = null
chart.style["align-items"] =null
chart.style["justify-content"] = null
}
}
var intervals = ["1M","3M","6M","1Y","3Y","5Y"];
var seriesesData = new Map([
["1M", []], // 1m (interval daten?), 3m, 6m, 1y, 3y, 5y
["3M", []],
["6M", []],
["1Y", chartData],
["3Y", []],
["5Y", []],
]);
var switcherElement = createSimpleSwitcher(intervals, intervals[3], syncToInterval);
var chartElement = document.createElement("div");
const chart = LightweightCharts.createChart(chartElement, {
width: width,
height: height,
rightPriceScale: {
scaleMargins: {
top: 0.2,
bottom: 0.2,
},
borderVisible: false,
},
timeScale: {
borderVisible: false,
lockVisibleTimeRangeOnResize: true,
rightOffset:1,
tickMarkFormatter:customXAchsisFormetter
},
grid: {
horzLines: {
color: "#eee",
visible: false,
},
vertLines: {
color: "#ffffff",
},
},
crosshair: {
horzLine: {
visible: false,
labelVisible: false
},
vertLine: {
visible: true,
style: 0,
width: 2,
color: "rgba(80, 50, 25, 0.1)",
labelVisible: false,
}
},
handleScroll: {
mouseWheel: false,
pressedMouseMove: false,
horzTouchDrag: false,
vertTouchDrag: false
},
handleScale: {
axisPressedMouseMove: false,
mouseWheel: false,
pinch: false,
},
});
var areaSeries = null;
var positionDIV = document.querySelector(`[data-chartid="${chartid}"]`)
positionDIV.appendChild(chartElement);
positionDIV.appendChild(switcherElement);
function httpGetAsync(theUrl, callback) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
callback(xmlHttp.responseText);
}
xmlHttp.open("GET", theUrl, true); // true for asynchronous
xmlHttp.send(null);
}
function formatDate(date) {
var month = "" + (date.getMonth()+1);
var day = "" + date.getDate();
var year = date.getFullYear();
if (month.length < 2)
month = "0" + month;
if (day.length < 2)
day = "0" + day;
return [year, month, day].join("-");
}
function getTimeframe(interval){
let from = null;
let to = formatDate(new Date());
switch (interval) {
case "1M": from = formatDate(new Date(Date.now() - 31 * 24 * 60 * 60 * 1000)); break;
case "3M": from = formatDate(new Date(Date.now() - 93 * 24 * 60 * 60 * 1000)); break;
case "6M": from = formatDate(new Date(Date.now() - 186 * 24 * 60 * 60 * 1000)); break;
case "1Y": from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000)); break;
case "3Y": from = formatDate(new Date(Date.now() - 1116 * 24 * 60 * 60 * 1000)); break;
case "5Y": from = formatDate(new Date(Date.now() - 1860 * 24 * 60 * 60 * 1000)); break;
default:from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000));
}
return {from:from, to:to}
}
// what happens on button click
function syncToInterval(interval) {
if (areaSeries && seriesesData.get(interval).length <=0) {
console.log("GETTING REMOTE DATA")
chart.removeSeries(areaSeries);
areaSeries = null;
let apiToken = "za1j116n2273ab1vxukuh6"
let timeframe = getTimeframe(interval)
let filter = "adjusted_close"
handleAsyncUI(true)
httpGetAsync("https://api.leeway.tech/api/v1/public/historicalquotes/"+encodeURIComponent(code+"."+exchange)+"?apitoken="+apiToken+"&filter="+filter+"&from="+timeframe.from+"&to="+timeframe.to, function (res) {
let newData = []
newData = JSON.parse(res)//.map(el=>newData.push({time:el.date, value:el.close}))
// newData = newData.map(el=>{
// console.log(el.time.year)
// console.log(el.time.month)
// console.log(el.time.day)
// console.log(el)
// console.log(new Date(el.time.year, el.time.month-1, el.time.day));
// return{value:el.value, time:el.time, timestamp:new Date(el.time.year, el.time.month-1, el.time.day).getTime()}})
console.log("newData")
console.log(newData)
seriesesData.set(interval, newData)
areaSeries = chart.addAreaSeries({
topColor: "rgba(33, 108, 173, 0.56)",
bottomColor: "rgba(33, 108, 173, 0.04)",
lineColor: "rgba(33, 108, 173, 1)",
lineWidth: 2,
});
kursData = seriesesData.get(interval)[seriesesData.get(interval).length-1].value
areaSeries.setData(seriesesData.get(interval));
chart.timeScale().fitContent();
handleAsyncUI(false)
})
}else{
console.log("GETTING LOADED DATA")
if(areaSeries){
console.log("DELETING LOADED DATA FROM CHART")
chart.removeSeries(areaSeries);
areaSeries = null;
}
kursData = seriesesData.get(interval)[seriesesData.get(interval).length-1].value
areaSeries = chart.addAreaSeries({
topColor: "rgba(33, 108, 173, 0.56)",
bottomColor: "rgba(33, 108, 173, 0.04)",
lineColor: "rgba(33, 108, 173, 1)",
lineWidth: 2,
});
areaSeries.setData(seriesesData.get(interval));
chart.timeScale().fitContent();
}
}
// data interval at startup
syncToInterval(intervals[3]);
// Name and Kurs as Text in legend
var watermark = document.createElement("img")
watermark.classList.add("watermark")
watermark.setAttribute("src", "https://api.leeway.tech/leeway-sign.png")
var testA = document.querySelector(`[data-chartid="${chartid}"]`)
var testB = document.querySelector(`[data-chartid="${chartid}"]`).getBoundingClientRect();
var test = testA.getElementsByTagName("canvas")[0].getBoundingClientRect();
watermark.style.position = "absolute";
watermark.style.width = "90px";
watermark.style.height = "30px";
watermark.style.display = "block";
//watermark.style.z-index = "1000000";
watermark.style.bottom = "0";
watermark.style.right = "10px";
let linkLW = document.createElement("a")
linkLW.href="https://www.ftd.de/leeway-tech";
linkLW.target = "_blank";
linkLW.appendChild(watermark)
// append to DOM
//div-chartwrapper -> div -> div -> table -> tr -> td td -> div
const myElementA = document.querySelector(`[data-chartid="${chartid}"]`);
let myElementB = myElementA.childNodes[0]
let myElementC = myElementB.childNodes[0]
let myElementD = myElementC.childNodes[0]
let myElementE = myElementD.childNodes[0]
let myElementF = myElementE.childNodes[1]
let myElementG = myElementF.childNodes[0]
myElementG.appendChild(linkLW);
if(hidelegend == "false"){
console.log("SHOW LEGEND!")
var legend = document.createElement("div");
legend.classList.add("legend");
var offsets = document.querySelector(`[data-chartid="${chartid}"]`).getBoundingClientRect();
var chartwrapperTop = offsets.top;
var legendHeight = height *-1
if(legendHeight>-210){legendHeight = -210;}
legend.style.top = legendHeight*1.2 + "px"
positionDIV.appendChild(legend);
if(hidetitle == "false"){
var firstRow = document.createElement("div");
firstRow.classList.add("titleText");
}
var secondRow = document.createElement("div");
secondRow.classList.add("secondRow");
if(kursData !== null){
if(hidetitle == "false"){
firstRow.innerText = companyName
legend.appendChild(firstRow);
}
secondRow.innerText = kursDate +": " + Number(kursData).toFixed(2) + " "+currency;
legend.appendChild(secondRow);
}else{
if(hidetitle == "false"){
firstRow.innerText = companyName
legend.appendChild(firstRow);
}
legend.appendChild(secondRow);
}
// cursor moving and handling third row of legend
chart.subscribeCrosshairMove((param) => {
if (param.time) {
let options = { weekday: "short", year: "numeric", month: "numeric", day: "numeric" };
let currentDate = new Date(param.time).toLocaleDateString("de-DE", options)
const price = param.seriesData.get(areaSeries).value;
secondRow.innerText = currentDate + ": " + price.toFixed(2) + " "+(currency?currency:" ");
}
else {
secondRow.innerText = kursDate +": " + Number(kursData).toFixed(2) + " "+currency;
}
});
}
}
function httpGetAsync(theUrl, callback) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
callback(xmlHttp.responseText);
}
xmlHttp.open("GET", theUrl, true); // true for asynchronous
xmlHttp.send(null);
};
function getTimeframe(interval){
let from = null;
let to = formatDate(new Date());
switch (interval) {
case "1M": from = formatDate(new Date(Date.now() - 31 * 24 * 60 * 60 * 1000)); break;
case "3M": from = formatDate(new Date(Date.now() - 93 * 24 * 60 * 60 * 1000)); break;
case "6M": from = formatDate(new Date(Date.now() - 186 * 24 * 60 * 60 * 1000)); break;
case "1Y": from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000)); break;
case "3Y": from = formatDate(new Date(Date.now() - 1116 * 24 * 60 * 60 * 1000)); break;
case "5Y": from = formatDate(new Date(Date.now() - 1860 * 24 * 60 * 60 * 1000)); break;
default:from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000));
}
return {from:from, to:to}
};
function formatDate(date) {
var month = "" + (date.getMonth()+1);
var day = "" + date.getDate();
var year = date.getFullYear();
if (month.length < 2)
month = "0" + month;
if (day.length < 2)
day = "0" + day;
return [year, month, day].join("-");
};
</script>
<script id="main">
var scriptTV = document.querySelector("#tvChartLoader");
scriptTV.addEventListener("load", function() {
var chartid = "66473d8680eca";
var companyName = "MSCI Inc";
if(companyName.length <=0){
companyName = "MSCI - US";
}
var code = "MSCI";
var exchange = "US";
var currency ="USD";
var kursData = null;
var kursDataDate = null;
var chartHeight = "";
var chartWidth = "250"
var hidetitle = "false"
var hidelegend = "false"
let apiToken = "za1j116n2273ab1vxukuh6"
chartWidth = document.querySelector(`[data-chartid="${chartid}"]`).offsetWidth
var chartData = [];
var timeframe = getTimeframe("1Y");
var filter = "adjusted_close";
httpGetAsync("https://api.leeway.tech/api/v1/public/historicalquotes/"+encodeURIComponent(code+"."+exchange)+"?apitoken="+apiToken+"&filter="+filter+"&from="+timeframe.from+"&to="+timeframe.to, function (res) {
let newData = null;
chartData = newData = JSON.parse(res)
// 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()}})
kursData = chartData[chartData.length-1].value
let options = { weekday: "short", year: "numeric", month: "numeric", day: "numeric" };
kursDataDate = chartData[chartData.length-1].time
let kursDate = new Date(kursDataDate.split("-")[0], Number(kursDataDate.split("-")[1])-1, kursDataDate.split("-")[2]).toLocaleDateString("de-DE", options)
renderTV(kursData,chartData,companyName,currency, Number(chartHeight), Number(chartWidth), code, exchange, kursDate, hidetitle, hidelegend, chartid)
});
});
</script>
Die MSCI-Aktie ist eine Qualitätsaktie, die stets hoch bepreist war und auch heute noch keine Value-Aktie ist. Doch Qualität hat meist einen gewissen Preis. MSCI bietet seit Jahren ein zweistelliges Dividendenwachstum mit einer Dividendenrendite von aktuell 1,2 Prozent, eine Bruttomargen von 82 Prozent, dazu eine operative Marge von rund 50 Prozent, einen ROIC von 35 Prozent, zweistellige Umsatz- und Gewinnwachstumsraten, einen starken Burggraben, keine Kundenkonzentration, internationale und segmentspezifische Diversifikation, nahezu 100 Prozent wiederkehrende Umsätze, ein KGV (Kurs-Gewinn-Verhältnis) von 30 und einen deutlichen historischen Bewertungsabschlag. Für Qualitäts-, Compounding- und Dividendenwachstums-Investoren könnte die MSCI Aktie aktuell interessant sein.
Disclaimer:
Keine Anlageberatung. Kein Aufruf zum Kauf oder Verkauf von Wertpapieren.
Der Beitrag MSCI Inc: Abverkauf einer Qualitätsaktie – Einstiegschance bei Index-Spezialist? erschien zuerst auf ftd.de.
Düsseldorf – Panzer, Flugabwehr, Massen an Munition –Rheinmetall verkauft, was die Ukraine dringend benötigt. Und was seit der Zeitenwende die Armeen vieler Länder nachfragen. Am Dienstag legt Europas größter Rüstungskonzern seinen Quartalsbericht vor und lädt zur Hauptversammlung.
Seit Jahresbeginn plus 83 Prozent – seit Januar 2022 über 500 Prozent Zuwachs: Die Rheinmetall-Aktie rennt davon. Zuletzt bewegte sich der Kurs seitwärts, Gewinnmitnahmen spielen eine Rolle. Die Konzernspitze schlägt der Hauptversammlung 5,70 Euro Dividende vor – nach 4,30 Euro im Vorjahr.
+++ Virtuelle Hauptversammlung der Rheinmetall AG +++
Wenig beliebt bei Aktionären ist der Trend zu virtuellen Aktionärstreffen. Auch die Hauptversammlung des Dax-Konzerns Rheinmetall findet am Dienstag, den 14. Mai 2024, um 10 Uhr (MESZ) per Videokonferenz statt. Anteilseigner können sich im Aktionärsportal einloggen.
Die Waffenhersteller will kräftig wachsen: 20 Milliarden Euro Umsatz hat CEO Armin Papperger als Ziel für die nächsten 5 bis 8 Jahren ausgerufen. 2024 will er 10 Milliarden Euro umsetzen, das wären 40 Prozent mehr als 2023. Von 26,6 auf 38,3 Milliarden Euro hat der Auftragsbestand zugelegt.
„Wir wollen ein World-Wide-Player werden, und das können wir zurzeit aufgrund des guten Cash-Flows aus eigener Kraft“, so Papperger unlängst. Ihm schwebt Berichten nach ein europäisches Systemhaus vor. Als weitere große Partner in Europa kämen noch Leonardo und KNDS in Frage.
Um die Nachfrage zu bedienen, zieht Rheinmetall neue Standorte hoch. In Litauen soll eine weitere Fabrik für 155-Millimeter-Munition entstehen, ebenso sind Werke in Niedersachsen am Standort Unterlüß sowie in der Ukraine in Planung. Und auch in Ungarn ist der Bau einer Fabrik gestartet.
Der Hochlauf bei Artilleriemunition ist atemberaubend. Vor dem russischen Angriffskrieg hatte diese Waffengattung keine Zukunft. Von früher 70.000 auf 700.000 Schuss pro Jahr soll die Rheinmetall-Produktion 2024 steigen. Mit den neuen Fabriken sind 1,1 Millionen Schuss bis 2027 das Ziel.
Beispiele für Großaufträge 2024 sind etwa Skyranger-Fahrzeuge zur Flugabwehr für die deutschen Streitkräfte oder Fahrgestelle für neue Panzerhaubitzen 2000, die in die Ukraine geliefertes Material ersetzen. Viele Milliarden schwer ist die Bundeswehr-Bestellung neuer Infanterie-Radpanzer.
Bei den zivilen Produkten will Rheinmetall künftig weniger abhängig von Produkten rund um den Verbrennungsmotor werden. So hat das Unternehmen nun die Kolbenproduktion verkauft. Lösungen für die E-Mobilität wie Ladeinfrastruktur oder Wärmepumpen verfolgen die Düsseldorfer weiter.
Rheinmetalls Geschäft mit Krieg und Krisen ruft Kritiker auf den Plan. So monieren die „Kritischen Aktionäre“ in einem Gegenantrag zur Hauptversammlung Waffengeschäfte mit Autokraten. Und Aktivisten wollen während der virtuellen Veranstaltung vor der Düsseldorfer Zentrale protestieren.
<script id="tvChartLoader" async src="https://unpkg.com/lightweight-charts/dist/lightweight-charts.standalone.production.js"></script>
<script id="declarations">
var chartid = "66473d8682973";
function renderTV(kursData, chartData,companyName,currency, chartHeight, chartWidth, code, exchange, kursDate, hidetitle, hidelegend, chartid) {
console.log("render chart with id", document.querySelector(`[data-chartid="${chartid}"]`));
let width = chartWidth?chartWidth:600;
let ratio = 2
let height = chartHeight?chartHeight:(width/ratio);
document.querySelector(`[data-chartid="${chartid}"]`).style.height = chartHeight +50
document.querySelector(`[data-chartid="${chartid}"]`).style.width = chartWidth
// formatter for x achis dates
function customXAchsisFormetter(timePoint, tickMarkType, locale) {
let formatOptions = {};
const date = new Date(timePoint);
if(tickMarkType <=1){
formatOptions = {day: "numeric", month: "short",year: "numeric",}
}else{
formatOptions = {day: "numeric", month: "short",year: "numeric",}
}
// from given date we should use only as UTC date or timestamp
// but to format as locale date we can convert UTC date to local date
const localDateFromUtc = new Date(
date.getUTCFullYear(),
date.getUTCMonth(),
date.getUTCDate()
);
return localDateFromUtc.toLocaleString(locale, formatOptions);
}
//create buttons
function createSimpleSwitcher(items, activeItem, activeItemChangedCallback) {
var switcherElement = document.createElement("div");
switcherElement.classList.add("switcher");
var intervalElements = items.map(function (item) {
var itemEl = document.createElement("button");
itemEl.innerText = item;
itemEl.classList.add("switcher-item");
itemEl.classList.toggle("switcher-active-item", item === activeItem);
itemEl.addEventListener("click", function () {
onItemClicked(item);
});
switcherElement.appendChild(itemEl);
return itemEl;
});
function onItemClicked(item) {
if (item === activeItem) {
return;
}
intervalElements.forEach(function (element, index) {
element.classList.toggle("switcher-active-item", items[index] === item);
});
activeItem = item;
activeItemChangedCallback(item);
}
return switcherElement;
}
// loading: true or false
function handleAsyncUI(loading){
var IntervalButtons = document.getElementsByClassName("switcher-item");
for(var i = 0; i < IntervalButtons.length; i++){
IntervalButtons[i].disabled = loading;
}
var chart = document.getElementsByClassName("tv-lightweight-charts")[0];
if(loading){
chart.style["display"] = "flex"
chart.style["align-items"] = "center"
chart.style["justify-content"] = "center"
var loadingIndicator = document.createElement("div");
loadingIndicator.classList.add("loader");
//loadingIndicator.innerText = "Loading";
loadingIndicator.id ="loadingIndicator"
chart.appendChild(loadingIndicator);
}else{
document.getElementById("loadingIndicator").remove();
chart.style["display"] = null
chart.style["align-items"] =null
chart.style["justify-content"] = null
}
}
var intervals = ["1M","3M","6M","1Y","3Y","5Y"];
var seriesesData = new Map([
["1M", []], // 1m (interval daten?), 3m, 6m, 1y, 3y, 5y
["3M", []],
["6M", []],
["1Y", chartData],
["3Y", []],
["5Y", []],
]);
var switcherElement = createSimpleSwitcher(intervals, intervals[3], syncToInterval);
var chartElement = document.createElement("div");
const chart = LightweightCharts.createChart(chartElement, {
width: width,
height: height,
rightPriceScale: {
scaleMargins: {
top: 0.2,
bottom: 0.2,
},
borderVisible: false,
},
timeScale: {
borderVisible: false,
lockVisibleTimeRangeOnResize: true,
rightOffset:1,
tickMarkFormatter:customXAchsisFormetter
},
grid: {
horzLines: {
color: "#eee",
visible: false,
},
vertLines: {
color: "#ffffff",
},
},
crosshair: {
horzLine: {
visible: false,
labelVisible: false
},
vertLine: {
visible: true,
style: 0,
width: 2,
color: "rgba(80, 50, 25, 0.1)",
labelVisible: false,
}
},
handleScroll: {
mouseWheel: false,
pressedMouseMove: false,
horzTouchDrag: false,
vertTouchDrag: false
},
handleScale: {
axisPressedMouseMove: false,
mouseWheel: false,
pinch: false,
},
});
var areaSeries = null;
var positionDIV = document.querySelector(`[data-chartid="${chartid}"]`)
positionDIV.appendChild(chartElement);
positionDIV.appendChild(switcherElement);
function httpGetAsync(theUrl, callback) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
callback(xmlHttp.responseText);
}
xmlHttp.open("GET", theUrl, true); // true for asynchronous
xmlHttp.send(null);
}
function formatDate(date) {
var month = "" + (date.getMonth()+1);
var day = "" + date.getDate();
var year = date.getFullYear();
if (month.length < 2)
month = "0" + month;
if (day.length < 2)
day = "0" + day;
return [year, month, day].join("-");
}
function getTimeframe(interval){
let from = null;
let to = formatDate(new Date());
switch (interval) {
case "1M": from = formatDate(new Date(Date.now() - 31 * 24 * 60 * 60 * 1000)); break;
case "3M": from = formatDate(new Date(Date.now() - 93 * 24 * 60 * 60 * 1000)); break;
case "6M": from = formatDate(new Date(Date.now() - 186 * 24 * 60 * 60 * 1000)); break;
case "1Y": from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000)); break;
case "3Y": from = formatDate(new Date(Date.now() - 1116 * 24 * 60 * 60 * 1000)); break;
case "5Y": from = formatDate(new Date(Date.now() - 1860 * 24 * 60 * 60 * 1000)); break;
default:from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000));
}
return {from:from, to:to}
}
// what happens on button click
function syncToInterval(interval) {
if (areaSeries && seriesesData.get(interval).length <=0) {
console.log("GETTING REMOTE DATA")
chart.removeSeries(areaSeries);
areaSeries = null;
let apiToken = "za1j116n2273ab1vxukuh6"
let timeframe = getTimeframe(interval)
let filter = "adjusted_close"
handleAsyncUI(true)
httpGetAsync("https://api.leeway.tech/api/v1/public/historicalquotes/"+encodeURIComponent(code+"."+exchange)+"?apitoken="+apiToken+"&filter="+filter+"&from="+timeframe.from+"&to="+timeframe.to, function (res) {
let newData = []
newData = JSON.parse(res)//.map(el=>newData.push({time:el.date, value:el.close}))
// newData = newData.map(el=>{
// console.log(el.time.year)
// console.log(el.time.month)
// console.log(el.time.day)
// console.log(el)
// console.log(new Date(el.time.year, el.time.month-1, el.time.day));
// return{value:el.value, time:el.time, timestamp:new Date(el.time.year, el.time.month-1, el.time.day).getTime()}})
console.log("newData")
console.log(newData)
seriesesData.set(interval, newData)
areaSeries = chart.addAreaSeries({
topColor: "rgba(33, 108, 173, 0.56)",
bottomColor: "rgba(33, 108, 173, 0.04)",
lineColor: "rgba(33, 108, 173, 1)",
lineWidth: 2,
});
kursData = seriesesData.get(interval)[seriesesData.get(interval).length-1].value
areaSeries.setData(seriesesData.get(interval));
chart.timeScale().fitContent();
handleAsyncUI(false)
})
}else{
console.log("GETTING LOADED DATA")
if(areaSeries){
console.log("DELETING LOADED DATA FROM CHART")
chart.removeSeries(areaSeries);
areaSeries = null;
}
kursData = seriesesData.get(interval)[seriesesData.get(interval).length-1].value
areaSeries = chart.addAreaSeries({
topColor: "rgba(33, 108, 173, 0.56)",
bottomColor: "rgba(33, 108, 173, 0.04)",
lineColor: "rgba(33, 108, 173, 1)",
lineWidth: 2,
});
areaSeries.setData(seriesesData.get(interval));
chart.timeScale().fitContent();
}
}
// data interval at startup
syncToInterval(intervals[3]);
// Name and Kurs as Text in legend
var watermark = document.createElement("img")
watermark.classList.add("watermark")
watermark.setAttribute("src", "https://api.leeway.tech/leeway-sign.png")
var testA = document.querySelector(`[data-chartid="${chartid}"]`)
var testB = document.querySelector(`[data-chartid="${chartid}"]`).getBoundingClientRect();
var test = testA.getElementsByTagName("canvas")[0].getBoundingClientRect();
watermark.style.position = "absolute";
watermark.style.width = "90px";
watermark.style.height = "30px";
watermark.style.display = "block";
//watermark.style.z-index = "1000000";
watermark.style.bottom = "0";
watermark.style.right = "10px";
let linkLW = document.createElement("a")
linkLW.href="https://www.ftd.de/leeway-tech";
linkLW.target = "_blank";
linkLW.appendChild(watermark)
// append to DOM
//div-chartwrapper -> div -> div -> table -> tr -> td td -> div
const myElementA = document.querySelector(`[data-chartid="${chartid}"]`);
let myElementB = myElementA.childNodes[0]
let myElementC = myElementB.childNodes[0]
let myElementD = myElementC.childNodes[0]
let myElementE = myElementD.childNodes[0]
let myElementF = myElementE.childNodes[1]
let myElementG = myElementF.childNodes[0]
myElementG.appendChild(linkLW);
if(hidelegend == "false"){
console.log("SHOW LEGEND!")
var legend = document.createElement("div");
legend.classList.add("legend");
var offsets = document.querySelector(`[data-chartid="${chartid}"]`).getBoundingClientRect();
var chartwrapperTop = offsets.top;
var legendHeight = height *-1
if(legendHeight>-210){legendHeight = -210;}
legend.style.top = legendHeight*1.2 + "px"
positionDIV.appendChild(legend);
if(hidetitle == "false"){
var firstRow = document.createElement("div");
firstRow.classList.add("titleText");
}
var secondRow = document.createElement("div");
secondRow.classList.add("secondRow");
if(kursData !== null){
if(hidetitle == "false"){
firstRow.innerText = companyName
legend.appendChild(firstRow);
}
secondRow.innerText = kursDate +": " + Number(kursData).toFixed(2) + " "+currency;
legend.appendChild(secondRow);
}else{
if(hidetitle == "false"){
firstRow.innerText = companyName
legend.appendChild(firstRow);
}
legend.appendChild(secondRow);
}
// cursor moving and handling third row of legend
chart.subscribeCrosshairMove((param) => {
if (param.time) {
let options = { weekday: "short", year: "numeric", month: "numeric", day: "numeric" };
let currentDate = new Date(param.time).toLocaleDateString("de-DE", options)
const price = param.seriesData.get(areaSeries).value;
secondRow.innerText = currentDate + ": " + price.toFixed(2) + " "+(currency?currency:" ");
}
else {
secondRow.innerText = kursDate +": " + Number(kursData).toFixed(2) + " "+currency;
}
});
}
}
function httpGetAsync(theUrl, callback) {
var xmlHttp = new XMLHttpRequest();
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4 && xmlHttp.status == 200)
callback(xmlHttp.responseText);
}
xmlHttp.open("GET", theUrl, true); // true for asynchronous
xmlHttp.send(null);
};
function getTimeframe(interval){
let from = null;
let to = formatDate(new Date());
switch (interval) {
case "1M": from = formatDate(new Date(Date.now() - 31 * 24 * 60 * 60 * 1000)); break;
case "3M": from = formatDate(new Date(Date.now() - 93 * 24 * 60 * 60 * 1000)); break;
case "6M": from = formatDate(new Date(Date.now() - 186 * 24 * 60 * 60 * 1000)); break;
case "1Y": from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000)); break;
case "3Y": from = formatDate(new Date(Date.now() - 1116 * 24 * 60 * 60 * 1000)); break;
case "5Y": from = formatDate(new Date(Date.now() - 1860 * 24 * 60 * 60 * 1000)); break;
default:from = formatDate(new Date(Date.now() - 372 * 24 * 60 * 60 * 1000));
}
return {from:from, to:to}
};
function formatDate(date) {
var month = "" + (date.getMonth()+1);
var day = "" + date.getDate();
var year = date.getFullYear();
if (month.length < 2)
month = "0" + month;
if (day.length < 2)
day = "0" + day;
return [year, month, day].join("-");
};
</script>
<script id="main">
var scriptTV = document.querySelector("#tvChartLoader");
scriptTV.addEventListener("load", function() {
var chartid = "66473d8682973";
var companyName = "RHEINMETALL AG";
if(companyName.length <=0){
companyName = "RHM - XETRA";
}
var code = "RHM";
var exchange = "XETRA";
var currency ="EUR";
var kursData = null;
var kursDataDate = null;
var chartHeight = "";
var chartWidth = "250"
var hidetitle = "false"
var hidelegend = "false"
let apiToken = "za1j116n2273ab1vxukuh6"
chartWidth = document.querySelector(`[data-chartid="${chartid}"]`).offsetWidth
var chartData = [];
var timeframe = getTimeframe("1Y");
var filter = "adjusted_close";
httpGetAsync("https://api.leeway.tech/api/v1/public/historicalquotes/"+encodeURIComponent(code+"."+exchange)+"?apitoken="+apiToken+"&filter="+filter+"&from="+timeframe.from+"&to="+timeframe.to, function (res) {
let newData = null;
chartData = newData = JSON.parse(res)
// 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()}})
kursData = chartData[chartData.length-1].value
let options = { weekday: "short", year: "numeric", month: "numeric", day: "numeric" };
kursDataDate = chartData[chartData.length-1].time
let kursDate = new Date(kursDataDate.split("-")[0], Number(kursDataDate.split("-")[1])-1, kursDataDate.split("-")[2]).toLocaleDateString("de-DE", options)
renderTV(kursData,chartData,companyName,currency, Number(chartHeight), Number(chartWidth), code, exchange, kursDate, hidetitle, hidelegend, chartid)
});
});
</script>
Das Rheinmetall-Ergebnis pro Aktie dürfte im 1. Quartal 2024 gegenüber dem Vorquartal sinken: Bei rund 2,35 Euro liegt die mittlere Schätzung von 3 Analysten laut finanzen.net. Im Quartal davor hatte das Ergebnis pro Aktie enorme 8,29 Euro betragen. Im 1. Quartal 2023 waren es rund 1,15 Euro.
Auch beim Umsatz rechnen die Experten mit einem Minus. Bei rund 1,74 Milliarden Euro liegt die Prognose im Schnitt. Das ist weniger als die rund 2,56 Milliarden Euro im Vorquartal – allerdings mehr als die rund 1,36 Milliarden Euro im 1. Quartal 2023. Das Geschäftsjahr endet am 31. Dezember.
Disclaimer:
Alle Angaben ohne Gewähr auf Vollständigkeit, Richtigkeit und Aktualität. Der Text stellt keine Handelsempfehlung oder Anlageberatung dar.
Der Beitrag Rheinmetall Hauptversammlung 2024: Bald ein Global Player? Übersicht und Prognose erschien zuerst auf ftd.de.