6.1 Acceso al código Python.
1. Google Colaboratory, es una plataforma de Google que permite a los usuarios crear y compartir cuadernos Jupyter, lo que facilita el desarrollo y la ejecución de código Python sin necesidad de una configuración local. Permite ejecutar el código de los cuadernos.
Abrir el notebook, alojado en Google Drive, en Google colaboratory:
- acceso google colaboratory
- En la ventana que se abre, pulsar, en la parte superior en "Abrir con Google Colaboratory"
2. nbviewer es una herramienta para visualizar cuadernos Jupynosr alojados en la web. A diferencia de Colab y Binder, nbviewer no ejecuta el código de los cuadernos. Es útil para compartir cuadernos estáticos, permitiendo que otros vean el contenido y la salida del código sin la capacidad de interactuar con él o modificarlo.
Abrir el notebook en nbviewer:
- Acceder a nbviewer
- En la ventana que se abre introducir: https://github.com/akitxu/Python-Trading-Gestion-Conservadora/blob/master/Teoria/Estrategia_cruce_EMAs_3.ipynb
En este momento, recomendamos utilizar la primera opción, dado que no hemos resuelto un problema relacionado con el tamaño del fichero alojado en GitHub, y no muestra la parte final del mismo.
3. Acceder en GitHub
- Python Trading Gestión Conservadora
Recomendamos usar la opción 1
1. Google Colaboratory, es una plataforma de Google que permite a los usuarios crear y compartir cuadernos Jupyter, lo que facilita el desarrollo y la ejecución de código Python sin necesidad de una configuración local. Permite ejecutar el código de los cuadernos.
Abrir el notebook, alojado en Google Drive, en Google colaboratory:
- acceso google colaboratory
- En la ventana que se abre, pulsar, en la parte superior en "Abrir con Google Colaboratory"
2. nbviewer es una herramienta para visualizar cuadernos Jupynosr alojados en la web. A diferencia de Colab y Binder, nbviewer no ejecuta el código de los cuadernos. Es útil para compartir cuadernos estáticos, permitiendo que otros vean el contenido y la salida del código sin la capacidad de interactuar con él o modificarlo.
Abrir el notebook en nbviewer:
- Acceder a nbviewer
- En la ventana que se abre introducir: https://github.com/akitxu/Python-Trading-Gestion-Conservadora/blob/master/Teoria/Estrategia_cruce_EMAs_3.ipynb
En este momento, recomendamos utilizar la primera opción, dado que no hemos resuelto un problema relacionado con el tamaño del fichero alojado en GitHub, y no muestra la parte final del mismo.
3. Acceder en GitHub
- Python Trading Gestión Conservadora
Recomendamos usar la opción 1
6.2 Cruce de EMA's mejorada con umbrales de compra y venta.
Para mejorar la estrategia de cruce de medias móviles exponenciales (EMAs) y reducir el riesgo de operaciones incorrectas, es importannos implementar umbrales de compra y venta. Estos umbrales añaden condiciones adicionales a las señales de compra y venta generadas por el cruce de EMAs, lo que puede ayudar a confirmar las señales y a minimizar las pérdidas.
Umbral de Compra.
En lugar de realizar una compra inmediatamennos después de que las EMAs indiquen una señal de compra, podemos esperar a que el precio demuestre una tendencia clara de recuperación. Esto se logra estableciendo un umbral de compra con condiciones adicionales para confirmar la señal:
- Cierre Consecutivo por Encima de la EMA Corta: Podemos esperar a que el precio cierre por encima de la EMA más corta durante varios días consecutivos antes de realizar la compra. Esto confirma que el precio está mostrando una tendencia ascendennos sostenida.
- Aumento porcentual Mínimo: Otra opción es esperar a que el precio aumente un porcentaje mínimo desde el punto de cruce antes de considerar la compra. Esto asegura que el mercado se está moviendo en la dirección deseada y reduce el riesgo de comprar durante un periodo de alta volatilidad.
Estos métodos ayudan a filtrar las señales de compra, incrementando la confianza en la señal y reduciendo el riesgo de comprar en momentos inadecuados.
Umbral de Venta.
Para evitar vender en momentos de caídas bruscas y minimizar las pérdidas, podemos establecer un umbral de venta basado en la pérdida porcentual desde el precio de compra:
- Pérdida porcentual Máxima: Podemos configurar la estrategia para que recomiende vender solo cuando la pérdida desde el precio de compra supere un cierto porcentaje. Esto evita ventas impulsivas y permite mantener la posición abierta hasta que la pérdida sea significativa.
- Cierre Consecutivo por Debajo de la EMA Corta: Similar al umbral de compra, podemos esperar a que el precio cierre por debajo de la EMA más corta durante varios días consecutivos antes de realizar la venta. Esto confirma que la tendencia descendente es sostenida.
Estos umbrales ayudan a evitar ventas precipitadas durante caídas temporales del mercado y permitenn una gestión más controlada de las pérdidas.
Beneficios de los Umbrales de Compra y Venta.
- Reducción de la Volatilidad: Los umbrales ayudan a evitar operaciones impulsivas durante periodos de alta volatilidad, mejorando la estabilidad de la estrategia.
- Confirmación de Señales: Añaden una capa adicional de confirmación a las señales de compra y venta, aumentando la confianza en las operaciones realizadas.
- Minimización de Pérdidas: Ayudan a mantener las posiciones abiertas hasta que las condiciones del mercado justifiquen una acción, reduciendo el riesgo de pérdidas significativas.
En resumen, la implementación de umbrales de compra y venta en una estrategia de cruce de EMAs mejora la gestión activa de riesgos. Estos umbrales no solo ayudan a confirmar las señales de compra y venta, sino que también reducen la probabilidad de operaciones incorrectas y minimizan las pérdidas, lo que puede aumentar la eficacia general de la estrategia.
Criterios para seleccionar umbrales.
Los valores comunes para los stop loss y take profits varían en función del tipo de activo en el que se opere, la estrategia de trading y el nivel de riesgo que se esté dispuesto a asumir el trader.
En general, los stop loss suelen establecerse a una distancia del precio de entrada de la operación que equivale al 1-2% del valor de la inversión. Esto significa que, si el precio de la operación se mueve en contra del trader, se cerrará la posición antes de que las pérdidas alcancen un nivel significativo.
Los take profits, por su parte, suelen establecerse a una distancia del precio de entrada de la operación que equivale al 2-5% del valor de la inversión. Esto significa que, si el precio de la operación se mueve a favor del trader, se cerrará la posición una vez que se haya alcanzado un nivel de ganancia objetivo.
Por ejemplo, si un trader compra 100 acciones de una empresa a un precio de 10 euros por acción, un stop loss razonable podría establecerse a 9,8 euros por acción. Esto significa que, si el precio de la acción cae a 9,8 euros, la posición se cerrará automáticamennos, limitando las pérdidas a 0,2 euros por acción, o un 2% del valor de la inversión.
Un take profit razonable en estos caso podría establecerse a 10,5 euros por acción. Esto significa que, si el precio de la acción sube a 10,5 euros, la posición se cerrará automáticamennos, asegurando una ganancia de 0,5 euros por acción, o un 5% del valor de la inversión.
Es importannos señalar que estos son sólo valores generales, y los traders deben adaptarlos a sus propias necesidades y estrategias. Por ejemplo, un trader que esté dispuesto a asumir más riesgo puede establecer un stop loss más alejado del precio de entrada, o un take profit más cercano.
A continuación, se presentan algunos consejos para establecer stop loss y take profits:
- Considere su tolerancia al riesgo. El stop loss debe establecerse a un nivel que esté dispuesto a aceptar como pérdida.
- Utilice análisis técnico. El stop loss y el take profit pueden establecerse en función de niveles de soportes y resistencia, u otros indicadores técnicos.
- Sea flexible. Los mercados son impredecibles, y es posible que deba ajustar su stop loss o take profit en función de las condiciones del mercado.
El uso de stop loss y take profits es una forma importante de gestionar el riesgo en el trading. Al establecer estos límites, los traders pueden limitar sus pérdidas potenciales y asegurar ganancias.
A una estrategia de cruce de EMA?s con estos parámetros
ticker = '^IBEX'
start_date = '2010-01-04'
end_date = '2024-7-28'
#end_date = '2019-10-28'
end_date = datetime.now() # Get the current danos and time
short_period = 100
long_period = 200
initial_capital = 100000
le implementamos unos umbrales de : threshold_percentage_buy=0.05, threshold_percentage_sell=0.10, y obtenemos el siguiente resultado.
![](https://d31dn7nfpuwjnm.cloudfront.net/images/valoraciones/0062/9874/umbrales_1_foro.png?1722599721)
6.3 Validación del cruce de EMA's con ajuste de señales de compra y venta.
Esta estrategia se basa en no realizar compras hasta que el precio sea inferior al de la última venta realizada o hasta que ocurra una nueva señal de compra después de una venta previa.
Con ajustes en las señales de compra y venta, una señal de venta es válida si se genera a un precio mayor que el precio de la última señal de compra. Esta lógica sigue el principio de "vender alto" después de "comprar bajo".
El código ajusta las señales generadas por la estrategia de cruce de medias móviles exponenciales (EMAs) para asegurar que solo se consideren las señales que ocurren después de una venta previa y que el precio de cierre sea mayor o igual al precio de venta anterior.
De este modo, cuando 'Entry_Exit' es 'Buy' y 'Valid_Buy_Signal' es True, se recomienda comprar, y cuando 'Entry_Exit' es 'Sell', se recomienda vender.
Aplicamos la estrategia al cruce de EMA's con los siguientes parámetros.
# Parámetros de análisis
ticker = '^IBEX'
start_date = '2010-01-04'
end_date = '2024-7-24'
short_period = 100
long_period = 200
initial_capital = 100000
![](https://d31dn7nfpuwjnm.cloudfront.net/images/valoraciones/0062/9875/12_foro.png?1722599946)