Signatur
Beschreibung
trader_exp ist Teil der PHP-Erweiterung TRADER (Technical Analysis for Traders), die auf der TA-Lib basiert. Die Funktion wendet die mathematische Exponentialfunktion e^x elementweise auf ein Array von Gleitkommazahlen an und gibt ein neues Array mit den berechneten Ergebnissen zurück.
Die Exponentialfunktion ist eine grundlegende mathematische Operation, die in der technischen Analyse, in Finanzberechnungen und in wissenschaftlichen Kontexten eingesetzt wird. Sie ist zum Beispiel nützlich, wenn logarithmisch transformierte Preisdaten zurücktransformiert werden müssen oder wenn exponentiell gewichtete Werte berechnet werden sollen.
Das Eingabe-Array sollte ausschließlich numerische Werte (Gleitkommazahlen) enthalten, wie sie typischerweise als OHLC-Preisdaten vorliegen. Das Ergebnis-Array besitzt in der Regel den gleichen Index-Offset wie das Eingabe-Array, wobei TRADER-Funktionen intern einen sogenannten Lookback-Wert verwenden, der für trader_exp bei 0 liegt – also werden alle Eingabewerte verarbeitet.
Die Funktion gibt bei Erfolg ein numerisch indiziertes Array zurück. Im Fehlerfall (z. B. bei ungültigen Eingaben) wird false zurückgegeben. Um detaillierte Fehlerinformationen zu erhalten, kann trader_errno() verwendet werden.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $real Pflicht | array | Ein Array von numerischen Gleitkommazahlen, auf das die Exponentialfunktion elementweise angewendet wird. Typischerweise Preisdaten einer Zeitreihe (z. B. Schlusskurse). |
Rückgabewert
false zurückgegeben. Das zurückgegebene Array beginnt bei Index 0 und hat die gleiche Länge wie das Eingabe-Array.Beispiele
Einfache Anwendung auf Preisdaten
<?php
// Beispiel: Exponentialfunktion auf logarithmierte Schlusskurse anwenden
$logPrices = [4.605, 4.700, 4.812, 4.927, 5.010];
$result = trader_exp($logPrices);
if ($result === false) {
echo 'Fehler: ' . trader_errno();
} else {
foreach ($result as $index => $value) {
printf("e^%.3f = %.4f\n", $logPrices[$index], $value);
}
}
Rücktransformation von log-transformierten Renditen
<?php
// Log-Renditen zurück in einfache Preisänderungsfaktoren transformieren
$logReturns = [0.012, -0.005, 0.034, 0.008, -0.021];
$factors = trader_exp($logReturns);
if ($factors !== false) {
$startPrice = 100.00;
$price = $startPrice;
echo "Startpreis: $price" . PHP_EOL;
foreach ($factors as $i => $factor) {
$price *= $factor;
printf("Tag %d: Faktor=%.6f, Preis=%.4f\n", $i + 1, $factor, $price);
}
}
// Wichtig · Fallstricke
Voraussetzung: Die TRADER-Erweiterung muss installiert und in der php.ini aktiviert sein (extension=trader). Sie ist nicht standardmäßig in PHP enthalten und muss über PECL nachinstalliert werden: pecl install trader.
Fehlerbehandlung: Verwende trader_errno(), um den genauen Fehlercode abzurufen, wenn trader_exp false zurückgibt. Häufige Fehlerursachen sind leere Arrays oder Arrays mit nicht-numerischen Werten.
Indexierung: Das Ergebnis-Array beginnt immer bei Index 0, unabhängig von den Schlüsseln des Eingabe-Arrays. Assoziative Arrays werden intern als numerisch sequenzielle Arrays behandelt.