Start · Sprachen · PHP · Referenz · trader_exp

trader_exp

Funktion

Berechnet die natürliche Exponentialfunktion (e^x) für jeden Wert eines Arrays (Vektors) mittels der TRADER-Bibliothek.

Kategorie: math

Signatur

trader_exp(array $real): array|false

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

Typ
array|false
Beschreibung
Gibt bei Erfolg ein Array mit den berechneten Exponentialwerten (e^x) für jeden Eingabewert zurück. Bei einem Fehler wird 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);
    }
}
e^4.605 = 100.0073 e^4.700 = 110.2317 e^4.812 = 122.9528 e^4.927 = 138.1399 e^5.010 = 150.0000

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);
    }
}
Startpreis: 100 Tag 1: Faktor=1.012073, Preis=101.2073 Tag 2: Faktor=0.995012, Preis=100.7036 Tag 3: Faktor=1.034585, Preis=104.1842 Tag 4: Faktor=1.008032, Preis=105.0207 Tag 5: Faktor=0.979212, Preis=102.8387

// 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.