Signatur
Beschreibung
trader_tanh ist Teil der TRADER-Erweiterung (Technical Analysis for Traders) und wendet die mathematische Funktion Tangens hyperbolicus elementweise auf ein Array von Fließkommazahlen an. Das Ergebnis ist ein neues Array derselben Länge, in dem jeder Wert tanh(x) des entsprechenden Eingabewertes enthält.
Der hyperbolische Tangens ist definiert als tanh(x) = (e^x − e^(−x)) / (e^x + e^(−x)) und liefert immer einen Wert im offenen Intervall (−1, 1). Er wird häufig in der Signalverarbeitung, im maschinellen Lernen und in der technischen Analyse eingesetzt, etwa zur Normalisierung von Zeitreihendaten.
In der technischen Finanzanalyse kann trader_tanh genutzt werden, um Kursänderungen oder Indikatoren auf einen definierten Wertebereich zu begrenzen und so Extremwerte zu dämpfen. Die Funktion arbeitet effizient auf ganzen Datenreihen (Vektoren), ohne dass eine manuelle Schleife notwendig ist.
Die TRADER-Erweiterung muss als PECL-Paket installiert sein (pecl install trader), da sie nicht im PHP-Core enthalten ist.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $real Pflicht | array | Numerisches Array von Fließkommazahlen (z. B. Schlusskurse oder Indikatorwerte), für die tanh(x) berechnet werden soll. |
Rückgabewert
false zurückgegeben.Beispiele
Einfache Anwendung auf ein Zahlen-Array
<?php
// Beispiel-Array mit reellen Zahlen
$werte = [0.0, 0.5, 1.0, 2.0, -1.0, -2.0];
$ergebnis = trader_tanh($werte);
if ($ergebnis === false) {
echo 'Fehler bei der Berechnung.';
} else {
foreach ($ergebnis as $index => $wert) {
printf("tanh(%.1f) = %.6f\n", $werte[$index], $wert);
}
}
Normalisierung von Finanzdaten mit trader_tanh
<?php
// Simulierte tägliche Kursrenditen (in Prozent)
$renditen = [0.02, -0.05, 0.10, 0.30, -0.20, 0.01, -0.03];
// Normalisierung durch tanh auf den Bereich (-1, 1)
$normalisiert = trader_tanh($renditen);
if ($normalisiert !== false) {
echo "Normalisierte Renditen (Bereich -1 bis 1):\n";
foreach ($normalisiert as $i => $wert) {
printf("Rendite %+.2f%% => normalisiert: %+.6f\n", $renditen[$i] * 100, $wert);
}
} else {
echo 'Fehler aufgetreten.';
}
// Wichtig · Fallstricke
Die TRADER-Erweiterung ist nicht standardmäßig in PHP enthalten und muss separat über PECL installiert werden (pecl install trader). Außerdem muss die Erweiterung in der php.ini aktiviert werden (extension=trader).
Der Rückgabe-Array kann numerisch indiziert sein und muss nicht zwingend dieselben Schlüssel wie das Eingabe-Array behalten — dies ist ein bekanntes Verhalten der TRADER-Funktionen. Es empfiehlt sich, den Rückgabewert mit array_values() neu zu indizieren, wenn eine lückenlose 0-basierte Indizierung benötigt wird.
Für einzelne Skalarwerte sollte die native PHP-Funktion tanh() bevorzugt werden, da trader_tanh primär für die effiziente Verarbeitung ganzer Zeitreihen ausgelegt ist.