Start · Sprachen · PHP · Referenz · trader_sqrt

trader_sqrt

Funktion

Berechnet elementweise die Quadratwurzel aller Werte eines numerischen Arrays (Vektors) mittels der TRADER-Bibliothek.

Kategorie: math

Signatur

trader_sqrt(array $real): array|false

Beschreibung

trader_sqrt ist Teil der TRADER-Erweiterung für PHP, die technische Analyse-Funktionen aus der TA-Lib bereitstellt. Die Funktion berechnet für jeden Eintrag des übergebenen Arrays die mathematische Quadratwurzel (√x) und gibt das Ergebnis als neues Array zurück.

Typischer Anwendungsfall sind Berechnungen im Bereich der Finanzmathematik oder Signal-Verarbeitung, bei denen Zeitreihendaten (z. B. Kurswerte, Volatilitäten) elementweise transformiert werden müssen. Im Gegensatz zur einfachen PHP-Funktion sqrt() arbeitet trader_sqrt direkt auf Arrays, was die Verarbeitung von Vektordaten deutlich vereinfacht.

Das zurückgegebene Array enthält ausschließlich gültige Ergebnisse. Die Schlüssel des Ausgabe-Arrays sind dabei nicht zwingend identisch mit denen des Eingabe-Arrays; es kann zu einem Index-Offset kommen, der durch die interne Verarbeitung der TA-Lib entsteht.

Enthält das Eingabe-Array negative Werte, werden diese Positionen im Ergebnis übersprungen oder führen zu NAN, da die Quadratwurzel negativer reeller Zahlen nicht definiert ist.

Parameter

Name Typ Default Beschreibung
$real Pflicht array Numerisches Array mit reellen Zahlen (Vektor), für dessen Elemente die Quadratwurzel berechnet werden soll. Typischerweise ein Array von Kurswerten oder anderen Zeitreihendaten.

Rückgabewert

Typ
array|false
Beschreibung
Gibt ein Array mit den berechneten Quadratwurzeln zurück. Bei einem Fehler (z. B. ungültiger Eingabe) wird false zurückgegeben. Das Ausgabe-Array kann einen Index-Offset im Vergleich zum Eingabe-Array aufweisen.

Beispiele

Quadratwurzel eines einfachen Zahlen-Arrays berechnen

<?php
// Eingabe-Vektor mit reellen Zahlen
$preise = [4.0, 9.0, 16.0, 25.0, 36.0, 49.0, 64.0];

$result = trader_sqrt($preise);

if ($result === false) {
    echo "Fehler bei der Berechnung.";
} else {
    foreach ($result as $index => $wert) {
        echo "Index $index: sqrt = $wert\n";
    }
}
Index 0: sqrt = 2 Index 1: sqrt = 3 Index 2: sqrt = 4 Index 3: sqrt = 5 Index 4: sqrt = 6 Index 5: sqrt = 7 Index 6: sqrt = 8

Normalisierung von Finanzdaten mittels Quadratwurzel

<?php
// Simulierte tägliche Kurswerte
$kurse = [100.0, 121.0, 144.0, 169.0, 196.0, 225.0];

$wurzeln = trader_sqrt($kurse);

if ($wurzeln !== false) {
    echo "Originalkurse => Wurzeltransformierte Werte:\n";
    $keys = array_keys($wurzeln);
    foreach ($keys as $i => $k) {
        printf("%.2f => %.4f\n", $kurse[$k], $wurzeln[$k]);
    }
} else {
    echo "Berechnung fehlgeschlagen.";
}
Originalkurse => Wurzeltransformierte Werte: 100.00 => 10.0000 121.00 => 11.0000 144.00 => 12.0000 169.00 => 13.0000 196.00 => 14.0000 225.00 => 15.0000

// Wichtig · Fallstricke

Negative Werte: Enthält der Eingabe-Vektor negative Zahlen, ist das Ergebnis für diese Positionen mathematisch nicht definiert. Die TA-Lib kann in solchen Fällen NAN liefern oder die entsprechenden Einträge überspringen.

Index-Offset: Das zurückgegebene Array beginnt nicht notwendigerweise bei Index 0. Bei manchen TA-Lib-Funktionen entsteht ein sogenannter lookback-Versatz; bei trader_sqrt ist dieser in der Regel 0, sollte aber dennoch berücksichtigt werden.

Voraussetzung: Die TRADER-Erweiterung muss installiert und aktiviert sein (pecl install trader). Sie ist kein Bestandteil der PHP-Standardinstallation.