Signatur
Beschreibung
trader_tsf ist Teil der TRADER-Erweiterung für PHP (basierend auf TA-Lib) und berechnet die Zeitreihenprognose (englisch: Time Series Forecast). Die Funktion führt eine lineare Regression über einen gleitenden Zeitraum durch und gibt für jeden Datenpunkt den projizierten nächsten Wert der Regressionsgerade zurück – also den Wert, der einen Schritt in der Zukunft liegt.
Im Gegensatz zu einer einfachen linearen Regression über den gesamten Datensatz verschiebt trader_tsf das Berechnungsfenster der Länge timePeriod fortlaufend über die Zeitreihe. Damit eignet sich die Funktion besonders zur technischen Analyse von Finanzdaten (z. B. Aktienkurse), um kurzfristige Trendprognosen zu erstellen.
Der Rückgabewert ist ein Array, das an den Ausgangspositionen, die nicht berechnet werden können (erste timePeriod - 1 Einträge), leer bleibt. Die gültigen Ergebnisse starten beim Index timePeriod - 1 des Eingabe-Arrays.
- Sinnvoll in Kombination mit anderen TA-Lib-Indikatoren wie
trader_linearregodertrader_linearreg_slope. - Nützlich, um kurzfristige Preisziele in automatisierten Handelssystemen zu berechnen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $real Pflicht | array | Eingabe-Array mit numerischen Werten (z. B. Schlusskurse einer Aktie). Die Werte müssen in chronologischer Reihenfolge vorliegen. | |
| $timePeriod | int | 14 | Anzahl der Datenpunkte, über die das Regressionsfenster berechnet wird. Muss im Bereich 2–100000 liegen. Standardwert ist 14. |
Rückgabewert
timePeriod - 1 Elemente des Arrays enthalten keine gültigen Werte. Bei einem Fehler (z. B. ungültige Parameter oder fehlgeschlagene Berechnung) wird false zurückgegeben.Beispiele
Einfache Zeitreihenprognose für Schlusskurse
<?php
// Beispiel: Schlusskurse der letzten Tage
$closePrices = [44.34, 44.09, 44.15, 43.61, 44.33, 44.83, 45.10, 45.15, 43.61, 44.33, 44.83, 45.10, 45.15, 45.98, 46.92, 46.75];
// Zeitreihenprognose mit Zeitraum 5
$result = trader_tsf($closePrices, 5);
if ($result === false) {
echo 'Fehler bei der Berechnung.';
} else {
foreach ($result as $index => $value) {
printf("Index %2d: %s\n", $index, $value !== null ? number_format($value, 4) : 'n/a');
}
}
?>
Vergleich verschiedener Zeiträume
<?php
$closePrices = [10, 12, 14, 13, 15, 17, 16, 18, 20, 19, 21, 23, 22, 24, 26, 25];
$periods = [3, 5, 7];
foreach ($periods as $period) {
$result = trader_tsf($closePrices, $period);
if ($result !== false) {
$lastKey = array_key_last($result);
printf(
"Zeitraum %d: Letzter Prognosewert = %.4f\n",
$period,
$result[$lastKey]
);
}
}
?>
// Wichtig · Fallstricke
Erweiterung erforderlich: trader_tsf setzt die installierte und aktivierte PHP-Erweiterung trader voraus. Diese kann über PECL installiert werden: pecl install trader. Ohne die Erweiterung ist die Funktion nicht verfügbar.
Eingabe-Validierung: Das Eingabe-Array sollte ausschließlich numerische Werte enthalten. Nicht-numerische Werte oder zu wenige Datenpunkte (weniger als timePeriod) führen zu false als Rückgabewert oder einem leeren Ergebnis-Array.
Indexversatz beachten: Die gültigen Ergebnisse beginnen erst ab Index timePeriod - 1. Bei der Weiterverarbeitung der Ergebnisse sollte dieser Versatz berücksichtigt werden, um Fehler durch nicht initialisierte Felder zu vermeiden.