Start · Sprachen · PHP · Referenz · trader_mom

trader_mom

Funktion

Berechnet das Momentum (MOM) einer Zeitreihe über einen angegebenen Zeitraum und gibt ein Array mit den Momentum-Werten zurück.

Kategorie: math

Signatur

trader_mom(array $real, int $timePeriod = 10): array|false

Beschreibung

trader_mom gehört zur PECL-Erweiterung trader, die eine PHP-Anbindung an die TA-Lib (Technical Analysis Library) darstellt. Die Funktion berechnet das Momentum (MOM) einer Preiszeitreihe. Das Momentum misst die Geschwindigkeit der Preisveränderung, indem es den aktuellen Wert mit dem Wert vor $timePeriod Perioden vergleicht: MOM = Close[i] – Close[i – timePeriod].

Das Momentum ist einer der einfachsten Indikatoren der technischen Analyse und wird häufig verwendet, um Trends zu bestätigen oder Trendwenden zu erkennen. Ein positiver Momentum-Wert deutet auf steigende Preise hin, ein negativer auf fallende. Übersteigt das Momentum eine Nulllinie, gilt dies als Kaufsignal; unterschreitet es sie, als Verkaufssignal.

Die Funktion liefert ein Array, das am Anfang kürzer ist als das Eingabe-Array, da für die ersten $timePeriod Einträge kein Vergleichswert existiert. Die Schlüssel im Rückgabe-Array sind so verschoben, dass sie den Indizes im Originalarray entsprechen.

  • Geeignet für Aktien-, Forex- und Krypto-Kursdaten.
  • Oft in Kombination mit gleitenden Durchschnitten (z. B. trader_ema) verwendet.
  • Unterscheidet sich vom Rate of Change (ROC), der das Momentum als prozentualen Wert ausdrückt.

Parameter

Name Typ Default Beschreibung
$real Pflicht array Eindimensionales Array mit numerischen Preisdaten (z. B. Schlusskurse) in chronologischer Reihenfolge.
$timePeriod int 10 Anzahl der Perioden, über die das Momentum berechnet wird. Muss mindestens 1 betragen. Typische Werte sind 10 oder 14.

Rückgabewert

Typ
array|false
Beschreibung
Gibt ein Array mit den berechneten Momentum-Werten zurück. Die Array-Schlüssel korrespondieren mit den Positionen im Eingabe-Array (die ersten timePeriod Einträge fehlen). Bei einem Fehler (z. B. ungültige Parameter oder fehlende trader-Extension) wird false zurückgegeben.

Beispiele

Einfache Momentum-Berechnung mit Standardperiode

<?php
// Beispiel-Schlusskurse (z. B. einer Aktie)
$closes = [10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22];

$momentum = trader_mom($closes, 10);

if ($momentum === false) {
    echo 'Fehler bei der Berechnung.';
} else {
    foreach ($momentum as $index => $value) {
        echo "Index $index: Momentum = $value\n";
    }
}
Index 10: Momentum = 10 Index 11: Momentum = 10 Index 12: Momentum = 10

Momentum mit kürzerer Periode und realen OHLCV-Daten

<?php
// Schlusskurse der letzten Handelstage
$closes = [100.5, 101.2, 99.8, 102.0, 103.5, 104.0, 103.0, 105.5, 106.0, 107.2, 108.0];

// Momentum über 5 Perioden
$momentum = trader_mom($closes, 5);

if ($momentum !== false) {
    foreach ($momentum as $i => $val) {
        $richtung = $val >= 0 ? 'aufwärts' : 'abwärts';
        printf("Periode %d: MOM = %.2f (%s)\n", $i, $val, $richtung);
    }
}
Periode 5: MOM = 3.50 (aufwärts) Periode 6: MOM = 1.80 (aufwärts) Periode 7: MOM = 5.70 (aufwärts) Periode 8: MOM = 3.50 (aufwärts) Periode 9: MOM = 3.20 (aufwärts) Periode 10: MOM = 4.50 (aufwärts)

// Wichtig · Fallstricke

Voraussetzung: Die PECL-Erweiterung trader muss installiert und in der php.ini aktiviert sein (extension=trader). Installation via pecl install trader.

Vorsicht bei der Indexverschiebung: Das Rückgabe-Array beginnt erst ab Index $timePeriod. Wer mit array_values() re-indiziert, verliert die Zuordnung zum ursprünglichen Datenpunkt.

Unterschied zu ROC: Das Momentum liefert einen absoluten Differenzwert. Für einen prozentualen Vergleich zwischen verschiedenen Instrumenten empfiehlt sich stattdessen trader_roc oder trader_rocp.