% para arriesgar en cada operación?

El espacio de los traders quant: sistemas de trading, gestión monetaria, automatización de sistemas.
Avatar de Usuario
agmageton
Mensajes: 3596
Registrado: 30 Ene 2008 11:32

Re: % para arriesgar en cada operación?

Mensaje por agmageton »

Rafa sería un tema que habría que desarrollar en profundidad y voy jodido de tiempo últimamente, la esencia esta en crear un modelo sostenido sobre la teoría de la perspectiva que nos de un contexto en la asignación de posibilidades, para ello determinamos espacios de apalancamiento, vinculados al estudio de variables en mi caso, como volatilidad, correlación, etc (más o menos inspirado Vince en THE LEVERAGE SPACE TRADING MODEL, no sé si has leído el libro.), creando caminos probabilísticos de asignación...

Pongo un ejemplo muy claro y simple, si estamos en un portfolio de un año vista en acciones, llegados a un momento temporal del portfolio donde la volatilidad crea unos resultados dados, nuestros algoritmos de probabilidad(volatilidad, momento de mercado, correlación, espacio apalancamiento/tiempo, etc) dan información a nuestra gestión monetaria para que en vez por ejemplo tener una f optima-segura normal(la que se utiliza normalmente) con incremento geométrico, tenga una reducción del 20% por ejemplo.

saludos.
La entrada te da la probabilidad y la salida la rentabilidad...
Avatar de Usuario
Rafa7
Mensajes: 4924
Registrado: 17 Dic 2009 21:36
Contactar:

Re: % para arriesgar en cada operación?

Mensaje por Rafa7 »

agmageton escribió:más o menos inspirado Vince en THE LEVERAGE SPACE TRADING MODEL, no sé si has leído el libro
agmageton,

No he leído ese libro.
agmageton escribió: Pongo un ejemplo muy claro y simple, si estamos en un portfolio de un año vista en acciones, llegados a un momento temporal del portfolio donde la volatilidad crea unos resultados dados, nuestros algoritmos de probabilidad(volatilidad, momento de mercado, correlación, espacio apalancamiento/tiempo, etc) dan información a nuestra gestión monetaria para que en vez por ejemplo tener una f optima-segura normal(la que se utiliza normalmente) con incremento geométrico, tenga una reducción del 20% por ejemplo.
No creo haber entendido el ejemplo, pero se parece al espíritu del Fixed Ratio, en el que a medida que tiene éxito el sistema y tu capital ha crecido mucho vas reduciendo la fracción de riesgo. A 1 año, el algoritmo Fixed Ratio sirve para capturar la tendencia mas importante del año y después protege las ganancias de dicha tendencia.
Seria divertido ver una coincidencia entre Ralph Vince y Ryan Jones, jejeje

Saludos.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
Rafa7
Mensajes: 4924
Registrado: 17 Dic 2009 21:36
Contactar:

Re: % para arriesgar en cada operación?

Mensaje por Rafa7 »

superthon escribió:Es decir, asumimos un 1% o f% de riesgo en cada posición que abrimos, pero ¿hasta cuantas posiciones diferentes podemos abrir?
Hola superthon,

Ya tengo una respuesta sencilla y efectiva, basado en la descomposición del riesgo en sistemático y diversificable.
El riesgo de una cartera se puede descomponer asÍ:
R = Rs + Rd = Beta * Rm + Rd = (C * R / Rm) * Rm + Rd = C * R + Rd
Donde R = Riesgo de la cartera, Rs = Riesgo sistemático, Rd = Riesgo diversificable, Beta = Beta de la cartera respecto al índice del mercado, C = Correlación de la cartera respecto al índice del mercado y Rm = Riesgo del mercado.

De esta descomposición deducimos que:
Rs = C * R
Rd = (1 - C) * R.

Si abrimos varias posiciones simultáneas en diferentes valores, podemos suponer que el riesgo diversificable se va a eliminar gracias a la diversificación (por abrir varias posiciones en diferentes valores) y el riesgo que no podemos eliminar es el riesgo sistemático.

Supongamos que seguimos el algoritmo, mencionado en otros post de este hilo, de arriesgar en cada posición una fracción f de la equity disponible. En este caso la fracción de nuestra equity que arriesgamos en n operaciones será (1 - f)^n.
Pero si consideramos la correlación de cada valor respecto al índice del mercado, el riesgo será menor. Entonces la fracción de capital que queda si se pierde todo lo arriesgado es:
(1 - f * C1) * ... * (1 - f * Cn)
Donde Ci es la correlación del valor de la operación i-ésima respecto al índice del mercado.
Y debería cumplirse:
(1 - f * C1) * ... * (1 - f * Cn) >= 1 - f

Vamos al ejemplo. Supongamos que la f-óptima (Kelly, o f-óptima de Ralph Vince, o Ratio de Sharpe simplificado), que llamaremos K, es del 10% y queremos un RoR del 1%. Entonces:
f = -2 * K / Ln(RoR) = -2 * 0,1 / Ln(0,01) = 0,04342944819033 = 4,34%
Así que deducimos que podemos arriesgar en cada posición con una fracción que no supere el 4,34%.
Así que, si queremos, tal como sugieres, podemos arriesgar en cada operación el 1% de nuestra equity.

Ahora la pregunta, ¿Cuántas posiciones simultáneas podemos abrir?
Seguro que podemos abrir, al menos 4 posiciones (aún en el caso de que los valores estan totalmente correlacionados). Pero queremos saber si podemos arriesgar mas posiciones teniendo en cuenta que nuestra cartera de valores no está totalmente correlacionada.

Supongamos que hemos abierto la 4 posiciones y queremos saber si podemos abrir una posición más, la quinta posición:
Calculemos (1 - 0,01 * C1) * ... * (1 - 0,01 * C5). Si nos da mas de 1 -f (= 1 - 0,0434 = 0,9566) podemos abrir esa quinta posición.
Es obvio, siguiendo este algortimo, que en un momento sucederá que si hemos abierto n operaciones no podermoa abrir la operación (n + 1)-ésima porque sucederá que:
(1 - 0,01 * C1) * ... * (1 - 0,01 * C(n+1)) < 0,0434

Pero como quiero dar, en este ejemplo un número orientativo, vamos a suponer que la correlación media de los valores del mercado respecto a su índice es del 70%. Y vamos a suponer que cada valor tiene una correlación del 70% respecto al índice del mercado (lo cual no es cierto exactamente).
Entonces tenemos que el riesgo sistemático de n operaciones al 1% de fracción de riesgo será:
(1 - 0,01 * 0,7)^n = 1 - 0,0434
Aplicando logaritmos neperianos aislando n tenemos que:
n = Ln(1 - 0,0434) /Ln (1 - 0,01 * 0,7) = Ln(0,9556) / Ln(1 - 0,007) = Ln(0,9556) / Ln(0,993) = 6,46524598686514 = 6.

O sea que, en este ejemplo, podemos abrir hasta 6 posiciones simultáneamente.

Pero es mejor no mirar la correlación media sino la particular de cada valor en el que hemos abierto una posición y la correlación del valor en que queremos abrir una posición. He considerado que los valores tienen la correlación del 70% cada uno de ellos solamente para que sea mas fácil seguir el ejemplo.


Saludos.
Última edición por Rafa7 el 21 Sep 2013 11:12, editado 4 veces en total.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
agmageton
Mensajes: 3596
Registrado: 30 Ene 2008 11:32

Re: % para arriesgar en cada operación?

Mensaje por agmageton »

Rafa tienes razón el ejemplo que he puesto cuesta de coger :-D

La última formulación que has dado es correcta, donde valoras el riesgo y la correlación tanto de la cartera como del mercado, y siguiendo con lo que nos deja ver Vince podemos crear una serie de algoritmos paralelos que posibiliten una mayor probabilidad de ganancia, intentaré poner un ejemplo más convincente.

Imaginemos que tenemos una cartera de acciones, que vamos a gestionar mediante sistemas de tendencia, y creamos unos algoritmos para el propósito que vayan en dirección a la gestión del riesgo, ponemos que el algoritmo que vamos a modelizar será el fixed ratio, para añadir numero de acciones o activos.

1º algoritmo de delta para el fixed ratio= si la volatilidad de mercado esta por encima de la frontera de eficiencia digamos una baja volatilidad de frontera menor 10% y mayor que el 5%,(nuestra probabilidad de éxito según estadística es del 80% en el largo plazo) entonces nuestra delta para poner contratos será 3000€. si la frontera de eficiencia esta por encima de 20% entonces la delta será de 10.000€(nuestra probabilidad de éxito esta en el 55%), si la frontera de eficiencia esta entre 10-20% entonces 6000€(nuestra probabilidad de éxito esta en el 65%).

2º algoritmo si la frontera de eficiencia es traspasada al 20% se disminuye la posición de cartera en un 50%.(si íbamos con 2000 acciones pasamos a ir con 1000 acciones)

3º Si la rentabilidad del portfolio es mayor que x, se ponen sólo contratos con la condición que correlación <>a beneficio cartera...

4º Si la correlación de cartera es >0.70 entonces Z1 si es >30 entonces Z2 si es >20 entonces Z3 si es <20 y >0, Z4, etc.

5º Si la volatilidad de cartera es >15% entonces Y1, etc etc...

6º infinito.....

Lo que nos dice Vince, es que podemos generar una serie de algoritmos que potencien las probabilidades de ganancia en nuestro tablero de juego o el tiempo apalancamiento, para eso es fundamental saber a que estamos jugando y cada uno debe tener sus cartas bien sujetadas.

Donde a las formulas de gestión monetaria les haría falta estas variables que incrementarían las probabilidades de ganancia en el largo plazo.

fixed ratio = capital +(n*delta), donde n y delta dependen de los algoritmos mencionados anteriormente y de su propia naturaleza de crecimiento.

Si es más complejo porque entra en juego la propia idiosincrasia del tipo de sistemas que utilicemos y la modelización del espacio con reglas.

Pero imaginaros que llegáis del año 2003-2004-2005-2006-2007 con bajísimas volatilidades y un apalancamiento dimensionado y viene el 2008, el DD es mortifero como así pasó. Con reglas del espacio de apalancamiento podemos gestionar con mayor perspectiva el riesgo.

saludos
La entrada te da la probabilidad y la salida la rentabilidad...
Avatar de Usuario
Rafa7
Mensajes: 4924
Registrado: 17 Dic 2009 21:36
Contactar:

Re: % para arriesgar en cada operación?

Mensaje por Rafa7 »

agmageton,


¿Qué quiere decir que la volatilidad está por encima de la frontera de eficiencia?
¿Cómo se calcula dicha frontera?
agmageton escribió: fixed ratio = capital +(n*delta), donde n y delta dependen de los algoritmos mencionados anteriormente y de su propia naturaleza de crecimiento.
¿Fixed ratio?, ¿no te estarás refiriendo en realidad a Fixed Fraction?

Lo que no me gusta del Fixed Fraction (al menos del que formuló Ralph Vince inicialmente) es que no tiene en cuenta la volatilidad en el momento de abrir la operación. Por este motivo veo mas interesante esta versión del Fixed Fraction:
n = 1 + f * (C - C0) / R
Donde
n = número de lotes
f = Rm / Delta = Riesgo promedio por operación / Delta
Delta = Delta del algoritmo de Ralph Vince
C = Capital actual
C0 = Capital inicial
R = Riesgo de la operación.
La expresión anterior es equivalente a n = 1 + (C - C0) * Rm / (Delta * R)

Esta versión particular (probablementemente no la he inventado yo) sí que modula el riesgo en función de la volatilidad al abrir la operación. Se parece mucho al Fixed Risk.

Lo tengo clarísimo, hay que modular por volatilidad. Lo tengo clarísimo por una experiencia que no olvidaré nunca:
En un periodo estuve probando, con operaciones reales, un sistema por medio de invertir en cada operación la misma cantidad en euros. El resultado fue negativo, estaba perdiendo. La causa era que las pocas operaciones con valores de alta volatilidad fueron perdedoras. Luego miré como me hubiera ido si en lugar de invertir siempre la misma cantidad en euros, arriesgo siempre la misma cantidad en euros. Para mi sorpresa me hubiera ido muy bien.


Saludos.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com

Avatar de Usuario
agmageton
Mensajes: 3596
Registrado: 30 Ene 2008 11:32

Re: % para arriesgar en cada operación?

Mensaje por agmageton »

Rafa de lo que se trata es de poner tu formula de MM, la que sea (que sea buena para tu sistema), pongamos que hacemos una simulación de Montecarlo para la cartera y que nos decida que f optima poner, la mejor f segura que podamos conseguir.(entre el rendimiento y el DD).

Una vez tenemos la f segura que esto te lo da el MSA por simulación, cogemos y establecemos unos canales probabilísticos de optimización que pueden ir por lógica difusa perfectamente, donde se tienen en cuenta la volatilidad, la correlación, el apalancamiento de condiciones y lo que nosotros creamos óptimo por la personalidad de nuestros sistemas, formando una puntuación para añadir a la f segura, vuelvo a repetir una optimización del espacio apalancamiento del portfolio, por canales de probabilidad.

Siendo por ejemplo F segura 4% y la variable difusa de asignación 2; f(4%)/2(variable probabilidad)=2% riesgo actual, si las probabilidades del tablero de optimización fueran muy buenas y la variable de asignación probabilística nos diera 0.5 el riesgo quedaría así por ejemplo f 4%/ 0.5 (variable)= 8%.

Son ejemplos de como van los tiros, de como potenciar las probabilidades de ganancia, por un conjunto de condiciones que creen un mapa de probabilidades para la toma de decisiones y que generen una mayor probabilidad de éxito en nuestra operativa.

saludos.
La entrada te da la probabilidad y la salida la rentabilidad...
Avatar de Usuario
Rafa7
Mensajes: 4924
Registrado: 17 Dic 2009 21:36
Contactar:

Re: % para arriesgar en cada operación?

Mensaje por Rafa7 »

agmageton escribió:Siendo por ejemplo F segura 4% y la variable difusa de asignación 2; f(4%)/2(variable probabilidad)=2% riesgo actual, si las probabilidades del tablero de optimización fueran muy buenas y la variable de asignación probabilística nos diera 0.5 el riesgo quedaría así por ejemplo f 4%/ 0.5 (variable)= 8%.
agmageton,

No acabo de entender bien. Por lo que entiendo divides f por el riesgo.
Pero, ¿qué quiere decir riesgo 2 y riesgo 0,5?

Hablas de asignaciones probabilísticas.
Se me ocurre un ejemplo que no sé si tiene que ver con lo que dices.
Supongamos que tenemos un sistema de trading, con un riesgo f ya calculado (por el método que sea) y observamos que la f-óptima de las operaciones con RSI > 0,5 en la entrada es de del 20%, y que la f-óptima de las operaciones con RSI < 0,5 es del 10%. Entonces podemos hacer varias cosas:
1.- Solo operar cuando en la entrada el RSI > 0,5. O sea un filtro binario.
2.- Si el RSI < 0,5, arriesgar f / 2. Si el RSI > 0,5 arriesgar f. O sea un filtro binario.
3.- Arriesgar f * RSI * 2. O sea, un filtro difuso.

Tal vez el ejemplo no tenga nada que ver. Por favor, por un ejemplo sencillo que si que tenga que ver con lo que quieres compartir.


Saludos.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
Rafa7
Mensajes: 4924
Registrado: 17 Dic 2009 21:36
Contactar:

Re: % para arriesgar en cada operación?

Mensaje por Rafa7 »

Sres. foristas,

Voy a volver a explicar lo del algoritmo que propongo, com más claridad.

1.- Calcular la fracción f del capital reducido de la equity con un RoR (Riesgo de ruina) determinado:
f = -2 * K / Ln(RoR), donde K es la f-óptima (Kelly o f-óptima de Ralph Vince o ratio de Sharpe simplificado). Supongamos que f >= 1% (si no es así, nuestro sistema de trading es demasiado arriesgado).

2.- Arriesgar en cada operación una fracción g = 1% = 0,01 (o cualquier otro porcentaje pero que no sea superior a f) del capital reducido de la equity, y evitando abrir varias posiciones en un mismo valor.

3.- Después de n operaciones y antes de hacer la operación (n + 1)-ésima, mirar si se cumple que (1 - C1 * g) * ... * (1 - C(n+1)* g) >= 1 - f. Si se cumple, abrir la operación. Si no se cumple, no abrir la operación.

C1, ..., Cn son las correlaciones de los valores de la cartera respecto al índice del mercado. C(n +1) es la correlación del valor que queremos añadir a la cartera respecto al índice del mercado.
Equity es la diferencia entre el capital actual y el capital inicial.
El capital reducido de la equity es el el capital líquido de la cuenta mas el valor de la cartera si se efectuaran todos los stops loss menos el capital inicial. Obviamente, si hacemos stop trailing, si movemos un stop loss a nuestro favor estamos aumentando el capital reducido de la equity y facilitamos la posibilidad de que podamos abrir mas posiciones.

Una versión alternativa sería que en el apartado 3, en lugar de mirar si se cumple (1 - C1 *g) * ... *(1 - C(n+1) * g) >= 1 - f, mirar que se cumpla que (1 - C * g)^(n+1) >= 1 - f, donde C es la correlación de la cartera incuyendo el valor que queremos añadir.
Otra versión alternativa sería que en el apartado 1, aplicar la fórmula f = Ln((1 - K) / (1 + K)) / Ln(RoR), o calcular la f-secure.

El fundamento de este algoritmo (incluyendo las versiones alternativas) está basado en que cuando abrimos muchas posiciones el riesgo diversificable se elimina y solo queda el riesgo sistemático. Y el riesgo sistemático de un valor es su riesgo total multiplicado por su correlación respecto al índice del mercado.


Saludos.
Última edición por Rafa7 el 21 Sep 2013 20:08, editado 1 vez en total.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Avatar de Usuario
Rafa7
Mensajes: 4924
Registrado: 17 Dic 2009 21:36
Contactar:

Re: % para arriesgar en cada operación?

Mensaje por Rafa7 »

Rafa7 escribió: Una versión alternativa sería que en el apartado 3, en lugar de mirar si se cumple (1 - C1 *g) * ... *(1 - C(n+1) * g) >= 1 - f, mirar que se cumpla que (1 - C * g)^(n+1) >= 1 - f, donde C es la correlación de la cartera incuyendo el valor que queremos añadir.
Otra versión alternativa sería que en el apartado 1, aplicar la fórmula f = Ln((1 - K) / (1 + K)) / Ln(RoR), o calcular la f-secure.
Sres, foristas,


Lo que voy a exponer en este post, requiere de la lectura de mi post anterior de este hilo.

Una de las razones por las que me inclinaba por la fórmula del poker y que no mencioné, es que la fórmula f = Ln((1 - K) / (1 + K)) / Ln(RoR), da f mayor del 100% cuando la f-óptima es suficientemente próxima al 100%. Y eso me chocaba. Ahora entiendo porque es así: Si la f-óptima es del 100%, el riesgo de ruina es cero y, por lo tanto, si la f-óptima no es del 100% pero sí es suficientemente próxima al 100% el riesgo de ruina es inferior al 1%. Por lo tanto, en este caso, para conseguir un riesgo de ruina del 1% tendremos que arriesgar mas que la f-óptima. Pero no nos conviene arriesgar mas que la f-óptima.

Por todo lo expuesto, me inclino por esta otra fórmula:
f = Mín(K; Ln((1 - K) / (1 + K)) / Ln(RoR)).

No es que la fórmula f = Ln((1 - K) / (1 + K)) / Ln(RoR) esté mal, sino que si arriesgando f-óptima ya tenemos un riesgo inferior al 1% (porque la f-óptima fuese suficientemente próxima al 100%), ¿para que arriesgar más que la f-óptima para conseguir un riesgo de ruina del 1%?

Aquí hay dos cuestiones arbitrarias, el RoR y el g. Aunque g debe ser inferior al f calculado.
El RoR es una cuestión personal. Está de moda un RoR del 5%, y por este motivo han habido varias crisis económicas en el siglo XX. Propongo el 1%. Pero ya digo, es una cuestión personal.

En cuanto a la g, una g = 1%, es una buena elección ya que hay mas partidarios del 2%, que partidarios de menos del 1%.
Pero, de todas maneras, aspiro a que la g no sea arbitraria sino decidida matemáticamente. Sobre esto podría hablar, pero, de momento no lo haré. Solamente decir que si uno tiene poco capital, no puede permitirse diversificar y tendrá que tomar g = f, en lugar de g = 1%. Para saber si uno puede tomar una g = 1%, hay que hacer los cálculos pertinentes del capital mínimo.
De esto podría hablar si hubiera interés de los foristas.


Saludos.
¡Jesús es el Rey de Reyes y el Señor de Señores!
https://loquepermanece.blogspot.com
Si te ha gustado este hilo del Foro, ¡compártelo en redes!


Responder

Volver a “Sistemas de Trading”