Signatur
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
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";
}
}
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.";
}
// 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.