Signatur
Beschreibung
trader_minindex ist Teil der TRADER-Erweiterung für PHP, die auf der TA-Lib (Technical Analysis Library) basiert. Die Funktion durchsucht ein Array von Kurs- oder Messdaten und gibt für jede Position den Index (nicht den Wert selbst) des niedrigsten Elements innerhalb des angegebenen Zeitfensters zurück.
Im Gegensatz zu trader_min, das den tatsächlichen Minimalwert zurückliefert, liefert trader_minindex die Position (Index) dieses Minimums im ursprünglichen Eingabe-Array. Das ist besonders nützlich, wenn man wissen möchte, wann ein Tief erreicht wurde – z. B. bei der Analyse von Kursverläufen oder Zeitreihen.
Typische Anwendungsgebiete sind die technische Analyse von Finanzmarktdaten, bei der man beispielsweise den Zeitpunkt eines Kurstiefpunkts innerhalb eines Beobachtungszeitraums bestimmen möchte. Das Ergebnis-Array hat weniger Elemente als das Eingabe-Array, da für die ersten timePeriod - 1 Elemente kein vollständiges Fenster vorliegt.
- Das Ergebnis-Array beginnt erst ab dem Index
timePeriod - 1des Eingabe-Arrays. - Die zurückgegebenen Indizes beziehen sich auf das ursprüngliche Eingabe-Array
$real. - Für gleichwertige Minima wird der Index des zuletzt aufgetretenen (rechtesten) Minimums zurückgegeben.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $real Pflicht | array | Eindimensionales Array mit numerischen Eingabedaten (z. B. Schlusskurse, Messwerte). Alle Elemente sollten vom Typ float oder int sein. |
|
| $timePeriod | int | 30 | Anzahl der Perioden (Fenstergröße), über die der Index des Minimums gesucht wird. Muss mindestens 2 sein. Standardwert ist 30. |
Rückgabewert
timePeriod - 1). Bei einem Fehler (z. B. ungültige Parameter oder fehlende TRADER-Extension) wird false zurückgegeben.Beispiele
Grundlegende Verwendung mit Kursdaten
<?php
// Beispiel-Schlusskurse einer Aktie
$closes = [45.0, 43.5, 42.0, 44.5, 41.0, 43.0, 40.5, 42.5, 44.0, 43.0];
// Index des Minimums über ein Fenster von 3 Perioden
$result = trader_minindex($closes, 3);
if ($result === false) {
echo "Fehler bei der Berechnung.\n";
} else {
foreach ($result as $pos => $minIdx) {
echo "Position $pos: Minimum-Index = $minIdx (Wert: {$closes[$minIdx]})\n";
}
}
Tiefpunkt-Datum aus Zeitreihe ermitteln
<?php
// Kursdaten mit zugehörigen Datumsangaben
$dates = ['2024-01-01','2024-01-02','2024-01-03','2024-01-04','2024-01-05'];
$prices = [100.0, 98.5, 95.0, 97.0, 96.0];
$timePeriod = 3;
$indices = trader_minindex($prices, $timePeriod);
if ($indices !== false) {
foreach ($indices as $pos => $minIdx) {
echo "Fenster endet am {$dates[$pos]}: Tiefstkurs war am {$dates[$minIdx]} mit {$prices[$minIdx]} EUR\n";
}
}
// Wichtig · Fallstricke
Voraussetzung: Die PHP-TRADER-Erweiterung muss installiert und aktiviert sein (pecl install trader). Ohne diese Erweiterung ist die Funktion nicht verfügbar.
Das zurückgegebene Array enthält weniger Einträge als das Eingabe-Array — die ersten timePeriod - 1 Positionen werden nicht berechnet, da kein vollständiges Fenster vorhanden ist. Die Schlüssel des Ergebnis-Arrays starten entsprechend bei timePeriod - 1.
Bei gleichgroßen Minima innerhalb eines Fensters gibt TA-Lib in der Regel den Index des zuletzt aufgetretenen Minimums zurück. Dieses Verhalten ist implementierungsabhängig und kann sich von anderen Bibliotheken unterscheiden.
Für die Suche nach dem tatsächlichen Minimalwert (nicht dem Index) steht trader_min zur Verfügung.