2 votos

Encontrar la estrategia de negociación óptima

Supongamos que hay un activo que puedes comprar y vender, y que conoces cuál fue el precio de venta y compra en todo momento entre los tiempos t0 y t1, ambos en el pasado. Si hubieras tenido una cantidad inicial de dinero, ¿cómo encontrarías cuál habría sido la estrategia de trading ideal? Es decir, el conjunto de momentos en los que comprar y vender el activo para maximizar los ingresos. (Suponiendo liquidez perfecta en el mercado y transacciones instantáneas.)

Los siguientes dos gráficos muestran el precio de compra y venta en el período total de tiempo y en una vista ampliada al principio.

introduce descripción de la imagen aquí introduce descripción de la imagen aquí

Mi enfoque original fue simplemente usar la fuerza bruta, es decir, calcular la cantidad de dinero ganada a través de todas las estrategias posibles combinando los puntos de "Compra" y "Venta" como en el gráfico siguiente:

introduce descripción de la imagen aquí

Aunque esto funciona, es extremadamente costoso computacionalmente. ¿Existe un algoritmo más eficiente para realizar este tipo de cálculos? Si es así, se agradecerían detalles o referencias, soy un externo de la física y la ingeniería.

1voto

tdm Puntos 146

Deje que $b_1, \ldots, b_T$ y $s_1, \ldots, s_T$ sean los precios de compra y venta. Si conocemos los precios, será óptimo mantener en todo momento toda la riqueza en acciones o líquido. Supongamos que no podemos comprar y vender al mismo tiempo.

Suponga que comenzamos en el período 1 donde toda la riqueza es líquida y terminamos en el período $T$ donde nuevamente toda la riqueza es líquida. Entonces el intercambio óptimo existirá de un número de períodos $$ 1 \le t_1 < t_2 < \ldots < t_{2k - 1}< t_{2k} \le T. $$ donde en cada período impar, toda la riqueza se invierte en acciones y en cada período par, la riqueza se convierte en líquido. Si $w$ es la riqueza inicial, la riqueza final está dada por: $$ w \times \frac{s_{t_2}}{b_{t_1}}\times \frac{s_{t_4}}{b_{t_3}} \times \ldots \times \frac{s_{t_{2k}}}{b_{2k-1}}. $$

Este valor se maximiza maximizando $$ \frac{s_{t_2}}{b_{t_1}} \times \frac{s_{t_4}}{b_{t_3}} \times \ldots \times \frac{s_{t_{2k}}}{b_{2k-1}}. $$

Deje que $V(t, v)$ sea el valor máximo sobre todas las secuencias que satisfacen la restricción $t \le t_1 < t_{2k} \le v$.

Luego tenemos la recursión (para $t \le v$):$$ V(t,v) = \max\left\{\begin{array}{l}1,\\ \dfrac{s_{v}}{b_{t}},\\ \max_{t < t_1 < t_2 \le v} \left(V(t, t_1 - 1) \times \dfrac{s_{t_2}}{b_{t_1}} \right),\\ \max_{t \le t_1 < t_2 < v} \left( \dfrac{s_{t_2}}{b_{t_1}} \times V(t_2 + 1, v)\right),\\ \max_{t < t_1 < t_2 < v} \left( V(t,t_1 - 1) \times \dfrac{s_{t_2}}{b_{t_1}} \times V(t_2 + 1, v) \right) \end{array}\right\} $$ El primer argumento captura la posibilidad de que no haya compra y venta entre los períodos $t$ y $v$. El segundo argumento analiza el caso donde se compra en $t$, se vende en $v$ y no hay compra y venta intermedia entre estos períodos. Las otras partes capturan la recurrencia. El segundo caso solo es relevante si $t > v$. Los casos 3 y 4 solo son relevantes si $v > t+1$ mientras que el último solo es relevante si $v > t+2$.

El tiempo de ejecución es $O(T^4)$ (necesitamos calcular no más de $T^2$ valores $V(t,v)$ cada uno optimizando no más de $T^2$ posibles valores intermedios).

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