Signatur
Beschreibung
trader_asin ist Teil der TRADER-Erweiterung (Technical Analysis for Traders) und berechnet den Arkussinus – also die Umkehrfunktion des Sinus – für jeden einzelnen Wert des übergebenen Eingabe-Arrays. Das Ergebnis wird in Radiant zurückgegeben.
Die Funktion ist besonders nützlich in der technischen Analyse von Finanzdaten, wenn trigonometrische Transformationen auf Zeitreihenvektoren angewendet werden müssen. Sie verhält sich wie die mathematische Funktion asin(), arbeitet jedoch vektorisiert über alle Elemente des Arrays.
Der Eingabewert jedes Elements muss im Bereich [-1, 1] liegen, da der Arkussinus außerhalb dieses Bereichs nicht definiert ist. Werte außerhalb dieses Bereichs führen zu NAN im Ergebnis-Array. Das zurückgegebene Array enthält dieselbe Anzahl an Elementen wie das Eingabe-Array, wobei die Indizes beibehalten werden.
Die TRADER-Erweiterung muss in PHP kompiliert oder als PECL-Paket installiert sein, damit trader_asin verfügbar ist.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $real Pflicht | array | Ein numerisches Array mit Gleitkommazahlen, für die der Arkussinus berechnet werden soll. Jeder Wert muss im Bereich [-1.0, 1.0] liegen. |
Rückgabewert
false zurückgegeben.Beispiele
Arkussinus eines einfachen Vektors berechnen
<?php
// Einfaches Beispiel: Arkussinus für typische Sinus-Werte
$values = [0.0, 0.5, 1.0, -0.5, -1.0];
$result = trader_asin($values);
if ($result !== false) {
foreach ($result as $index => $val) {
printf("asin(%.2f) = %.6f rad\n", $values[$index], $val);
}
} else {
echo "Fehler bei der Berechnung.\n";
}
Verwendung in der technischen Analyse mit normalisierten Zeitreihenwerten
<?php
// Normalisierte Zeitreihenwerte (z. B. Korrelationswerte zwischen -1 und 1)
$correlations = [0.95, 0.80, 0.60, 0.10, -0.30, -0.75, -0.99];
$asinValues = trader_asin($correlations);
if ($asinValues !== false) {
echo "Arkussinus-Transformation der Korrelationswerte:\n";
foreach ($asinValues as $i => $val) {
printf(" Korrelation: %+.2f => asin: %+.4f rad (%+.2f Grad)\n",
$correlations[$i],
$val,
rad2deg($val)
);
}
} else {
echo "Berechnung fehlgeschlagen.\n";
}
// Wichtig · Fallstricke
Wertebereich: Eingabewerte außerhalb von [-1.0, 1.0] sind mathematisch ungültig für den Arkussinus. Die TRADER-Erweiterung kann in diesem Fall NAN (Not a Number) für die entsprechenden Elemente zurückgeben oder false für das gesamte Ergebnis liefern.
Voraussetzung: Die TRADER-Erweiterung (pecl install trader) muss installiert und in der php.ini aktiviert sein (extension=trader). Ohne diese Erweiterung ist die Funktion nicht verfügbar und führt zu einem Fatal Error.
Rückgabe in Radiant: Die Ergebnisse werden standardmäßig in Radiant zurückgegeben. Für eine Umrechnung in Grad kann rad2deg() verwendet werden.