3 votos

Cálculo del rendimiento de una serie de acciones, posiciones múltiples transacciones irregulares

¿Cómo puedo calcular el retorno de una serie de acciones, posiciones múltiples desigual de las transacciones que puedo comparar con el equivalente de comprar y mantener retorno sobre el mismo período?

Random Example: Starting cash = $6000 Day[0]: Buy 100 shares of stock A @ $50 -- Long Position opened Day[3]: Buy 10 shares of stock A @ $52 Day[6]: Sell 50 shares of stock A @ $60 Day[7]: Sell 60 shares of stock A @ $58 -- Position closed w/ zero shares Day[10]: Buy 100 shares of stock A @ $55 -- Long Position opened Day[16]: Sell 50 shares of stock A @ $65 Day[20]: Sell 50 shares of stock A @ $58 -- Position closed w/ zero shares Return: ?

Buy and Hold: Day[0]: Buy $6000 worth of stock A @ $50 (120 shares) Day[20]: Sell 120 shares @ $58 ($6960) Return = ($6960 - $6000) / $6000 * 100 = 16%

Estoy tratando de implementar esto en el código y la necesidad de encontrar una fórmula genérica/algoritmo que abarcaría cualquier caso.

EDITAR:

Yo podría haber sido overthinking esto antes...

Sólo el seguimiento de el valor de la cuenta a través de cada transacción y el cálculo de la cantidad final al final me puede conseguir la respuesta. Por ejemplo: el valor final después de todas las operaciones bursátiles es de $7610. Por lo tanto:

Return = (7610-6000)/6000 * 100 = 26.8%

Tal vez hay otra avanzada de retorno métrica que no soy consciente, pero esta parece ser la solución obvia para mí.

2voto

Crispino Puntos 21

Por lo general, si usted está utilizando FIFO (first in, first out) de contabilidad, deberá coincidir con el de las transacciones basadas en el número de acciones.

En tu ejemplo, al principio del día 6, tuvo dos lotes de acciones, 100 @ 50 y 10 @ 52. Ese día se vendieron 50 acciones, y el uso de FIFO, que se vende de 50 acciones de la primera suerte. Esto te deja con 50 @ 50 y 10 @ 52, y una ganancia de capital gravable en el 50 participaciones vendidas.

Tenga en cuenta que las comisiones incurridos en la compra de las acciones de aumentar su base y comisiones incurridos en la venta de las acciones de disminución de los ingresos. Así que si usted gasta $10 por el comercio, su base en el 100 @ 50 lote fue de $5010, y el producto en su 50 @ 60 venta fueron de $2990. En este ejemplo, se vende la mitad del lote, por lo que su base para la venta de la mitad de los $5010 o $2505, por lo que su ganancia de capital es de $2990 - 2505 = $485.

Las ventas que usted describe son también "lavado de ventas", en la que se vende stock y volver a comprar un equivalente de acciones dentro de los 30 días. Generalmente esto sólo es relevante si una de las ventas fue en una pérdida, pero usted tendrá que dar cuenta de esto en el código. Usted puede buscar la definición de lavado de la venta, se empieza a complicarse.

Si estás escribiendo código para manejar esto en cualquier genérico situación, usted también tendrá que manejar la división de acciones, escisiones, fusiones, etc. que cambiar el número de acciones que posee y su base de costo. He aplicado a mí mismo y he escrito acerca de 25-30 rutinas personalizadas, uno para cada tipo de transacción a la que me he encontrado. La estructura de estas ofertas sólo está limitado por la imaginación de los banqueros de inversión, por eso creo que es imposible escribir un único algoritmo genérico que se encarga de todos ellos, en lugar de haber un marco que me actualización de cada trimestre, a medida que las nuevas transacciones se producen.

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