Zurück zum Blog

Was ist ein Pip im Forex? Ein Entwicklerleitfaden zu Pips, Pipettes und FX-Mathematik (2026)

V
Vlado Grigirov
May 10, 2026
Currency API Exchange Rates Forex Education Developer Guide Pips Finexly

Was ist ein Pip im Forex? Ein Entwicklerleitfaden zu Pips, Pipettes und FX-Mathematik (2026)

Wenn Sie einen Trading-Bot, einen Positionsgrößenrechner, ein Risiko-Dashboard oder irgendein FX-bewusstes Produkt bauen, stoßen Sie schnell auf die Frage: Was ist ein Pip im Forex und wie berechne ich seinen Wert im Code? Wenn Sie das falsch machen, ist Ihre P&L falsch, Ihre Stop-Losses werden auf falschen Niveaus ausgelöst, und Ihre Nutzer werden nicht geduldig sein.

Dieser Leitfaden erklärt Pips, Pipettes und die vollständige Pip-Wert-Formel aus der Sicht eines Entwicklers — mit gelösten Beispielen und kopierfertigem Code in JavaScript, Python, PHP und cURL. Am Ende haben Sie einen funktionierenden Pip-Rechner, der Echtzeit-Kurse aus der Finexly-API-Dokumentation zieht und jeden Sonderfall behandelt, den Lehrbücher übersehen.

Was ist ein Pip? Die schnelle Definition

Ein Pip (kurz für "Percentage in Point" oder "Price Interest Point") ist das kleinste standardisierte Preisinkrement für ein Währungspaar. Bei den meisten Paaren ist das die vierte Dezimalstelle der Notierung — eine Bewegung von 0.0001. Bei in japanischen Yen notierten Paaren ist es die zweite Dezimalstelle — eine Bewegung von 0.01.

Konkrete Beispiele:

  • EUR/USD bewegt sich von 1.0850 auf 1.08511 Pip (0.0001 USD pro EUR Veränderung).
  • GBP/USD bewegt sich von 1.2640 auf 1.265515 Pips.
  • USD/JPY bewegt sich von 154.20 auf 154.3010 Pips (0.10 JPY pro USD Veränderung).
  • AUD/JPY bewegt sich von 99.45 auf 99.40−5 Pips.

Das Pip ist die universelle Einheit des FX-Marktes für "Wie weit hat sich der Preis bewegt?" — viel nützlicher als rohe Dezimalstellen, weil es die Konversation über Paare mit sehr unterschiedlichen absoluten Preisniveaus normalisiert.

Pips vs Pipettes vs Points

Moderne Broker und Datenanbieter notieren Kurse mit einer Dezimalstelle über dem Standard-Pip hinaus. Diese zusätzliche Ziffer wird Pipette, fraktionaler Pip oder einfach Point genannt. Ein Pipette entspricht einem Zehntel eines Pips.

PaarPip-GrößePipette-GrößeBeispielnotierung
EUR/USD0.00010.000011.08507
GBP/USD0.00010.000011.26482
USD/JPY0.010.001154.215
EUR/JPY0.010.001167.482
Wenn ein Broker EUR/USD als 1.08507 anzeigt, ist die abschließende 7 das Pipette — auf einer Trading-Plattform meist kleiner oder hochgestellt dargestellt. Als Entwickler müssen Sie diese Unterscheidung sorgfältig behandeln: Wenn Sie Preisunterschiede mit String-Arithmetik auf Notierungen berechnen, die Pipettes enthalten, unterschätzen Sie Pip-Bewegungen um den Faktor 10, sofern Sie nicht korrekt skalieren.

Eine sichere Regel: Immer auf einen numerischen Typ normalisieren, dann mit der Pip-Größen-Konstante für dieses Paar multiplizieren oder dividieren.

Warum sich Pip-Größen zwischen Währungspaaren unterscheiden

Das zwei-dezimalige Pip für JPY-Paare ist keine willkürliche Wahl. Der japanische Yen hat im Vergleich zu den meisten Reservewährungen einen kleinen Einheitswert — etwa 1 USD ≈ 154 JPY in 2026 — sodass Notierungen auf vier Dezimalstellen kosmetisch winzige Preisbewegungen und unleserliche Preisleitern auf Trading-Bildschirmen erzeugen würden. Das Abschneiden auf zwei Dezimalstellen hält die Preisbewegung visuell proportional zu anderen Hauptpaaren.

Dieselbe Logik gilt für eine Handvoll anderer "Niedrigwert-Quote"-Währungen (koreanischer Won, ungarischer Forint usw.) — sie werden oft mit Pip-Größen von 0.01 oder 1 notiert. Wenn Sie ein Multi-Paar-System bauen, kodieren Sie niemals 0.0001 als Ihre Pip-Größen-Konstante hart. Schlagen Sie sie immer pro Paar nach.

Eine pragmatische Erkennungsregel, die für die meisten Paare funktioniert:

function getPipSize(pair) {
  // pair example: "EURUSD" or "EUR/USD"
  const quote = pair.replace("/", "").slice(3, 6).toUpperCase();
  const twoDecimalQuotes = new Set(["JPY", "HUF", "KRW"]);
  return twoDecimalQuotes.has(quote) ? 0.01 : 0.0001;
}

console.log(getPipSize("EURUSD")); // 0.0001
console.log(getPipSize("USD/JPY")); // 0.01
console.log(getPipSize("EURHUF")); // 0.01

Für ein Produktionssystem benötigen Sie eine vollständige Pip-Größen-Tabelle, indiziert nach ISO-4217-Währungscodes — siehe unseren vollständigen Entwicklerleitfaden zu ISO-4217-Währungscodes für die vollständige Liste.

Die Pip-Wert-Formel

Die Kernfrage für jede P&L-Berechnung: Bei einer Position von N Einheiten der Basiswährung — wie stark verändert sich mein Kontostand, wenn sich das Paar um ein Pip bewegt?

Die allgemeine Formel:

pip_value_in_quote_currency = pip_size × position_size
pip_value_in_account_currency = pip_value_in_quote_currency × (quote_to_account_rate)

Drei Fälle, je nachdem, wie sich Ihre Kontowährung zum gehandelten Paar verhält.

Fall 1: Kontowährung = Quote-Währung

Der einfachste Fall. Wenn Sie EUR/USD auf einem USD-Konto handeln, ist jedes Pip einen festen Dollarbetrag wert, ohne weitere Umrechnung.

pip_value = pip_size × position_size

Für 100,000 Einheiten (ein Standard-Lot) EUR/USD auf einem USD-Konto:

0.0001 × 100,000 = 10 USD pro Pip

Das ist das überall zitierte "10 $ pro Pip pro Standard-Lot" aus dem Lehrbuch — es gilt nur, wenn die Quote-Währung mit der Kontowährung übereinstimmt.

Fall 2: Kontowährung = Basiswährung

Wenn Sie USD/CHF auf einem USD-Konto handeln, ist die Pip-Bewegung in CHF denominiert und muss zum aktuellen Ask-Kurs des Paares zurück in USD umgerechnet werden.

pip_value_in_quote = pip_size × position_size
pip_value_in_account = pip_value_in_quote / current_rate

Für 100,000 Einheiten USD/CHF, wenn USD/CHF = 0.9050:

0.0001 × 100,000 = 10 CHF
10 CHF / 0.9050 = 11.05 USD pro Pip

Fall 3: Cross-Paar (Keine Seite ist die Kontowährung)

Der schwierigste Fall. Sie handeln EUR/JPY auf einem USD-Konto. Die Pip-Bewegung ist in JPY, und um sie in USD auszudrücken, brauchen Sie einen Umrechnungskurs zwischen JPY und USD.

pip_value_in_quote = pip_size × position_size
pip_value_in_account = pip_value_in_quote × (account_per_quote_rate)

Für 100,000 Einheiten EUR/JPY, wenn USD/JPY = 154.20:

0.01 × 100,000 = 1,000 JPY
1,000 JPY / 154.20 = 6.49 USD pro Pip

Beachten Sie, dass wir den USD/JPY-Kurs verwendet haben, nicht den EUR/JPY-Kurs, weil wir von JPY nach USD umrechnen, nicht von EUR zu irgendetwas.

Einen Pip-Rechner mit der Finexly-API bauen

Verbinden wir die obige Formel mit einer echten, lebendigen Wechselkurs-API, damit der Rechner präzise bleibt, wenn sich der Markt bewegt. Registrieren Sie sich bei Finexly für einen kostenlosen API-Key — 1,000 Anfragen/Monat ohne Karte erforderlich, mehr als genug für einen Rechner wie diesen. Die vollständige Anfrage-Referenz steht in der Finexly-API-Dokumentation.

JavaScript (Node.js)

const FINEXLY_API_KEY = process.env.FINEXLY_API_KEY;
const BASE_URL = "https://finexly.com/api";

// Two-decimal-pip currencies. Extend as needed.
const TWO_DECIMAL_PIP_QUOTES = new Set(["JPY", "HUF", "KRW"]);

function pipSize(quoteCcy) {
  return TWO_DECIMAL_PIP_QUOTES.has(quoteCcy) ? 0.01 : 0.0001;
}

async function getRate(base, quote) {
  const res = await fetch(
    `${BASE_URL}/latest?base=${base}&symbols=${quote}&api_key=${FINEXLY_API_KEY}`
  );
  const json = await res.json();
  return json.rates[quote];
}

async function calcPipValue({ pair, positionSize, accountCcy }) {
  const base = pair.slice(0, 3).toUpperCase();
  const quote = pair.slice(3, 6).toUpperCase();
  const pip = pipSize(quote);
  const pipValueInQuote = pip * positionSize;

  if (accountCcy === quote) {
    return pipValueInQuote;
  }
  if (accountCcy === base) {
    const rate = await getRate(base, quote);
    return pipValueInQuote / rate;
  }
  // Cross: convert quote -> account via account/quote rate
  const rate = await getRate(accountCcy, quote);
  return pipValueInQuote / rate;
}

// Example: 100,000 units of EUR/JPY on a USD account
calcPipValue({
  pair: "EURJPY",
  positionSize: 100_000,
  accountCcy: "USD",
}).then((v) => console.log(`Pip value: ${v.toFixed(2)} USD`));

Python

import os
import requests

FINEXLY_API_KEY = os.environ["FINEXLY_API_KEY"]
BASE_URL = "https://finexly.com/api"
TWO_DECIMAL_PIP_QUOTES = {"JPY", "HUF", "KRW"}

def pip_size(quote_ccy: str) -> float:
    return 0.01 if quote_ccy in TWO_DECIMAL_PIP_QUOTES else 0.0001

def get_rate(base: str, quote: str) -> float:
    r = requests.get(
        f"{BASE_URL}/latest",
        params={"base": base, "symbols": quote, "api_key": FINEXLY_API_KEY},
        timeout=10,
    )
    r.raise_for_status()
    return r.json()["rates"][quote]

def calc_pip_value(pair: str, position_size: float, account_ccy: str) -> float:
    base, quote = pair[:3].upper(), pair[3:6].upper()
    pip = pip_size(quote)
    pip_in_quote = pip * position_size

    if account_ccy == quote:
        return pip_in_quote
    if account_ccy == base:
        return pip_in_quote / get_rate(base, quote)
    # Cross
    return pip_in_quote / get_rate(account_ccy, quote)

if __name__ == "__main__":
    value = calc_pip_value("EURJPY", 100_000, "USD")
    print(f"Pip value: {value:.2f} USD")

PHP

<?php
$apiKey = getenv('FINEXLY_API_KEY');
$baseUrl = 'https://finexly.com/api';
$twoDecimalPipQuotes = ['JPY', 'HUF', 'KRW'];

function pipSize(string $quoteCcy): float {
    global $twoDecimalPipQuotes;
    return in_array($quoteCcy, $twoDecimalPipQuotes, true) ? 0.01 : 0.0001;
}

function getRate(string $base, string $quote): float {
    global $apiKey, $baseUrl;
    $url = "$baseUrl/latest?base=$base&symbols=$quote&api_key=$apiKey";
    $body = file_get_contents($url);
    $data = json_decode($body, true);
    return $data['rates'][$quote];
}

function calcPipValue(string $pair, float $positionSize, string $accountCcy): float {
    $base = strtoupper(substr($pair, 0, 3));
    $quote = strtoupper(substr($pair, 3, 3));
    $pipInQuote = pipSize($quote) * $positionSize;

    if ($accountCcy === $quote) return $pipInQuote;
    if ($accountCcy === $base)  return $pipInQuote / getRate($base, $quote);
    return $pipInQuote / getRate($accountCcy, $quote);
}

echo number_format(calcPipValue('EURJPY', 100000, 'USD'), 2) . " USD\n";

cURL

Wenn Sie nur den Rohkurs für Ihre eigene Pip-Berechnung brauchen:

curl "https://finexly.com/api/latest?base=USD&symbols=JPY&api_key=YOUR_KEY"
# {"base":"USD","rates":{"JPY":154.20},"timestamp":1746...}

Dieser eine Kurs reicht aus, um eine JPY-Pip-Bewegung mit der obigen Formel in USD umzurechnen.

Häufige Pip-Mathematik-Fallen, in die Entwickler tappen

Pips sehen einfach aus. Die Bugs sind subtil. Fünf Dinge, auf die Sie achten sollten:

1. Floating-Point-Drift in der Pip-Arithmetik. 0.1 + 0.2 !== 0.3 in JavaScript, und dieselbe Familie von Problemen beißt Sie, wenn Sie Pip-P&L über viele Trades summieren. Für alles, was Produktion erreicht — besonders Finanzberechnungen — verwenden Sie intern ganzzahlige Pip-Zähler (multiplizieren Sie Preise mit 10_000 für Nicht-JPY-Paare und 100 für JPY-Paare) oder eine Dezimal-Bibliothek wie decimal.js oder Pythons decimal.Decimal.

2. 0.0001 als Pip-Größe hartkodieren. Das bricht jedes JPY-Paar in dem Moment, in dem ein Nutzer eines handelt. Schlagen Sie die Pip-Größe immer aus einer Tabelle pro Paar nach.

3. Pips mit Pipettes verwechseln beim Vergleich von Preisen. Eine 5-Dezimalstellen-EUR/USD-Notierung wie 1.08502 sieht aus wie 1.08502 Pip-Bewegung von 1.08501, aber es ist nur 1 Pipette = 0.1 Pip. Auf Floats normalisieren und durch die Pip-Größe dividieren.

4. Veraltete Kurse für die Konto-Währungs-Umrechnung in Fall 3 verwenden. Eine Pip-Wert-Berechnung für eine offene Position sollte den aktuellen Kurs verwenden, nicht den Kurs zum Zeitpunkt der Eröffnung. Wenn Sie Kurse cachen, setzen Sie TTLs kurz genug, damit die Umrechnung präzise bleibt — siehe Best Practices für Caching und Fehlerbehandlung in Currency-APIs für produktionserprobte Patterns.

5. Bid/Ask-Asymmetrie vergessen. Broker rechnen P&L mit Bid für das Schließen von Longs und Ask für das Schließen von Shorts um. Für einen Endnutzer-Rechner, der nur eine Schätzung braucht, reicht ein Mid-Kurs. Für ein Ausführungssystem nehmen Sie die passende Seite.

Für einen tieferen Blick auf den Bid/Ask-Split siehe unseren Artikel Spot-Kurs vs Forward-Kurs, und für Cross-Paar-Umrechnungen Cross-Wechselkurse erklärt.

Pip-Wert auf einen Blick: Häufige Paare

Für ein USD-denominiertes Konto mit einem Standard-Lot (100,000 Einheiten) hier typische Pip-Werte zu indikativen Mai-2026-Kursen. Behandeln Sie diese als Plausibilitätscheck, nicht als Dogma — ziehen Sie Live-Kurse aus dem Finexly-Währungsrechner oder der API für alles, was ein echtes Konto berührt.

PaarPip-GrößePip-Wert (1 Lot, USD-Konto)
EUR/USD0.000110.00 USD
GBP/USD0.000110.00 USD
USD/CHF0.0001~11.05 USD
USD/JPY0.01~6.49 USD
EUR/JPY0.01~6.49 USD
AUD/USD0.000110.00 USD
EUR/GBP0.0001~12.61 USD
Zwei Muster lohnt es sich als FX-Entwickler einzuprägen: In USD notierte Paare sind immer genau 10 $ pro Pip pro Standard-Lot wert, und in JPY notierte Paare schweben um die Hälfte davon, driftend mit USD/JPY.

Häufig gestellte Fragen

Was ist ein Pip im Forex in einfachen Worten? Ein Pip ist die kleinste standardisierte Bewegung im Preis eines Währungspaares — typischerweise die vierte Dezimalstelle bei den meisten Paaren (0.0001) und die zweite Dezimalstelle bei Yen-Paaren (0.01). Es ist die universelle Einheit des FX-Marktes für die Messung von Preisbewegung.

Wie berechne ich den Pip-Wert im Code? Multiplizieren Sie die Pip-Größe mit der Positionsgröße, um den Pip-Wert in der Quote-Währung zu erhalten, dann konvertieren Sie zu Ihrer Kontowährung mit dem aktuellen Wechselkurs. Die drei Fälle (Quote = Konto, Basis = Konto, Cross) sind in den JavaScript-, Python- und PHP-Beispielen oben gezeigt.

Was ist der Unterschied zwischen einem Pip und einem Pipette? Ein Pipette ist ein Zehntel eines Pips — die fraktionale Ziffer, die manche Broker und Daten-Feeds für engere Spreads hinzufügen. Wenn ein Pip in EUR/USD 0.0001 ist, ist ein Pipette 0.00001.

Warum ist ein Pip auf EUR/USD ungefähr 10 $ wert? Weil ein Standard-Lot 100,000 Einheiten ist und die Pip-Größe für Nicht-JPY-Paare 0.0001 beträgt. 100,000 × 0.0001 = 10 Einheiten der Quote-Währung. Wenn die Quote-Währung USD ist, sind das direkt 10 $.

Brauche ich eine kostenpflichtige API, um einen Pip-Rechner zu bauen? Nein. Finexlys kostenloser Plan gibt Ihnen 1,000 Anfragen pro Monat und deckt 170+ Währungen ab — genug für einen persönlichen Pip-Rechner oder ein Nebenprojekt mit niedrigem Traffic. Für höheres Volumen siehe unsere Preispläne.

Sind Pip-Größen bei Krypto-Paaren anders? Krypto-Paare folgen nicht der Standard-FX-Pip-Konvention. BTC/USD wird je nach Venue oft mit 2 oder 4 Dezimalstellen notiert, und "1 Pip" wird vom Venue definiert. Für reine Krypto-P&L arbeiten Sie mit absoluten Preisdifferenzen statt mit Pips.

Bereit zu bauen?

Sie haben jetzt die Formel, drei funktionierende Code-Beispiele und eine Liste der Bugs, die die meisten Leute beißen. Das letzte Stück sind Echtzeit-Kurse, die Ihnen mitten in der Berechnung nicht wegdriften.

Holen Sie sich Ihren kostenlosen Finexly-API-Key — keine Kreditkarte erforderlich. Starten Sie mit 1,000 kostenlosen Anfragen pro Monat, 170+ Währungen, Sub-50-ms-Latenz, und upgraden Sie nur, wenn Sie es brauchen. Ihr Pip-Rechner verdient Kurse, die so präzise sind wie die Mathematik dahinter.

Vlado Grigirov

Senior Currency Markets Analyst & Financial Strategist

Vlado Grigirov is a senior currency markets analyst and financial strategist with over 14 years of experience in foreign exchange markets, cross-border finance, and currency risk management. He has wo...

View full profile →

Diesen Artikel teilen