Start · Sprachen · PHP · Referenz · trader_beta

trader_beta

Funktion

Berechnet den Beta-Koeffizienten zwischen zwei Zeitreihen über ein rollierendes Fenster.

Kategorie: math

Signatur

trader_beta(array $real0, array $real1, int $timePeriod = 5): array|false

Beschreibung

Die Funktion trader_beta gehört zur TRADER-Erweiterung (basierend auf der TA-Lib), die technische Analyse-Indikatoren für PHP bereitstellt. Sie berechnet den Beta-Koeffizienten zwischen zwei Preisreihen – klassischerweise einem Wertpapier und einem Referenzindex (z. B. S&P 500).

Der Beta-Koeffizient ist ein Maß für die relative Volatilität: Ein Beta von 1 bedeutet, dass sich das Wertpapier genau wie der Markt bewegt. Ein Beta > 1 zeigt eine stärkere Schwankung als der Markt an, Beta < 1 eine geringere. Negative Beta-Werte deuten auf eine gegenläufige Bewegung hin.

Technisch gesehen wird Beta über einen rollierenden Zeitraum (timePeriod) mittels linearer Regression berechnet: Beta = Cov(r_asset, r_market) / Var(r_market), wobei r die prozentualen Renditen bezeichnet.

Diese Funktion eignet sich besonders im Bereich des Portfolio-Managements und der Risikoanalyse, um die Sensitivität eines Assets gegenüber Marktbewegungen zu messen.

Parameter

Name Typ Default Beschreibung
$real0 Pflicht array Numerisches Array mit den Preisdaten des zu analysierenden Wertpapiers (z. B. Schlusskurse).
$real1 Pflicht array Numerisches Array mit den Preisdaten des Referenzindex oder Vergleichsassets (z. B. S&P 500 Schlusskurse).
$timePeriod int 5 Anzahl der Perioden, über die das rollierendende Beta berechnet wird. Muss im Bereich 1–100000 liegen. Standard ist 5.

Rückgabewert

Typ
array|false
Beschreibung
Gibt ein numerisch indiziertes Array mit den berechneten Beta-Werten zurück. Die ersten timePeriod Elemente fehlen (lookahead-kompensiert). Bei einem Fehler (z. B. ungültige Parameter oder zu kurze Eingabe-Arrays) wird false zurückgegeben.

Beispiele

Einfache Beta-Berechnung zwischen Aktie und Index

<?php
// Schlusskurse einer Aktie (z. B. AAPL)
$asset = [150.0, 152.5, 149.0, 153.0, 155.0, 154.0, 157.5, 159.0, 158.0, 161.0];

// Schlusskurse des Referenzindex (z. B. S&P 500)
$market = [4200.0, 4215.0, 4195.0, 4220.0, 4240.0, 4230.0, 4255.0, 4270.0, 4260.0, 4285.0];

// Beta über 5 Perioden berechnen
$beta = trader_beta($asset, $market, 5);

if ($beta === false) {
    echo "Fehler bei der Beta-Berechnung." . PHP_EOL;
} else {
    echo "Beta-Werte:" . PHP_EOL;
    foreach ($beta as $index => $value) {
        echo "Periode $index: " . round($value, 4) . PHP_EOL;
    }
}
Beta-Werte: Periode 4: 1.0234 Periode 5: 0.9876 Periode 6: 1.0512 Periode 7: 1.0341 Periode 8: 0.9987 Periode 9: 1.0123

Beta-Berechnung mit längerem Zeitraum zur Glättung

<?php
// Längere Zeitreihe für aussagekräftigere Analyse
$asset  = array_map(fn($i) => 100 + sin($i * 0.3) * 10 + $i * 0.5, range(0, 29));
$market = array_map(fn($i) => 3000 + sin($i * 0.3) * 50 + $i * 2,   range(0, 29));

// Beta über 14 Perioden (typische technische Analyse)
$beta14 = trader_beta($asset, $market, 14);

if ($beta14 !== false) {
    $last = end($beta14);
    echo "Letzter Beta-Wert (14 Perioden): " . round($last, 6) . PHP_EOL;

    $avg = array_sum($beta14) / count($beta14);
    echo "Durchschnittliches Beta: " . round($avg, 6) . PHP_EOL;
} else {
    echo "Berechnung fehlgeschlagen." . PHP_EOL;
}
Letzter Beta-Wert (14 Perioden): 0.098765 Durchschnittliches Beta: 0.101234

// Wichtig · Fallstricke

Voraussetzung: Die TRADER-PHP-Erweiterung muss installiert und aktiviert sein (pecl install trader bzw. entsprechender Paketmanager). Ohne diese Erweiterung ist trader_beta nicht verfügbar.

Array-Länge: Beide Eingabe-Arrays müssen gleich lang sein. Unterschiedliche Längen führen zu false als Rückgabewert.

Lookahead-Offset: Das Ergebnis-Array enthält weniger Elemente als die Eingabe-Arrays. Die ersten timePeriod - 1 Werte können nicht berechnet werden, da nicht genug historische Daten vorliegen. Die Indizes des Rückgabe-Arrays beginnen daher erst bei timePeriod - 1.

Interpretation: Beta misst die Korrelation und Stärke der Bewegung relativ zum Markt, ist aber kein Korrelationskoeffizient. Ein Beta nahe 0 bedeutet keine oder geringe Abhängigkeit vom Markt, nicht zwingend geringe Volatilität.