σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyRoadmapsSkills
Ctrl K
AO
+1,2 Tsd. Lernende
AnmeldenBeitreten ↗
RoadmapsSkills
AO
+1,2 Tsd. Lernende
Anmelden
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
σμimplied vol · KKmax(S−K,0)udβρᵢⱼfat tailsPnL · drawdownyield · TdSₜ = μSₜ dt + σSₜ dWₜC = S·N(d₁) − K·e⁻ʳᵀ·N(d₂)σₚ² = wᵀΣwd₁ = [ln(S/K) + (r + σ²⁄2)T] ⁄ σ√T∂V/∂t + ½σ²S²·∂²V/∂S² + rS·∂V/∂S − rV = 0Sharpe = (Rₚ − R_f) ⁄ σₚVaR₉₉ = μ − 2.33σρ = Cov(X,Y) ⁄ σₓσᵧE[Rₚ] = Σ wᵢ·E[Rᵢ]φ(x) = e^(−x²/2) ⁄ √2πE[Rᵢ] = R_f + βᵢ(E[Rₘ] − R_f)dXₜ = θ(μ − Xₜ)dt + σ dWₜσ²ₜ = ω + α·ε²ₜ₋₁ + β·σ²ₜ₋₁C − P = S − K·e⁻ʳᵀΔ = ∂V/∂S Γ = ∂²V/∂S²p = (e^(rΔt) − d) ⁄ (u − d)rₜ = ln(Pₜ ⁄ Pₜ₋₁)E[Xₜ₊₁ | ℱₜ] = Xₜf* = (bp − q) ⁄ bz = (x − μ) ⁄ σP(N=k) = λᵏe^(−λ) ⁄ k!Θ = −∂V/∂Tν = S·φ(d₁)·√Tmin wᵀΣw s.t. wᵀμ = μ*∫Σ∂∞λ
uantCraft AcademyRoadmapsSkills
Ctrl K
AO
+1,2 Tsd. Lernende
AnmeldenBeitreten ↗
RoadmapsSkills
AO
+1,2 Tsd. Lernende
Anmelden
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Optimization-Skill›Modul 4 · Nebenbedingungen und Regularisierung›Thema 4.4·~55 Min.Fortgeschritten

Lineare Programmierung für Ausführungspläne

Position in der SkillModul 4 von 5 · Thema 4 von 4
4.4 Lineare Programmierung für Ausführungspläne
—Lab-Punkte— / 100XP gesamt—Serie—

Einen Auftrag über die Zeit verteilen

Ein lineares Programm minimiert ein lineares Ziel cTx\mathbf c^{T}\mathbf xcTx unter linearen Nebenbedingungen Ax≤bA\mathbf x\le\mathbf bAx≤b und x≥0\mathbf x\ge0x≥0. Die zulässige Menge ist ein Polytop, eine Form mit ebenen Flächen und Ecken, und weil das Ziel linear ist, liegt der beste Punkt stets an einer Ecke dieser Form. Es gibt kein Bergabgehen: Das Simplexverfahren springt von Ecke zu Ecke, Innere-Punkte-Verfahren schneiden durch die Mitte, und beide erreichen das exakte Optimum eines Problems mit Tausenden Variablen in Sekundenbruchteilen.

min⁡x ∑t=1Tctxt ;∑t=1Txt=Q,0≤xt≤ut\min_{\mathbf x}\ \sum_{t=1}^{T}c_t x_t\ ;\quad \sum_{t=1}^{T}x_t=Q,\qquad 0\le x_t\le u_txmin​ t=1∑T​ct​xt​ ;t=1∑T​xt​=Q,0≤xt​≤ut​(1)

Ein Ausführungsplan ist ein natürliches lineares Programm. Um QQQ Aktien in TTT Intervallen zu verkaufen, sei xtx_txt​ die im Intervall ttt verkaufte Menge, ctc_tct​ die erwarteten Kosten je Aktie dort (Spread plus Impact, in Basispunkten) und utu_tut​ eine Kapazität, etwa eine Beteiligungsgrenze von 10 % des erwarteten Volumens. Mit einer einzigen Budgetnebenbedingung ist die Lösung gierig: das billigste Intervall bis zur Grenze füllen, dann das nächstbilligste, bis QQQ erledigt ist. Der Multiplikator der Budgetnebenbedingung, den die lineare Programmierung gratis liefert, sind die Grenzkosten einer weiteren Aktie, nämlich die Kosten des billigsten Intervalls, das noch Platz hat.

Vier IntervalleVerkauft werden Q=10,000Q=10{,}000Q=10,000 Aktien. Die Kosten betragen 3,1,2,43,1,2,43,1,2,4 Basispunkte, die Grenzen 4000,3000,5000,60004000,3000,5000,60004000,3000,5000,6000 Aktien in den Intervallen 1 bis 4. Gieriges Füllen: Intervall 2 (Kosten 1) nimmt seine Grenze von 300030003000, Intervall 3 (Kosten 2) nimmt 500050005000, und Intervall 1 (Kosten 3) nimmt die restlichen 200020002000. Die Summe ist 3000⋅1+5000⋅2+2000⋅3=19,0003000\cdot1+5000\cdot2+2000\cdot3=19{,}0003000⋅1+5000⋅2+2000⋅3=19,000 Basispunkt-Aktien, im Schnitt 1.91.91.9 bp. Die Grenzkosten sind die des Intervalls 1, 333 bp, denn es ist das billigste mit noch freiem Platz. Die Gesamtkapazität ist 18,00018{,}00018,000, ein Auftrag über 20,00020{,}00020,000 Aktien hat also überhaupt keinen zulässigen Plan.

Die Kapazitäten können aus Daten stammen. In den letzten 250 Handelstagen des Kursdatensatzes liegt das mediane Tagesvolumen von AAPL bei etwa 45,5 Millionen Aktien; eine Beteiligungsgrenze von 10 % sind also etwa 4,55 Millionen Aktien pro Tag, und der Verkauf von 20 Millionen Aktien braucht mindestens 20/4.55=4.420/4.55=4.420/4.55=4.4, also fünf, Handelstage. Konstante Kosten je Aktie sind eine erste Näherung. Der reale Impact wächst mit der in einem Intervall gehandelten Menge, was die Kosten in xtx_txt​ konvex macht und den Plan zu einem quadratischen Programm, dem Modell des Abschlussprojekts.

  • Ecklösung: Das Optimum eines LP liegt an einer Ecke des zulässigen Polytops.
  • Gieriger Plan: Mit einer Budgetnebenbedingung zuerst die billigste Kapazität füllen.
  • Schattenpreis: Der Budgetmultiplikator sind die Grenzkosten einer weiteren Aktie.
Prüfen Sie zuerst die ZulässigkeitEin Löser antwortet auf eine unmögliche Anfrage mit „unzulässig“, nicht mit einem ungefähren Plan. Vergleichen Sie vor dem Optimieren die Auftragsgröße mit der Gesamtkapazität und entscheiden Sie, was nachgibt, wenn er nicht passt: ein längerer Horizont, eine höhere Beteiligungsgrenze oder ein kleinerer Auftrag. Kosten und Kapazitäten sind Prognosen, führen Sie das Programm also im Tagesverlauf erneut aus.

Lab: Was bewertet wird

  • Die Gesamtkosten15 Pkt.
  • Die Durchschnittskosten10 Pkt.
  • Aktien im teuersten genutzten Intervall15 Pkt.
  • Die Grenzkosten15 Pkt.
  • Ein zu großer Auftrag15 Pkt.
  • Wo das Optimum eines LP liegt15 Pkt.
  • Den Plan formulieren15 Pkt.
0/ 7 beantwortet
Aufgaben
1Numerische Antwort15 Pkt.Nicht beantwortet

Verkaufen Sie 10 000 Aktien in vier Intervallen mit Kosten 3, 1, 2, 4 bp und Grenzen 4000, 3000, 5000, 6000 Aktien. Wie hoch sind die minimalen Gesamtkosten in Basispunkt-Aktien?

total=total =total=akzeptiert: ± 1
2Numerische Antwort10 Pkt.Nicht beantwortet

Wie hoch sind die durchschnittlichen Kosten je Aktie dieses Plans in Basispunkten?

avg=avg =avg=akzeptiert: ± 0.01
3Numerische Antwort15 Pkt.Nicht beantwortet

Wie viele Aktien verkauft der optimale Plan im Intervall 1 (Kosten 3 bp)?

slot1=slot1 =slot1=akzeptiert: ± 1
4Numerische Antwort15 Pkt.Nicht beantwortet

Wenn der Auftrag um eine Aktie wüchse und zulässig bliebe, um wie viele Basispunkte stiegen die Gesamtkosten? Anders gesagt: Wie hoch ist der Schattenpreis der Budgetnebenbedingung?

shadow=shadow =shadow=akzeptiert: ± 0.01
5Auswahl15 Pkt.Nicht beantwortet

Dieselben vier Intervalle sollen 20 000 Aktien ausführen. Was meldet der LP-Löser?

6Auswahl15 Pkt.Nicht beantwortet

Ein lineares Programm mit beschränkter, nichtleerer zulässiger Menge hat eine optimale Lösung in...

7Schritte ordnen15 Pkt.Nicht beantwortet

Bringen Sie die Schritte zum Aufstellen und Lösen des Ausführungs-LP in die richtige Reihenfolge.

Zum Umsortieren ziehen, oder ein Element fokussieren, mit Leertaste anheben, mit Pfeiltasten bewegen und mit Leertaste ablegen.

  1. 1Die Nebenbedingungen aufstellen: Summe gleich QQQ und 0≤xt≤ut0\le x_t\le u_t0≤xt​≤ut​
  2. 2Es lösen und den Schattenpreis der Budgetnebenbedingung ablesen
  3. 3Die Variablen wählen: je Intervall verkaufte Aktien xtx_txt​
  4. 4Das Ziel aufstellen: Gesamtkosten ∑tctxt\sum_t c_t x_t∑t​ct​xt​
Mathe-ModusEingabe per Tastatur oder LaTeXAufgabe 1 von 7 · Strg ⏎ zum Prüfen

Melde dich an, um deinen Code auszuführen.

Alle Lektionen kannst du kostenlos lesen. Erstelle ein Konto oder melde dich an, um Code auszuführen, Tests zu starten und dieses Lab abzugeben.

  • IDE im Browser mit Bash-Terminal — nichts zu installieren
  • Sofortige Bewertung, XP und dein Platz auf der Skill
Konto erstellenAnmelden
ODER
Weiter mit GitHub