Signatur
Beschreibung
trader_ln ist Teil der TRADER-Erweiterung für PHP, die technische Analyse-Funktionen aus der TA-Lib-Bibliothek bereitstellt. Die Funktion wendet den natürlichen Logarithmus (Basis e) elementweise auf jeden Wert des übergebenen Zahlenarrays an und gibt das transformierte Array zurück.
Der natürliche Logarithmus wird in der Finanzanalyse häufig eingesetzt, um Preisreihen zu transformieren, Renditen zu berechnen oder die Volatilität zu normalisieren. Auch in der Datenverarbeitung ist er nützlich, wenn Werte in einen logarithmischen Maßstab überführt werden sollen.
Wichtig: Alle Eingabewerte müssen positiv und ungleich null sein, da der natürliche Logarithmus für nicht-positive Zahlen undefiniert ist. Das Ergebnis-Array kann weniger Elemente als das Eingabe-Array enthalten, da TRADER-Funktionen intern einen sogenannten Lookback-Offset anwenden (bei dieser Funktion in der Regel 0).
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $real Pflicht | array | Eingabe-Vektor mit numerischen Werten (z. B. Schlusskurse). Alle Werte müssen positiv sein (> 0), da ln(x) nur für positive x definiert ist. |
Rückgabewert
false zurückgegeben.Beispiele
Natürlichen Logarithmus auf Aktienkurse anwenden
<?php
// Beispielhafte Schlusskurse einer Aktie
$closePrices = [100.0, 105.5, 110.0, 108.3, 115.0];
$result = trader_ln($closePrices);
if ($result === false) {
echo 'Fehler bei der Berechnung.';
} else {
foreach ($result as $index => $value) {
echo "ln({$closePrices[$index]}) = " . round($value, 6) . PHP_EOL;
}
}
Logarithmische Renditen berechnen
<?php
// Schlusskurse
$prices = [50.0, 52.0, 51.5, 54.0, 53.5];
// Natürlicher Logarithmus aller Kurse
$logPrices = trader_ln($prices);
if ($logPrices === false) {
echo 'Fehler bei der Berechnung.';
} else {
// Logarithmische Renditen = Differenz aufeinanderfolgender ln-Werte
$logReturns = [];
$values = array_values($logPrices);
for ($i = 1; $i < count($values); $i++) {
$logReturns[] = round($values[$i] - $values[$i - 1], 6);
}
echo "Logarithmische Renditen:" . PHP_EOL;
print_r($logReturns);
}
// Wichtig · Fallstricke
Voraussetzung: Die TRADER-Erweiterung (php_trader) muss installiert und in der php.ini aktiviert sein. Sie ist nicht standardmäßig in PHP enthalten und basiert auf der TA-Lib.
Achtung: Enthält das Eingabe-Array Werte kleiner oder gleich 0, kann die Funktion false zurückgeben oder unerwartete Ergebnisse liefern. Validiere die Eingabedaten daher stets vor dem Aufruf.
Das zurückgegebene Array verwendet möglicherweise nicht die ursprünglichen Schlüssel des Eingabe-Arrays — verwende array_values(), wenn du einen fortlaufenden numerischen Index benötigst.