Der Aktienkurs bewegt sich in Sekundenbruchteilen – doch hinter jeder Preisbewegung steht ein komplexes Zusammenspiel aus Limit-Orders und Market-Orders, das Ökonomen als „Preisbildungsmechanismus" bezeichnen. In diesem Tutorial analysieren wir die technischen Grundlagen der Preisbildung und zeigen, wie Sie diese Mechanismen mit der HolySheep AI API programmatisch nutzen können.

Das Szenario: Warum Ihre Order zum falschen Preis ausgeführt wird

Stellen Sie sich folgendes Szenario vor: Sie analysieren Aktienkurse und platzieren eine Market-Order bei $142,50. Nach der Ausführung sehen Sie jedoch einen Durchschnittspreis von $142,78 – ein Slippages von 28 Cent. Oder worse: Ihre Limit-Order bei $141,00 wird nie ausgeführt, obwohl der Kurs laut Ihrer Oberfläche „darunter lag".

Dieses Phänomen erklärt sich durch die Limit Order Book Dynamics, die wir in diesem Artikel detailliert durchleuchten werden.

Was ist ein Orderbuch?

Ein Limit Order Book (LOB) ist ein elektronisches Register aller ausstehenden Kauf- (Bid) und Verkaufsorders (Ask) für ein bestimmtes Wertpapier, sortiert nach Preis und Zeitstempel.

// Orderbuch-Beispiel für eine Aktie
// Bid-Seite (Kaufdruck)                    Ask-Seite (Verkaufsdruck)
┌─────────────────────────┐  ┌─────────────────────────────────────┐
│ Price    │ Volumen │ Zeit│  │ Preis   │ Volumen │ Zeit           │
├─────────────────────────┤  ├─────────────────────────────────────┤
│ $142.50  │ 1.200   │ 09:32│  │ $142.55  │ 800     │ 09:33         │
│ $142.48  │ 2.500   │ 09:31│  │ $142.58  │ 1.500   │ 09:32         │
│ $142.45  │ 3.800   │ 09:30│  │ $142.60  │ 2.200   │ 09:31         │
│ $142.40  │ 5.000   │ 09:28│  │ $142.65  │ 900     │ 09:30         │
└─────────────────────────┘  └─────────────────────────────────────┘
         ▲ Spread: $0.05 (5 Cents)                    ▲

Der Bid-Ask-Spread von 5 Cents repräsentiert die Liquiditätskosten und spiegelt das Verhältnis zwischen Käufern und Verkäufern wider.

Preisbildungsmechanismen verstehen

2.1 Market Orders: Sofortige Liquidität, unsicherer Preis

Eine Market Order wird sofort zum nächsten verfügbaren Preis ausgeführt. Die Logik:

# Preisberechnung für Market Orders

Entnommen aus HolySheep AI Trading API

def calculate_market_order_cost(order_book, side, quantity): """ Berechnet die Gesamtkosten einer Market Order unter Berücksichtigung des Orderbuchs. """ if side == "buy": # Kaufe vom Ask (billigstes Angebot nach oben) levels = order_book["asks"] else: # Verkaufe an den Bid (höchstes Gebot nach unten) levels = order_book["bids"] remaining_qty = quantity total_cost = 0.0 fill_prices = [] for price, volume, timestamp in levels: if remaining_qty <= 0: break # Wie viel können wir auf diesem Level kaufen? fill_qty = min(remaining_qty, volume) total_cost += fill_qty * price fill_prices.append((price, fill_qty)) remaining_qty -= fill_qty avg_price = total_cost / (quantity - remaining_qty) slippage = abs(avg_price - levels[0][0]) if levels else 0 return { "average_price": avg_price, "total_cost": total_cost, "slippage": slippage, "fills": fill_prices, "unfilled_qty": remaining_qty }

Beispiel aus der Praxis

order_book = { "asks": [ (142.55, 800, "09:33"), (142.58, 1500, "09:32"), (142.60, 2200, "09:31"), (142.65, 900, "09:30"), ] } result = calculate_market_order_cost(order_book, "buy", 3000) print(f"Durchschnittspreis: ${result['average_price']:.2f}") print(f"Slippage: ${result['slippage']:.2f}") print(f"Nicht ausgefüllt: {result['unfilled_qty']} Aktien")

2.2 Limit Orders: Preisgarantie, Ausführungsrisiko

Limit Orders garantieren einen Maximalpreis (Kauf) oder Minimalpreis (Verkauf), laufen aber Gefahr, nicht ausgeführt zu werden.

# Limit Order Logik mit HolySheep API Integration

import httpx
import json
from datetime import datetime

class LimitOrderManager:
    """
    Verwaltet Limit Orders unter Berücksichtigung
    der Orderbuch-Tiefe und Zeitpriorität.
    """
    
    def __init__(self, api_key: str):
        self.base_url = "https://api.holysheep.ai/v1"
        self.headers = {
            "Authorization": f"Bearer {api_key}",
            "Content-Type": "application/json"
        }
    
    def check_limit_order_execution(self, order_book, limit_price, side, quantity):
        """
        Prüft, ob eine Limit Order ausgeführt würde.
        """
        if side == "buy":
            # Für Kauflimits: Limit muss >= bester Ask sein
            best_ask = order_book["asks"][0][0] if order_book["asks"] else float('inf')
            
            if limit_price >= best_ask:
                # Order ist im Geld (in-the-money)
                available_volume = sum(
                    vol for price, vol, _ in order_book["asks"] 
                    if price <= limit_price
                )
                executed_qty = min(quantity, available_volume)
                execution_price