Saltar al contenido
Recorrido formativo Plata Método repetible

Costes de transacción en backtests

Modelización causal de los costes que separan una estrategia teórica de su implementación: comisiones, spread, impacto, retrasos, ejecuciones parciales, préstamo, financiación, roll y capacidad.

A quién va dirigido — A quien pase de señales teóricas a órdenes simuladas y necesite saber si la ventaja sobrevive a la implementación. Restar una comisión fija no basta cuando el spread, el impacto, el préstamo, la financiación y la probabilidad de ejecución cambian según el instrumento, el momento y la cantidad.

Los costes de transacción en backtests son las reglas mediante las que una simulación convierte una decisión teórica en un resultado neto plausible. Incluyen costes explícitos, fricciones implícitas, costes de mantenimiento y ejecuciones perdidas. El modelo debe ser causal: utiliza únicamente cotizaciones, volúmenes, tarifas y disponibilidades que podían conocerse cuando se habría enviado la orden.

En palabras sencillas — La señal dice qué se desearía comprar o vender. El modelo de costes pregunta si realmente habría sido posible hacerlo, cuándo, en qué cantidad y a qué precio.

Del resultado bruto al neto y a la capacidadCada fricción tiene benchmark, escala y dependencia del mercado. Índice inventado con bruto=100; los valores didácticos no representan una estrategia real.Del resultado bruto al neto y a la capacidadCada fricción tiene benchmark, escala y dependencia del mercadoÍndice inventado con bruto=100; los valores didácticos no representan una estrategia real.1Bruto1002Comisiones−43Spread−64Slippage−75Impacto−106Neto /capacidad73Cyclepedia · diagrama didáctico condicionado, no previsión ni promesa
Cuando aumenta la cantidad, los costes y las ejecuciones no permanecen necesariamente lineales: la capacidad pertenece a la estrategia implementada.

De la señal al resultado neto

Una descomposición útil es:

resultado neto = resultado teórico − costes explícitos − spread − impacto − coste de retraso/oportunidad − costes de mantenimiento − costes de roll

No todos los componentes pueden observarse por separado y la fórmula no evita solapamientos. Por ejemplo, comparar una ejecución con la cotización media puede incluir ya parte del spread y del impacto; restarlos de nuevo supondría contarlos dos veces. El benchmark, las marcas temporales y las convenciones deben preceder a la cifra.

Componente Qué representa Factores principales
Comisiones y tarifas cargos aplicables del bróker, centro de negociación, compensación, mercado e impuestos instrumento, mercado, volumen, esquema de tarifas
Spread coste de cruzar la diferencia entre bid y ask liquidez, hora del día, volatilidad, tipo de orden
Slippage diferencia entre la ejecución y el benchmark declarado latencia, gaps, profundidad, secuencia de eventos
Impacto de mercado movimiento del precio asociado a la propia demanda de liquidez tamaño, participación, urgencia, volatilidad, resiliencia
Retraso y coste de oportunidad movimiento mientras la orden espera o sigue incompleta duración, límite, competencia, deterioro de la señal
Ejecución parcial y ausencia de ejecución cantidad ejecutada inferior a la solicitada prioridad, profundidad, cancelaciones, mercado
Préstamo préstamo de valores, disponibilidad, reclamaciones y comisiones de posiciones cortas demanda y oferta de préstamo, especificidad del valor
Financiación y margen financiación de posiciones, garantías y apalancamiento tipo, divisa, haircut, duración, intermediario
Roll y base cierre y reapertura de contratos o exposiciones curva, calendario, spread entre vencimientos, liquidez

Otros elementos pueden incluir conversión de divisas, impuesto de timbre o tratamiento fiscal. Solo deben incorporarse cuando resulten pertinentes y bajo una regla documentada.


Por qué un coste fijo no es universal

El supuesto de «un tick por operación» puede ser un escenario didáctico, no una propiedad del mercado. La misma orden cambia de coste entre una subasta y la negociación continua, condiciones normales y de estrés, un valor líquido y una microcap, o una orden pasiva y una agresiva. Incluso el signo del slippage puede ser favorable o desfavorable respecto al benchmark; eso no elimina el impacto ni garantiza que la mejora pueda repetirse.

Por tanto, cuando los datos lo permiten, el modelo debería depender de:

  • cantidad de la orden y valor nocional;
  • volumen disponible y tasa de participación;
  • spread y profundidad observables;
  • volatilidad y régimen horario;
  • lado, tipo de orden, urgencia y duración;
  • mercado, divisa y clase de activo;
  • préstamo, financiación y estado del contrato.

Una función sencilla que aumente con la participación puede ser más transparente que una simulación compleja sin calibrar. La complejidad debe seguir a los datos, no precederlos.


Órdenes y ejecuciones causales

La cadena correcta es: datos disponibles → señal → orden → interacción con el mercado → ejecución → posición. Una barra OHLC diaria no revela la secuencia intradiaria ni la cantidad disponible. Si dentro de una misma barra se cruzan un stop y un objetivo, el backtest no puede elegir retrospectivamente el resultado favorable. Necesita datos más granulares o una regla conservadora declarada.

En una orden limitada, que el «precio haya sido tocado» no implica automáticamente una ejecución: puede haber otras órdenes por delante en la cola o un volumen insuficiente. En una orden de mercado, el precio no está garantizado y la orden puede atravesar varios niveles. La latencia y las ejecuciones parciales modifican cantidad, riesgo y señales posteriores. Estas restricciones deben respetar el flujo descrito en data leakage y sesgo de anticipación.


Capacidad de la estrategia

La capacidad es la escala a partir de la cual el rendimiento neto, el riesgo o la fidelidad a la señal se deterioran de forma material. No es una cantidad fija válida para siempre. Depende de los activos, la rotación, la concentración, el horizonte, la concurrencia de participantes y el método de ejecución.

Una comprobación práctica repite el test con distintos niveles de capital o de participación. Para cada nivel registra:

Resultado Por qué importa
cantidad solicitada y ejecutada separa la exposición deseada de la posición obtenida
porcentaje del volumen mide la presión relativa sobre el mercado
coste medio y marginal muestra la no linealidad de la escala
órdenes incompletas identifica señales que no pueden implementarse
rendimiento neto y drawdown mide el deterioro económico
tiempo de liquidación conecta la capacidad con el riesgo de salida

La capacidad no queda demostrada por comparar únicamente el tamaño medio con el volumen medio: los días de estrés, los instrumentos concentrados y las salidas simultáneas pueden dominar el riesgo.


Protocolo de modelización

  1. Definir el benchmark. Declarar el precio y el timestamp frente a los que se mide la ejecución.
  2. Generar órdenes explícitas. Cantidad, lado, tipo, límite, duración y prioridad lógica deben derivar de la señal.
  3. Alinear calendario y datos. Utilizar cotizaciones, volúmenes y contratos disponibles point-in-time después de la señal.
  4. Aplicar costes explícitos verificables. Versionar esquemas de tarifas, cambios de régimen y divisa.
  5. Modelar spread e impacto sin duplicarlos. Declarar el benchmark y la función elegida.
  6. Permitir ejecuciones parciales y no ejecuciones. La posición debe usar las cantidades realmente simuladas.
  7. Añadir el carry pertinente. Préstamo, financiación y margen se acumulan con el tiempo; el roll sigue contratos y calendarios.
  8. Calibrar con la realidad cuando sea posible. Comparar ejecuciones reales o en paper con previsiones por clase de orden.
  9. Ejecutar escenarios. Los casos base, favorable y severo deben variar factores observables, no multiplicadores presentados como leyes.
  10. Probar varias escalas. Publicar la curva de coste y rendimiento neto frente al capital o la participación.
  11. Congelar el modelo antes del OOS. Los parámetros y reglas utilizados en la evaluación out-of-sample no deben adaptarse a su resultado.

Ejemplo ilustrativo — Una señal solicita 20.000 unidades. El simulador encuentra un spread variable, permite 12.000 unidades en el primer intervalo y 5.000 en el siguiente; las 3.000 restantes caducan. Resta las comisiones de las cantidades ejecutadas, estima el impacto en función de la participación y aplica financiación solo durante el periodo de mantenimiento. Cuando se duplica el capital, la cantidad no se duplica sin más al mismo precio: aumenta la participación y el test vuelve a calcular ejecuciones y coste. Las cifras son meramente ilustrativas.


Limitaciones y comunicación

El impacto contrafactual no puede observarse con precisión: no es posible ver el mercado sin la propia orden. Los modelos calibrados en periodos tranquilos pueden fallar bajo estrés; los datos de cotizaciones no siempre reconstruyen la posición en la cola; los datos históricos de préstamo y financiación pueden estar incompletos. Por tanto, un backtest no debería presentar el coste como una verdad puntual, sino como una estimación condicional con supuestos, intervalos y escenarios.

El rendimiento bruto sigue siendo útil para estudiar la señal; el rendimiento neto es necesario para evaluar la implementabilidad. Publicar ambos, junto con la rotación, las cantidades, la tasa de ejecución y la capacidad, hace visible dónde se crea o se pierde el resultado.


Fuentes

Enlaces