Start · Sprachen · PHP · Referenz · trader_mult

trader_mult

Funktion

Multipliziert zwei Vektoren (Arrays von Gleitkommazahlen) elementweise miteinander und gibt das Ergebnis als Array zurück.

Kategorie: math

Signatur

trader_mult(array $real0, array $real1): array|false

Beschreibung

trader_mult() ist Teil der TRADER-Erweiterung (Technical Analysis for Traders), die auf der TA-Lib-Bibliothek basiert. Die Funktion multipliziert zwei gleichlange Arrays von Gleitkommazahlen elementweise: Jedes Element aus real0 wird mit dem korrespondierenden Element aus real1 multipliziert.

Typische Einsatzgebiete sind die technische Analyse von Finanzzeitreihen, z. B. die Gewichtung von Kursdaten oder die Kombination zweier Indikatoren. Die Funktion eignet sich überall dort, wo eine komponentenweise Multiplikation zweier numerischer Zeitreihen benötigt wird.

Die TRADER-Extension muss separat installiert und aktiviert sein (pecl install trader). Beide Eingabe-Arrays sollten dieselbe Länge und ausschließlich numerische Werte enthalten, da nicht-numerische Werte zu unerwarteten Ergebnissen führen können.

Parameter

Name Typ Default Beschreibung
$real0 Pflicht array Erster Eingabe-Vektor als Array von Gleitkommazahlen (z. B. Kursdaten oder Indikatorwerte).
$real1 Pflicht array Zweiter Eingabe-Vektor als Array von Gleitkommazahlen. Muss dieselbe Länge wie real0 haben.

Rückgabewert

Typ
array|false
Beschreibung
Gibt ein Array mit den elementweisen Produkten zurück. Im Fehlerfall (z. B. bei ungültigen Eingaben oder wenn die TRADER-Extension einen Fehler meldet) wird false zurückgegeben.

Beispiele

Einfache elementweise Multiplikation zweier Preisreihen

<?php
// Zwei einfache Kursreihen
$preise = [10.0, 20.0, 30.0, 40.0, 50.0];
$faktoren = [1.5, 2.0, 0.5, 3.0, 1.0];

$ergebnis = trader_mult($preise, $faktoren);

if ($ergebnis !== false) {
    foreach ($ergebnis as $index => $wert) {
        echo "Index $index: " . $wert . PHP_EOL;
    }
} else {
    echo "Fehler bei der Berechnung." . PHP_EOL;
}
Index 0: 15 Index 1: 40 Index 2: 15 Index 3: 120 Index 4: 50

Kombination von Volumen und Preis zur Berechnung des Umsatzwerts

<?php
// Schlusskurse und gehandelte Stückzahlen
$schlusskurse = [100.25, 102.50, 99.75, 105.00, 103.80];
$volumen      = [1200.0, 800.0, 1500.0, 600.0, 900.0];

// Gesamtumsatz je Periode = Kurs * Volumen
$umsatz = trader_mult($schlusskurse, $volumen);

if ($umsatz !== false) {
    echo "Umsatzwerte:" . PHP_EOL;
    foreach ($umsatz as $i => $wert) {
        printf("Periode %d: %.2f EUR\n", $i + 1, $wert);
    }
}
Umsatzwerte: Periode 1: 120300.00 EUR Periode 2: 82000.00 EUR Periode 3: 149625.00 EUR Periode 4: 63000.00 EUR Periode 5: 93420.00 EUR

// Wichtig · Fallstricke

Voraussetzung: Die TRADER PHP-Extension muss installiert und in der php.ini aktiviert sein (extension=trader). Ohne diese Extension ist trader_mult() nicht verfügbar.

Beide Arrays sollten exakt gleich lang sein. Wenn die Arrays unterschiedliche Längen haben, kann es zu unerwarteten Ergebnissen oder zu false als Rückgabewert kommen. Nicht-numerische Arraywerte werden intern als 0 interpretiert, was zu stillen Fehlern führen kann – daher sollten die Eingabedaten vorher validiert werden.

Die Rückgabe-Indizes des Ergebnis-Arrays entsprechen nicht zwingend den Eingabe-Indizes; bei manchen TA-Lib-Funktionen werden führende Elemente weggelassen. Bei trader_mult sollte die Ausgabe jedoch dieselbe Länge wie die Eingabe haben.