22. 5. 2026

5 0

Reajuste de cartera

Visión general

StrategyQuant X construye resultados de cartera fusionando múltiples estrategias y apilando sus P&L comerciales sobre un único saldo inicial. Esto es rápido y sencillo, pero introduce una distorsión sistemática = cada estrategia se sometió a pruebas retrospectivas de forma aislada, ajustando el tamaño de sus posiciones a su propia cuenta (por ejemplo, 1% de $100.000). Una vez fusionada, la cartera crece, pero los tamaños de las operaciones individuales nunca se ajustan para reflejar el mayor saldo combinado. Una estrategia que abrió una posición $1.000 cuando la cartera estaba en $100k sigue abriendo una posición $1.000 cuando la cartera ha crecido a $400k. La posición es ahora una cuarta parte de lo que sería realmente el riesgo 1%.

Este plugin vuelve a ejecutar cronológicamente el historial completo de operaciones de la cartera, aplicando un factor de escala a cada operación para que la posición de cada estrategia siempre tenga un tamaño relativo al saldo combinado actual de la cartera en lugar de su propio saldo inicial aislado. El resultado son dos curvas de renta variable, una al lado de la otra, con la Original (que coincide exactamente con SQX) y la Reescalada (lo que habría producido la capitalización correcta), con un gráfico comparativo de detracciones a continuación.

Qué hace

  • Reproduce exactamente la curva de la cartera original de SQX, por lo que dispone de una base de referencia verificada con la que comparar.
  • Reejecuta la cartera con el escalado correcto por operación, donde cada operación se reescala por el saldo actual de la cartera ÷ el saldo aislado de algo en ese momento.
  • Muestra un gráfico % de detracciones para ambas curvas, para que pueda ver cuándo se produjeron las detracciones y si el cambio de escala las mejora o las empeora.
  • Detecta automáticamente todos los saldos iniciales a partir de los datos de las órdenes; el inicio de la cartera y el inicio aislado de cada algoritmo se leen directamente de la primera orden de cada estrategia; no es necesario introducir datos manualmente.
  • Admite un tope de lotes máximos para que puedas ver la curva restringida en el mundo real de los límites de posición de los puntales.
  • Filtro de intervalo de fechas con inicio en caliente. Restrinja la vista a cualquier subperíodo; las operaciones anteriores al intervalo se reproducen para que todos los saldos avancen al estado correcto antes de que comience la ventana.
  • La opción Rebase to Start normaliza ambas curvas al punto de partida original para cualquier intervalo seleccionado, haciendo que dos periodos de tiempo sean directamente comparables en igualdad de condiciones.

Cómo funciona
Los saldos iniciales se detectan automáticamente. El saldo inicial de la cartera se lee como primeraOrden.Saldo - primeraOrden.ProfitLoss. El saldo inicial aislado de cada estrategia se detecta del mismo modo a partir de la primera orden propia de esa estrategia (identificada por ResultName).

La curva Original es una repetición directa: comience en el saldo detectado de la cartera, añada el ProfitLoss original de cada operación en orden cronológico. Esto debe coincidir exactamente con el beneficio neto, el saldo final y la reducción de SQX. Si no es así, el saldo inicial detectado es incorrecto.

La curva reescalada utiliza el mismo saldo inicial, luego para cada operación:

scaleFactor = currentPortfolioBalance ÷ algoIsolatedBalance
PL a escala = PL original × factor de escala

 

El saldo aislado del algo se actualiza después de cada una de sus propias operaciones (isoBal += originalPL), de modo que el ratio refleja cómo habría evolucionado la cuenta de esa estrategia de forma aislada. Si se establece un límite de lotes máximos, el factor de escala se reduce para que la posición implícita nunca supere los lotes máximos ÷ el tamaño del lote original.

La caída % se registra independientemente de la caída $, exactamente como lo hace SQX: la peor caída porcentual (pico a valle ÷ pico local) y la peor caída en dólares se miden por separado en todo el historial de operaciones y se registran en la tabla de estadísticas.

 

Supuestos

  1. Las estrategias utilizan un tamaño de posición basado en porcentajes (por ejemplo, 1% de riesgo por operación)
    1. Si las estrategias utilizan tamaños de lote fijos, el factor de escala cambia el P&L nocional pero no el recuento de lotes real. La curva reescalada tendrá un aspecto diferente, pero no reflejará lo que realmente podría ejecutar.
  2. El campo Saldo en las órdenes de cartera representa el saldo de la cuenta aislada por estrategia (no el saldo de la cartera combinada).
    1. Esto es lo que el plugin utiliza para detectar el capital inicial de cada algo y seguir su evolución. Si SQX almacena el saldo inicial a nivel de cartera en este campo, los factores de escala por cada algo serán incorrectos. Valídelo comprobando que las fichas de inicio de algo detectadas coinciden con los saldos iniciales de su estrategia.
  3. Todas las estrategias utilizan la misma moneda base
    1. Los valores de pérdidas y ganancias se suman y escalan en unidades monetarias brutas; no se tratan las carteras multidivisa.
  4. La detección del saldo inicial supone que no se ha cerrado ninguna operación antes de la primera orden de los datos.
    1. Si la exportación de datos está truncada (por ejemplo, si está visualizando un tramo fuera de muestra), el saldo inicial detectado será el saldo al inicio de ese tramo, no el capital original configurado.

Limitaciones e inconvenientes

La curva reescalada es una simulación, no un backtest. El factor de escala se aplica a las pérdidas y ganancias originales, que se calcularon utilizando tamaños de lote fijos. En realidad, operar con un lote mayor tendría un impacto diferente en el mercado y podría haber movido el precio en su contra de forma diferente. Este efecto es insignificante en el caso de instrumentos líquidos y cuentas de pequeño tamaño, pero puede ser significativo en el caso de mercados sin liquidez o posiciones muy grandes.

No se tienen en cuenta las operaciones que se solapan. El reescalado asume que cada operación es independiente. Si dos estrategias mantienen posiciones simultáneamente, la exposición combinada en cualquier momento es la suma de ambas posiciones escaladas - el plugin no comprueba si esto infringiría los límites de margen o exposición.

El límite de lotes máximos se aplica por operación, no por posición abierta. Si varias estrategias tienen operaciones abiertas simultáneamente, cada una tiene un límite individual, pero el total de lotes abiertos en todas las posiciones simultáneas no está limitado.

La reducción se mide únicamente al cierre de la operación. Las oscilaciones de la renta variable dentro de la operación (reducción abierta) no son visibles en los datos de la orden. La reducción máxima indicada puede ser inferior a la que se observaría en una curva de renta variable tick a tick.

Las estrategias de lote fijo no mostrarán ninguna diferencia significativa entre Original y Reescalado: el factor de escala cambia la ganancia/pérdida implícita en dólares, pero no el comportamiento de riesgo real de la estrategia.

Esto está diseñado para darle una idea de cómo se escalará realmente el riesgo de su cartera ya que el valor de Drawdown en los resultados de StrategyQuant no es exacto con Risk %

 

0 Comentarios
Más antiguo
Más reciente Más votados