Saltar al contenido

Descubre como obtener los datos del volume profile en python

    Volumen profile portada

    El volume profile se trata de una forma de ver el mercado más que una técnica de trading para entrar y salir de él. Podríamos decir que el volume profile se trata de ver donde se encuentran los valores de soporte y de resistencia en los cuales el precio se suele frenar y que se cuesta mucho atravesarlos. Esto nos puede dar una idea como puede moverse el precio y, junto con otras técnicas de trading, mejorar nuestro sistema.

    Si quieres enterarte más en profundidad de lo que se trata realmente volume profile, existen buenos artículos en internet sobre este tema como este o este otro. Pero seguro que habéis venido a ver como hacerlo en python, así que vamos a ello.

    La librería

    Lo primero que vamos a hacer es instalar la librería que nos sirve para trabajar con el volume profile de forma fácil. Es instalable a través de pip, y se hace de esta forma:

    pip install volumeprofile

    Podemos leer un poco más de la librería en su web. pero aquí vamos a explicar paso a paso como conseguir cada uno de los valores importantes que nos puede ofrecer esta forma de ver el mercado.

    Instanciando la clase

    Nosotros para este artículo hemos descargado los datos de Diciembre de apple desde alpaca, si queréis utilizar los mismos datos para seguir el ejemplo podéis saber como conseguir estos datos en nuestro artículo anterior.

    Un detalle importante antes de empezar es poner los nombres de columnas correctos. En el caso de que no lo hagas puede dar errores a la hora de lanzar el script. El formato correcto de las columnas son los nombres ya conocidos de “open”, “high”, “low” y “close” pero con la primera letra en mayusculas. Por esta razón, si no tienes las columnas en este formato debes de ponerla con un comando como este:

    appl = appl.rename({'open': 'Open', 'high': 'High', 'low': 'Low', 'close': 'Close', 'volume': 'Volume'}, axis=1)

    La forma de instanciar la clase es la siguiente:

    from market_profile import MarketProfile
    mp = MarketProfile(appl, tick_size=1)

    Aunque parece que la librería solo va a funcionar para Market Profile (por su nombre), nos va a ayudar bastante a conseguir los datos del volume profile. Y con solo ella vamos a obtener todo lo necesario para empezar a trabajar con esta técnica.

    Primeros pasos

    Vamos a conseguir muchos de los valores que nos puede dar esta librería para conseguir toda la información que nos puede dar volume profile para mejorar nuestro trading.

    Antes de empezar tenemos que darles cuales son los rangos que queremos tratar. Eso se hace así:

    vp_analisis = mp[appl.index.min():appl.index.max()]

    Una vez hecho esto, ya podemos ver como es el volume profile en el rango que hemos seleccionado:

    vp_analisis.profile

    Y obtendríamos una salida como esta donde podemos ver los datos de volumen para cada precio de cierre:

    Salida de Volume profile

    En esta salida vemos los datos de volumen por cada uno de los precios que ha tenído apple en el rango de fechas seleccionados. A simple vista ya podemos ver muchas cosas que nos llaman la atención, pero python hace que conseguir estos datos para nuestros scripts sea más fácil.

    Consiguiendo más datos

    Vamos a empezar consiguiendo el “Value area”, zona en la que se ha generado el 70% del volumen en el área que tenemos en el dataframe.

    >>> vp_analisis.value_area
    (171.0, 181.0)

    Ahora vamos a conseguir el POC, o el precio donde hubo más volumen:

    >>> vp_analisis.poc_price
    180.0

    Si queremos ver cuales son los “High Volume Nodes”, o las zonas donde se producen los picos de valor, podemos verlos con el siguiente comando:

    >>> vp_analisis.high_value_nodes
    Close
    165.0    134430930
    171.0    133712392
    173.0    211604950
    176.0    291942111
    180.0    339078052
    Name: Volume, dtype: int64

    Lo mismo podemos hacer para conseguir los “Low Volume Nodes” o los valles de la región:

    >>> vp_analisis.low_value_nodes
    Close
    166.0     88599811
    172.0    101198677
    175.0    204255488
    178.0     52524540
    Name: Volume, dtype: int64

    Conclusión

    Existen muchos más métodos para conseguir otros datos del volume profile con esta librería que se pueden ver en su página web. Creo que están perfectamente explicados por su parte y con esta pequeña introducción ya es suficiente para que podáis empezar a introducir el volume profile en vuestros robots de trading.

    Cualquier duda o mejora del artículo no dudeis en poneros en contacto conmigo y os contestaré lo antes posible.

    Oval@3x 2

    ¡No te pierdas ningún post!

    ¡No enviamos spam! Lee nuestra política de privacidad para más información.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *