4 votos

¿Método adecuado para calcular los rendimientos negativos de una estrategia de negociación?

Tengo una serie temporal de ganancias/pérdidas acumuladas para una estrategia de negociación, ¿cuál es la forma adecuada de calcular los rendimientos en porcentaje para una serie de este tipo?

Mi problema es el cálculo apropiado para cuando la estrategia se vuelve negativa y en adelante. No puedo tomar log de un número negativo y no estoy seguro si el cálculo aritmético es apropiado. Agradecería cualquier sugerencia. Estoy usando matlab. Gracias

 1.0e+003 *

    5.2735
    4.3922
    3.1878
    3.6250
    3.6982
    5.3774
    5.5748
    5.0108
    1.0355
   -2.4639
   -4.6589
   -4.2990
   -3.8678
   -3.1051
   -4.5356
   -4.8130
   -8.9671
   -9.0438
   -7.2986
   -7.1849

0 votos

¿Busca cambios de un punto a otro o a lo largo de toda la serie? La media geométrica es lo que buscas si lo que te interesa es la serie completa.

0 votos

Cambiar de un punto a otro

0 votos

@user1129988, por favor, echa un vistazo a mi respuesta, así es exactamente como leí tu pregunta.

8voto

Markus Olsson Puntos 12651

Entonces, ¿son cifras de pnl acumulativas y te interesan los cambios porcentuales en pnl de un punto de datos al siguiente? No utilice los retornos logarítmicos, simplemente genere los cambios porcentuales a través de r(t)/r(t-1)-1.

4,3922/5,2735-1 = -16,71% (en su ejemplo de serie temporal he supuesto que la serie temporal está en orden ascendente. Dada su descripción de los puntos de datos de la serie temporal anterior, el cambio de su pnl de 5,2735 absoluto -> 4,3922 constituye una disminución del 16,71% de pnl generado. (No estoy seguro de por qué quiere llegar a esos números de esta manera, pero así es como lo describió, no obstante).

El uso de retornos aritméticos es totalmente correcto, de hecho es preferible a los retornos logarítmicos en algunos casos. Yo consideraría el cálculo de la rentabilidad a efectos de atribución de rentabilidad tal situación. Sé que probablemente alguien me votará en contra por este comentario, pero estaré encantado de defender esta afirmación si se me pregunta.

0 votos

Estoy de acuerdo contigo sobre el enunciado aritmético.. pero los datos se pedían en retornos logarítmicos

0 votos

No veo ninguna razón para votar en contra, pero los pros y los contras de los distintos métodos siempre son interesantes. Así que, por favor, explíquelo.

2 votos

@Bob, bien racional simple aquí es que los rendimientos logarítmicos se utilizan a menudo por los académicos debido a que el rendimiento compuesto continuamente es simétrica y logaritmos son a menudo convenientes en las derivaciones matemáticas. Sin embargo cuando inviertes 100 y un año después te quedas con 98 has perdido un 2% no un 2,0202%. Cuando ganas 2 al año después has ganado un 2,041%, a nadie le importa en tu banco o broker que los dos números no sean simétricos. Por otros posts míos probablemente te des cuenta de que soy realista y me encanta la simplicidad siempre que no se desafíe la lógica.

4voto

public static Puntos 3587

En mi caso, calcularía la rentabilidad diaria de una serie de este tipo descontando el PnL diario y dividiéndolo por algún número de volatilidad.

vamos a definir tu cumsum como "c_pnl":

daily_pnl   = c_pnl - [0; c_pnl(1:length(c_pnl-1)]
max_draw    = max(cummax(c_pnl) - c_pnl)
pct_returns = daily_pnl / max_draw # in terms of drawdown

¿No tienes ya capital en los supuestos de tu backtest? ¿Por qué no utilizar simplemente el capital? log((capital + pnl)/capital).

¿Operas a lo largo del tiempo con un capital constante o compones sobre PnL?

edit: jlowin señala el margen como otra buena forma. Margen es probablemente mejor que el capital, ya que incorpora un cierto nivel de riesgo de la estrategia y se puede comparar pnl / margen más fácilmente.

1 votos

Upvoted porque normalizar con capital o margen es definitivamente la manera de salir de este lío. Una duda sobre la normalización con reducción máxima, sin embargo, es que algunos de los números pnl están siendo ajustados por un valor no conocido en el momento de que pnl. Eso podría ser problemático, por ejemplo, si en el futuro la reducción máxima fuera aún mayor. En ese caso, la ejecución del mismo análisis daría rendimientos porcentuales diferentes para estas observaciones. Si se trata de un análisis de una sola vez, tal vez no sea un problema, o tal vez podría solucionarse dividiendo pnl en el momento t por la reducción máxima observada en el momento t.

0 votos

Estoy de acuerdo contigo en el aspecto prospectivo de la reducción máxima. Quería algo que pudiera compararse fácilmente entre estrategias.

0 votos

Totalmente de acuerdo y me gusta mucho tu reflexión.

1voto

arfon Puntos 829

Se trata de un problema muy interesante.

No estoy de acuerdo con el uso de cualquier forma de rendimiento porcentual -convencional o logarítmico- simplemente porque carecen de sentido para valores de renta variable negativos (supongo que esta serie de precios procede de algún tipo de posición con margen). Te ves obligado a elegir entre los rendimientos matemáticamente "correctos" por los que son "correctos" desde el punto de vista del titular de la cuenta.

Consideremos los dos últimos resultados: un saldo patrimonial negativo de -7,30 seguido de una mejora a un saldo negativo de -7,18. Convencionalmente, se trata de un movimiento del -1,64% (-7,18 / -7,30 - 1), aunque, por supuesto, podemos ver que el saldo de la cuenta se está moviendo positivamente (a favor del titular de la cuenta).

¿Es "correcto"? Claro, matemáticamente -7,18 es -1,64% de -7,30. Pero si intenta calcular cualquier estadística a partir de estos rendimientos, los días ganadores y perdedores se invertirán, por lo que no es correcto desde un punto de vista práctico y arruinará su percepción del rendimiento de la cuenta (como el rendimiento medio, la tendencia, el riesgo).

Sin embargo, es correcto si consideramos que es la rentabilidad que experimenta quien está "en el dinero" con respecto a esta cuenta de margen en ese momento. Cuando el saldo de la cuenta es positivo, el titular de la cuenta (presumiblemente) está experimentando ganancias. Cuando el saldo es negativo, el prestamista del margen está obteniendo beneficios. Los porcentajes de rentabilidad calculados convencionalmente son un reflejo de sus respectivas posiciones multiplicado por el signo de su beneficio acumulado.

Los rendimientos logarítmicos adolecen exactamente del mismo problema: acercarse a cero siempre se considera un rendimiento "negativo", sin tener en cuenta el hecho de que existe un saldo patrimonial negativo.

Sin embargo, para responder a una parte de su pregunta, puede calcular los rendimientos logarítmicos de su serie de precios negativa, con la excepción del punto en el que cruza el cero. Tenga en cuenta que log(x) - log(y) = log(x/y). Por lo tanto, en lugar de diferenciar el logaritmo de dos números, basta con tomar el logaritmo de su relación. El ejemplo anterior se convierte en log(-7,18 / -7,30) = -1,65%, que se aproxima mucho al resultado aritmético.

En el punto de cruce, este método fallará y tendrás que recurrir a un cálculo aritmético (con todas las advertencias anteriores).

La mejor manera de hacerlo es utilizar un saldo de margen o una posición de capital riesgo. Añádalo a la serie de precios para desapalancarla y evitar saldos negativos. A continuación, cualquiera de los dos métodos de cálculo de los rendimientos funcionará con normalidad.

1 votos

Por favor, revisa tus matemáticas, son bastante simples, pero te equivocas por todas partes, calculas incorrectamente porcentajes simples, y te equivocas en la señalización un par de veces.

0 votos

Freddy, ¿puedes ser más específico? Veo que pasé por alto un signo negativo en el tercer párrafo, pero eso no es un cálculo -- Dado que el único porcentaje que calculo es incuestionablemente -1,64%, ¿es posible que estés confundiendo mis logaritmos naturales con logaritmos de base-10? Es una notación bastante estándar.

1 votos

" Claro, matemáticamente -7,18 es -1,64% desde -7,30". ¿Desde cuándo eso es cierto? Debo haberme dormido en la escuela primaria.

1voto

Mridul Puntos 21

Tengo una serie temporal de ganancias/pérdidas acumuladas para una estrategia de negociación, ¿cuál es la forma adecuada de calcular los rendimientos en porcentaje para una serie de este tipo?

Corrígeme si me equivoco, pero me parece que no existe el retorno por P&L. Tu serie contiene el beneficio neto que en sí mismo es una rentabilidad. Podrías calcular el cambio relativo de tu serie, pero no tiene sentido cuando pasas de beneficios a pérdidas y viceversa. Aquí es la discusión relevante con el enlace al WSJ que no proporciona el cambio porcentual para los ingresos netos en tal escenario.

-1voto

m12 Puntos 36

Una solución consiste en sumar a las pérdidas y ganancias acumuladas el capital inicial y transformar los puntos ganados en efectivo.

Esto es lo que suelo hacer. Comercio con divisas.

dollarPerPip = contracts * 100; % Here i calculate how much a pip worth in dollar, this value is true for EURUSD forex
cpnl = cumsum(pnl);
cpnl = (cpnl * dollarperPip) % Here transform pips in cash
cpnl = cpnl + initialEquity; % add the initialEquity
maxdd = maxdrawdown(cpnl); % calculate the max drawdown

Si una estrategia va por debajo del margen requerido para el comercio, en mi opinión, no vale la pena calcular la reducción máxima, por lo que descartar.

Espero que esto ayude.

0 votos

¿Podría explicar por qué funciona?

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