σμ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 AcademyHojas de rutaRutas
Ctrl K
AO
+1,2 k estudiantes
Iniciar sesiónUnirse ↗
Hojas de rutaRutas
AO
+1,2 k estudiantes
Iniciar sesión
  • 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 AcademyHojas de rutaRutas
Ctrl K
AO
+1,2 k estudiantes
Iniciar sesiónUnirse ↗
Hojas de rutaRutas
AO
+1,2 k estudiantes
Iniciar sesión
  • English
  • Français
  • Español
  • العربية
  • Português
  • Deutsch
  • 日本語
  • 中文
Ruta de Optimization›Módulo 4 · Restricciones y regularización›Tema 4.4·~55 minAvanzado

Programación lineal para calendarios de ejecución

Posición en la rutaMódulo 4 de 5 · Tema 4 de 4
4.4 Programación lineal para calendarios de ejecución
—Puntuación del lab— / 100XP total—Racha—

Repartir una orden en el tiempo

Un programa lineal minimiza un objetivo lineal cTx\mathbf c^{T}\mathbf xcTx sujeto a restricciones lineales Ax≤bA\mathbf x\le\mathbf bAx≤b y x≥0\mathbf x\ge0x≥0. El conjunto factible es un politopo, una forma con caras planas y vértices, y como el objetivo es lineal el mejor punto está siempre en un vértice de esa forma. No hay marcha cuesta abajo: el método símplex salta de vértice en vértice y los métodos de punto interior atraviesan el interior; ambos alcanzan el óptimo exacto de un problema con miles de variables en una fracción de segundo.

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)

Un calendario de ejecución es un programa lineal natural. Para vender QQQ acciones en TTT intervalos, sea xtx_txt​ las acciones vendidas en el intervalo ttt, ctc_tct​ el coste esperado por acción allí (diferencial más impacto, en puntos básicos) y utu_tut​ una capacidad, como un tope de participación del 10 % del volumen esperado. Con una sola restricción de presupuesto la solución es voraz: llenar el intervalo más barato hasta su tope, luego el siguiente más barato, hasta completar QQQ. El multiplicador de la restricción de presupuesto, que la programación lineal da gratis, es el coste marginal de una acción más, es decir, el coste del intervalo más barato que aún tiene espacio.

Cuatro intervalosVendamos Q=10,000Q=10{,}000Q=10,000 acciones. Los costes son 3,1,2,43,1,2,43,1,2,4 puntos básicos y los topes 4000,3000,5000,60004000,3000,5000,60004000,3000,5000,6000 acciones en los intervalos 1 a 4. Llenado voraz: el intervalo 2 (coste 1) toma su tope de 300030003000, el intervalo 3 (coste 2) toma 500050005000 y el intervalo 1 (coste 3) toma las 200020002000 restantes. El total es 3000⋅1+5000⋅2+2000⋅3=19,0003000\cdot1+5000\cdot2+2000\cdot3=19{,}0003000⋅1+5000⋅2+2000⋅3=19,000 puntos básicos-acciones, un promedio de 1.91.91.9 pb. El coste marginal es el del intervalo 1, 333 pb, porque es el más barato que aún tiene espacio. La capacidad total es 18,00018{,}00018,000, así que una orden de 20,00020{,}00020,000 acciones no tiene ningún calendario factible.

Las capacidades pueden venir de los datos. En las últimas 250 sesiones del conjunto de datos del curso, el volumen diario mediano de AAPL es de unos 45,5 millones de acciones; un tope de participación del 10 % son unos 4,55 millones de acciones al día, y vender 20 millones de acciones requiere al menos 20/4.55=4.420/4.55=4.420/4.55=4.4, es decir cinco, sesiones. Un coste constante por acción es una primera aproximación. El impacto real crece con el tamaño operado en un intervalo, lo que hace el coste convexo en xtx_txt​ y convierte el calendario en un programa cuadrático, el modelo del proyecto final.

  • Solución en un vértice: el óptimo de un PL está en una esquina del politopo factible.
  • Calendario voraz: con una sola restricción de presupuesto, llenar primero la capacidad más barata.
  • Precio sombra: el multiplicador del presupuesto es el coste marginal de una acción más.
Compruebe primero la factibilidadUn solucionador responde a una petición imposible con «infactible», no con un calendario aproximado. Compare el tamaño de la orden con la capacidad total antes de optimizar y decida qué cede si no cabe: un horizonte más largo, un tope de participación más alto o una orden menor. Costes y capacidades son previsiones, así que vuelva a ejecutar el programa a lo largo del día.

Lab: qué se califica

  • El coste total15 pts
  • El coste medio10 pts
  • Acciones en el intervalo más caro usado15 pts
  • El coste marginal15 pts
  • Una orden demasiado grande15 pts
  • Dónde está el óptimo de un PL15 pts
  • Formular el calendario15 pts
0/ 7 respondidos
Ejercicios
1Respuesta numérica15 ptsSin responder

Venda 10 000 acciones en cuatro intervalos con costes 3, 1, 2, 4 pb y topes 4000, 3000, 5000, 6000 acciones. ¿Cuál es el coste total mínimo en puntos básicos-acciones?

total=total =total=aceptado: ± 1
2Respuesta numérica10 ptsSin responder

¿Cuál es el coste medio por acción de ese calendario, en puntos básicos?

avg=avg =avg=aceptado: ± 0.01
3Respuesta numérica15 ptsSin responder

¿Cuántas acciones vende el calendario óptimo en el intervalo 1 (coste 3 pb)?

slot1=slot1 =slot1=aceptado: ± 1
4Respuesta numérica15 ptsSin responder

Si la orden creciera una acción y siguiera siendo factible, ¿cuántos puntos básicos subiría el coste total? Es decir, ¿cuál es el precio sombra de la restricción de presupuesto?

shadow=shadow =shadow=aceptado: ± 0.01
5Elección15 ptsSin responder

A los mismos cuatro intervalos se les pide ejecutar 20 000 acciones. ¿Qué informa el solucionador de PL?

6Elección15 ptsSin responder

Un programa lineal con conjunto factible acotado y no vacío tiene una solución óptima en...

7Ordenar los pasos15 ptsSin responder

Ponga en orden los pasos para plantear y resolver el PL de ejecución.

Arrastra para reordenar, o enfoca un elemento, pulsa Espacio para levantarlo, las flechas para moverlo y Espacio para soltarlo.

  1. 1Escribir las restricciones: total igual a QQQ y 0≤xt≤ut0\le x_t\le u_t0≤xt​≤ut​
  2. 2Resolverlo y leer el precio sombra de la restricción de presupuesto
  3. 3Elegir las variables: acciones xtx_txt​ vendidas en cada intervalo
  4. 4Escribir el objetivo: coste total ∑tctxt\sum_t c_t x_t∑t​ct​xt​
Modo matemáticasEntrada por teclado o LaTeXEjercicio 1 de 7 · Ctrl ⏎ para comprobar

Inicia sesión para ejecutar tu código.

Todas las clases se pueden leer gratis. Crea una cuenta o inicia sesión para ejecutar código, lanzar las pruebas y enviar este lab.

  • IDE en el navegador con terminal bash — sin instalar nada
  • Corrección instantánea, XP y tu lugar en la ruta
Crear una cuentaIniciar sesión
O
Continuar con GitHub