POV: Percentage of Volume.
Während VWAP gegen ein historisches Volumenprofil handelt, orientiert sich POV am realen Marktvolumen — in Echtzeit. Der Trader gibt vor, wie viel Prozent des jeweils handelnden Volumens er ausmachen will, und der Algorithmus passt seine Aktivität sekündlich an. Klingt einfach, ist aber einer der mächtigsten und am häufigsten falsch eingesetzten Execution-Stile.
Die Grundidee.
POV — auch Participation oder Volume Inline genannt — folgt einer simplen Regel: Wenn am Markt gerade viel gehandelt wird, handle ich proportional mit; ist wenig los, halte ich mich zurück. Konkret: bei einer Participation Rate von 10 % und einem realen Volumenfluss von 1.000 Aktien pro Minute kauft der Algorithmus 100 Aktien pro Minute. Steigt das Marktvolumen auf 5.000, kauft er 500. Sinkt es auf 200, kauft er nur 20.
Damit ist POV der natürlichste „liquiditätsadaptive" Algorithmus überhaupt. Er macht genau dann den meisten Lärm, wenn ohnehin viel Lärm da ist — und schweigt, wenn der Markt still ist.
Vorteile gegenüber VWAP und TWAP.
- Keine Profilannahmen: POV braucht kein historisches Modell des Tagesvolumens. Das macht den Algorithmus robust gegen Profilbrüche — etwa an Tagen mit unerwarteten Nachrichten.
- Tarnung: Wer immer einen festen Anteil am Volumen ausmacht, hinterlässt keine erkennbaren Muster. Der Footprint ist proportional zur Marktaktivität und damit kaum vom „Hintergrundrauschen" zu unterscheiden.
- Definierter Impact: Bei 5 % Participation Rate ist der Impact strukturell begrenzt. Wer dagegen eine VWAP-Tranche in eine dünne Phase wirft, kann ungewollt 30 % oder 40 % des dortigen Volumens ausmachen.
Der entscheidende Trade-off: kein Zeitlimit.
Der zentrale Nachteil von POV: Sie wissen nicht, wann Ihre Order fertig ist. Bei niedriger Liquidität kann eine 100.000-Aktien-Order, die mit 5 % Participation laufen sollte, deutlich länger brauchen als geplant — und im Extremfall bei Marktschluss nur teilweise ausgeführt sein.
Genau deshalb wird POV in der Praxis fast immer mit zusätzlichen Begrenzungen kombiniert: einem maximalen Zeithorizont, einer Mindest-Participation falls der Markt zu still wird, oder einer Eskalationsstufe, die den Algorithmus bei zu langsamen Fortschritt in einen aggressiveren Modus schaltet.
import pandas as pd
import numpy as np
def pov_step(remaining_qty: int, market_volume_last_period: int,
participation: float, max_qty_per_step: int = None) -> int:
"""
Bestimmt die Menge, die im nächsten Step gehandelt wird.
market_volume_last_period: kürzlich beobachtetes Volumen.
participation: Ziel-Quote (z.B. 0.10 für 10%).
"""
target = int(market_volume_last_period * participation)
qty = min(target, remaining_qty)
if max_qty_per_step is not None:
qty = min(qty, max_qty_per_step)
return max(qty, 0)
def simulate_pov(total_qty: int, market_volume: pd.Series,
participation: float) -> pd.DataFrame:
remaining = total_qty
executions = []
for ts, vol in market_volume.items():
if remaining <= 0:
break
qty = pov_step(remaining, vol, participation)
if qty > 0:
executions.append({"timestamp": ts, "qty": qty, "mkt_vol": vol})
remaining -= qty
return pd.DataFrame(executions), remaining
mkt = pd.Series(
[4500, 3800, 2100, 1500, 1200, 900, 1100, 1700, 2400, 3900, 5200, 6800],
index=pd.date_range("2026-05-15 09:30", periods=12, freq="30min")
)
fills, rest = simulate_pov(total_qty=3000, market_volume=mkt, participation=0.10)
print(fills)
print(f"Restmenge: {rest}")
Eskalation: Wenn POV nicht mitkommt.
In jeder ernsthaften POV-Implementierung gibt es eine Eskalationslogik. Die Standardlösung: Der Algorithmus rechnet permanent aus, wie weit er hinter einem linearen oder VWAP-orientierten Idealpfad zurückliegt. Wird ein Schwellwert überschritten, steigt die Participation Rate temporär — beispielsweise von 8 % auf 15 % — bis der Rückstand abgebaut ist.
Sauberer ist allerdings die umgekehrte Variante: cap-basiertes POV. Sie geben einen Minimum- und einen Maximum-Anteil vor (z. B. 5 %–12 %), und der Algorithmus bewegt sich innerhalb dieses Korridors abhängig vom Zeitfortschritt. Liegt er zurück, läuft er am oberen Rand; ist er voraus, am unteren.
import numpy as np
import pandas as pd
class AdaptivePOV:
"""POV mit Eskalation bei Rückstand gegenüber linearem Zeitplan."""
def __init__(self, total_qty, start_ts, end_ts,
base_rate=0.08, min_rate=0.04, max_rate=0.15):
self.total = total_qty
self.remaining = total_qty
self.start = start_ts
self.end = end_ts
self.base = base_rate
self.lo = min_rate
self.hi = max_rate
def current_rate(self, now_ts):
elapsed = (now_ts - self.start).total_seconds()
total_sec = (self.end - self.start).total_seconds()
target_fill = self.total * (elapsed / total_sec)
actual_fill = self.total - self.remaining
ratio = actual_fill / max(target_fill, 1)
if ratio < 0.85: # weit zurück
return self.hi
if ratio < 0.95: # leicht zurück
return min(self.hi, self.base * 1.4)
if ratio > 1.10: # voraus
return self.lo
return self.base
def step(self, now_ts, mkt_vol):
rate = self.current_rate(now_ts)
qty = min(int(mkt_vol * rate), self.remaining)
self.remaining -= qty
return qty, rate
Wann POV der richtige Algorithmus ist.
POV passt vor allem bei fließenden Strategien — solchen, deren Signal nicht zeitkritisch ist und bei denen es wichtiger ist, sauber im Markt unterzugehen, als schnell durch zu sein. Klassische Anwendungsfälle: Portfolio-Rebalancing, Aufbau mittelfristiger Positionen, Liquidation größerer Bestände ohne Stress.
Schlecht passt POV bei Signal-getriebenen Strategien mit kurzer Halbwertszeit. Wenn Ihr Modell einen Edge mit 30 Minuten Halbwertszeit findet und Ihre POV-Order zwei Stunden braucht, haben Sie zwar einen tollen Shortfall gegen VWAP — aber die Strategie hat keinen Edge mehr.
Praxisfehler und wie man sie vermeidet.
Der häufigste Fehler in POV-Setups ist eine zu hohe Participation Rate. Viele Trader denken: „10 % ist doch nicht viel" — bis sie merken, dass 10 % an einem illiquiden Tag in einem mittelgroßen Wert problemlos 30 oder 40 Basispunkte Impact erzeugen können. Faustregel aus der Praxis: Bei Large Caps sind 8–12 % ein vernünftiger Korridor, bei Mid Caps eher 4–7 %, bei Small Caps oder Krypto mit dünnen Orderbüchern selten mehr als 3 %.
Der zweithäufigste Fehler ist die naive Messung des Marktvolumens. Wenn der Algorithmus selbst signifikant zum Volumen beiträgt, schaut er beim nächsten Schritt auf sein eigenes Volumen und feuert nach — ein klassischer Feedback-Loop. Saubere Implementierungen ziehen das eigene Volumen aus der Berechnung heraus oder verwenden Volumen aus konkurrierenden Venues.
Der dritte Fehler: keine Auseinandersetzung mit Sweep- und Iceberg-Volumen. Manche Volumendaten enthalten Block-Trades, die zwar gemeldet werden, aber nichts mit dem regulären Orderbuch zu tun haben. Wer diese Trades als „verfügbares Volumen" interpretiert, überschätzt seine eigene erlaubte Aktivität.
Sie wollen einen POV-Algorithmus konzipieren oder testen? Erstgespräch buchen — wir prüfen, ob POV zu Ihrer Strategie passt und kalibrieren die Parameter.