6 votos

Optimización de carteras en Matlab con el spread bid ask

Estoy tratando de encontrar la cartera óptima de opciones y acciones que minimice la desviación estándar de los rendimientos de la cartera, pero también teniendo en cuenta los precios de compra y venta de los activos. Me dan una foto de las acciones y las opciones relacionadas (todas con el mismo vencimiento pero diferentes strikes) con sus precios de compra y venta.

Estoy haciendo la suposición de que el precio de las acciones sigue un movimiento browniano geométrico y que se pueden vender/comprar cantidades infinitas de cada activo a su precio de compra/venta.

Mi enfoque, si sólo hubiera un precio medio, sería simular los rendimientos de cada activo, calcular los rendimientos medios y la matriz de covarianza y luego pasar esto a una función quadprog en MATLAB para minimizar la varianza de la cartera sin límites superiores o inferiores en la cantidad de cada activo (es decir, se permite la venta en corto).

Sin embargo, con el diferencial entre oferta y demanda, el rendimiento de la venta de un activo es ligeramente diferente al rendimiento de la compra de ese mismo activo, por lo que pasar los rendimientos y las covarianzas de la misma manera que antes no sería exacto.

¿Alguien puede sugerir un método plausible para contabilizar este diferencial entre la oferta y la demanda? He pensado en tratar la compra y la venta de un activo como dos activos separados, calculando sus respectivos rendimientos y alterando las restricciones para acomodar la dirección de compra y de venta, pero resulta muy complicado y mis resultados no parecen correctos. ¿Hay alguna manera más fácil de hacer esto?

Gracias, Michael.

2voto

Johannes Bauer Puntos 28

Puedo sugerir una forma sencilla que no es perfecta pero es razonable y no es demasiado difícil.

Los costes de transacción cambiarán la cartera óptima

Lo que hay que hacer es tener en cuenta los costes de las transacciones. Tenga en cuenta que Engle y Ferstenberg (2007) han demostrado que la inclusión de los costes de las transacciones desplaza la frontera eficiente hacia abajo y hacia la derecha (porque hay una media y una varianza añadidas de los costes de las transacciones).

Esto conducirá a una cartera óptima diferente que si se ignoran los costes de las transacciones. Una queja común sobre la optimización de carteras de Markowitz (sin costes de transacción) es que las carteras tienen un rendimiento inferior "fuera de la muestra". La inclusión de los costes de las transacciones (media y varianza) puede reducir el problema del bajo rendimiento.

Aproximación para operaciones "pequeñas": Utilizando sólo el diferencial entre la oferta y la demanda

Para cantidades "pequeñas" de operaciones, se puede aproximar la media y la varianza de las operaciones como si se vieran afectadas sólo por el porcentaje de margen $S_i$ para el activo $i$ $$ S_i = \log(A_i/B_i) $$ donde $A_i$ es el precio de venta y $B_i$ es el precio de la oferta.

Además, hay que tener en cuenta el coste de entrada y salida, por lo que multiplicamos la media de una sola operación $E(c_i)$ y la varianza $\textrm{var}(c_i)$ del coste por 2.

Si eres paciente y esperas a un posible mejor precio antes de rendirte y cruzando la extensión (comprando a la oferta o vendiendo a la demanda), esto sería:

  • media: la mitad del diferencial medio entre oferta y demanda por operación; total = $2\times\bar{S}_i/2=\bar{S}_i$ y
  • varianza: Véase Variable aleatoria Rademacher; total = $2\times\bar{S}_i^2/4=\bar{S}_i^2/2$ .

Si es impaciente, su precio de ejecución es mucho más seguro (y peor):

  • media: el diferencial completo por operación; total = $2\times\bar{S}_i$ y
  • variación: 0.

A continuación, se resta cada uno de estos costes medios de los rendimientos esperados positivos y se añade a los rendimientos esperados negativos y se suman las desviaciones de los costes a las desviaciones de los rendimientos. O, lo que es lo mismo: $$ E(r_{i,new}) = E(r_i) - 2\textrm{sign}(r_i)E(c_i), \\ \textrm{var}(r_{i,new}) = \textrm{var}(r_i) + 2\textrm{var}(c_i). $$ Tenga en cuenta que no debe dejar que las expectativas pasen por 0. Si su rentabilidad esperada es del 5% y el coste esperado de entrada+salida es del 6%, es mejor tratarla como si tuviera una rentabilidad esperada del 0% en lugar de una rentabilidad esperada del -1% (lo que podría llevarle a ponerse en corto).

¿Debe propagar las desviaciones de los costes a las covarianzas? es decir ¿crear covarianzas a partir de correlaciones y (nuevas) varianzas? Eso depende de si crees que los costes de ejecución están correlacionados o no. Si quieres que los costes de ejecución estén correlacionados, propaga la incertidumbre; si no, sólo altera tus varianzas y no las covarianzas.

Aproximación a las operaciones de mayor envergadura: Utilización de un modelo de impacto sobre el precio

Usted menciona que quiere utilizar los diferenciales entre oferta y demanda; sin embargo, también voy a insinuar una aproximación mejor. Básicamente, podemos suponer que los costes de las transacciones tienen algunas partes y utilizar un modelo de impacto de los precios para tener una mejor idea de los costes.

Mientras que hay muchos modelos de impacto en el precio En este paso no se realiza la programación de las operaciones, por lo que se puede utilizar un modelo que podría ser inadecuado para la programación de las operaciones, pero una buena aproximación para la optimización de la cartera.

Para negociar una cantidad $Q_i$ del activo $i$ Yo usaría algo como el Torre y Ferrari (1997) modelo: $$ E(c_i) = \alpha_i + \beta_{iS} \bar{S}_i + \beta_{iQ} \sigma_i\sqrt{\frac{|Q_i|}{\bar{V}}} $$ donde

  • $\alpha_i$ capta los costes fijos (como una comisión),
  • $\beta_{iS}$ se pone a la altura de lo que suele pagar el tronco,
  • $\beta_{iQ}$ estima el impacto permanente (y el impacto acumulado en descomposición según Obizhaeva y Wang (2013) ) pagado, y
  • $\bar{V}$ es el volumen medio por periodo de negociación.

El cálculo de la varianza es complicado: hay que incorporar la incertidumbre de los coeficientes del modelo con la incertidumbre de los términos del modelo. Si tuviera que adivinar esto, esperaría algo como $$ \textrm{var}(c_i) = \sigma_\pi^2 + \hat\beta_{iS}^2 \frac{\bar{S}^2}{4} + \hat\beta_{iQ}^2 \left[ \sigma_i^2\frac{n-1}{2}\left(\frac{\Gamma(n/2)}{\Gamma(\frac{n-1}{2})}\right)^2 \frac{Q_i^2}{\bar{V}^2} + \sigma_i^2 Q_i^2\frac{\textrm{var}(\bar{V})}{\bar{V}^4}\right] $$ donde $\sigma_\pi$ es la desviación estándar de un intervalo de predicción del modelo ajustado y $n$ es el número de observaciones utilizadas para estimar $\sigma_i$ . El último término proviene del varianza de $\sigma_i$ una aproximación del método delta de un término para $\textrm{var}(1/\bar{V}))$ y el varianza de un producto de variables aleatorias .

Con estas (esperemos que sean mejores) estimaciones de $E(c_i)$ y $\textrm{var}(c_i)$ puede entonces duplicarlos (coste de entrada y coste de salida) y sumarlos como se ha hecho en el caso más sencillo de las operaciones pequeñas.

1voto

Amir Puntos 3237

Dependiendo de lo grande que sea el diferencial entre la oferta y la demanda, puede que no importe en absoluto. Para empezar, le sugiero que elija al azar el precio de compra o el de venta de cada valor y que compruebe si las ponderaciones óptimas difieren mucho en función de su elección. Si no es así, puedes simplemente ignorar dicha asimetría. Si no es así, no estoy seguro de si la TPM funcionará bien con su configuración, ya que es una teoría muy lineal, mientras que el uso de la oferta (para la compra) y la demanda (para la venta) introduce la no linealidad.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X