Soy nuevo en el mundo de la inversión, así que disculpe la torpeza de la pregunta... probablemente haya un término mejor para lo que busco o tal vez incluso sea un problema conocido/clásico. Si es así, por favor, indíqueme la dirección correcta ;-)
Motivación
Las estrategias de inversión se comparan con "el mercado", que suele ser algún índice ponderado de algunos / todos los valores de un universo determinado. Sin embargo, la elección de la cartera de mercado es algo arbitraria cuando puede ser definida por el inversor. Una comparación del alfa/rendimiento de las estrategias de dos inversores podría ser bastante difícil cuando un inversor compara su estrategia con la cartera de mercado A mientras que otro lo compara con la cartera del mercado B .
Pensando en este problema acabé con la siguiente idea: ¿Por qué no comparar cada estrategia con el hipotético rendimiento óptimo que podría alcanzarse dentro del universo y el plazo pertinentes? si uno tuviera una bola de cristal Es decir, comprando/vendiendo por arte de magia la combinación de valores que le llevaría a obtener la máxima rentabilidad.
Para cada conjunto de restricciones de inversión, sólo existe (normalmente) una estrategia óptima de este tipo y, por tanto, el "Regreso de la bola de cristal" sería la referencia ideal para comparar objetivamente las estrategias de inversión.
El problema
Para simplificar, supongamos que tenemos un universo que consiste en n
(con precios al final del día) y están buscando un marco temporal de inversión de d
días de negociación. Estamos invirtiendo una cantidad predefinida de dinero m
(suficiente para comprar al menos una de cada acción) y hay una comisión pequeña pero no despreciable f
para cada transacción. Podemos cambiar la cartera (comprar/vender acciones) una vez al día, pero no es necesario. Todos los rendimientos se componen. ACTUALIZACIÓN : Para simplificar (y limitar la rentabilidad), no se permite la venta en corto.
Mi pregunta es:
¿Cómo se puede calcular eficazmente la secuencia de acciones de compra/venta que conduce a la máxima rentabilidad posible?
A mí esto me huele a programación dinámica, sin embargo, tal vez me estoy perdiendo algo. La formulación del problema parece tan común que espero que haya un artículo/solución seminal que me pueda indicar.
Si usted proporciona una solución, por favor, trate de dar alguna indicación de su complejidad de tiempo / espacio. Gracias.
Nota: A primera vista, las comisiones parecen ser una limitación necesaria, ya que sin ellas la estrategia óptima consistiría simplemente en mover todo el dinero diariamente hacia la acción que más crece.
2 votos
Creo que tienes razón en el hecho de que añadir tasas hace que la solución no sea trivial. Pero no obstante no creo que sea útil para las comparaciones. En primer lugar, supongo que la cartera seguirá consistiendo en un activo cada vez. El algoritmo asignará todo el dinero al activo "óptimo" durante algún periodo de tiempo. ¿Por qué habría que dividir el dinero? En segundo lugar, el rendimiento resultante será muchas veces mejor que cualquier cartera realista. Si se permite la venta en corto, los posibles rendimientos no están limitados en absoluto.
0 votos
Este es un problema estándar y fácilmente resuelto usando DP en O(n) tiempo y espacio. También las observaciones de user22686 son correctas, es fácil demostrar que la estrategia óptima es una estrategia de todo o nada, nunca habrá más de un instrumento en la cartera.
0 votos
@user22686 ¡Gracias! Tienes toda la razón, la cartera siempre estará formada por un instrumento a la vez. Esto no se me había ocurrido antes. Eso debería facilitar mucho la solución. En cuanto a la utilidad: En mi opinión, el hecho de que cualquier estrategia en la vida real sólo capture una fracción de la rentabilidad teóricamente alcanzable está bien. Todavía se puede comparar objetivamente una estrategia que rinde el 16% de la rentabilidad hipotéticamente posible con otra que rinde el 14%.
0 votos
@hroptatyr Gracias por señalarlo. Entonces, dado que es una estrategia de todo o nada, ¿podrías esbozar cómo se elige el único instrumento óptimo en cada día (comprar/vender/conservar)? Creo que la selección consistiría en comprobar si la rentabilidad de la acción que más crece en un día determinado supera las comisiones de compra/venta. Todavía no puedo plasmar esto en un algoritmo, así que cualquier ayuda sería muy apreciada.
1 votos
@KlaasNotFound tienes que tener una restricción más, a saber, que quieres que sea plana al final de los datos. Luego pasas de ahí a calcular cuál era la mejor posición para mantener antes de eso, y así sucesivamente... Es demasiado para explicarlo aquí en detalle, sólo tienes que leerlo, por ejemplo cs.rpi.edu/~magdon/courses/cf/notes/optimal.pdf
1 votos
En realidad, la estrategia óptima debería ser una acción corta (la máxima cantidad posible) y utilizar los ingresos de esa acción corta para obtener la acción larga. Esta estrategia produciría en realidad un rendimiento infinito, ya que no se necesita ninguna inversión.
0 votos
@hroptatyr Genial - es exactamente el tipo de documento de referencia que estaba buscando. Muchas gracias. Si publicas eso como respuesta (junto con un breve esquema de los pasos) lo aceptaré.
0 votos
@volcompt (y usuario22686) Gracias por señalar la posibilidad de ponerse en corto. De momento sólo buscaba soluciones "largas", así que actualizaré mi descripción.