En la segunda parte de esta serie de artículos analizamos el navegador anaconda y las funciones de su editor Spyder. En esta nueva parte, nos centraremos en los conceptos básicos de la programación con Python.
Explicación de los términos necesarios para la comprensión de los tipos de datos
Antes de comenzar con la explicación de los tipos de datos individuales en Python, primero analizaremos sus componentes. Los cuales incluyen los términos variable y valor. Seguramente conocerá las variables de sus lecciones de matemáticas cuando tratábamos de resolver ecuaciones con la incógnita “x”. Si en aquellos momentos tuvo éxito, acabaría obteniendo el valor de “x”. Lo cual es exactamente lo que también se hace en Python.
Por ejemplo, puede definir que x es 7. El carácter x es el nombre de la variable que puede contener cualquier combinación de caracteres del alfabeto inglés. Si le asigna el 7 y ahora teclea la x en la consola le aparecerá el número 7, porque hemos almacenado en ella dicho dato. Es tan sólo una variable. A la cual la hemos nombrado como x e introducido el valor 7. Por supuesto, una de estas variables puede absorber mucho más que solo un número. Por ejemplo, podría colocar una cadena literal en ella.
La diferencia con la variable que usamos para el número simple es que es otro tipo de variable. Y así construiríamos el puente hacia los diferentes tipos de datos en Python.
Tipos de datos
Hay 4 tipos de datos básicos: Integer, Float, String y Boolean. Si asigna un valor a una variable, no necesita decirle a Python qué tipo de datos será su valor, Python lo hace automáticamente. Veamos qué ocurre en nuestro ejemplo anterior: si el valor no es un decimal, entonces es un número entero. Con lo cual el número 7 pertenecerá a este tipo.
También se podrá usar una variable para introducir varios caracteres y asignarle un número de dígitos decimales. Por ejemplo, defina la variable “coste de transacción” con el valor 10.5 introduciendo lo siguiente en Python: coste de transacción = 10.5 (Atención: ¡Tenemos que darnos cuenta de que Python usa puntos en lugar de comas!). En este caso, es el tipo de datos Float.
El siguiente tipo de datos es una cadena. También puede asignar una cadena a una variable (solo la llamamos “string_name”), como “hola mundo”. En este caso, es importante que escriba el texto detrás del signo igual en Python entre comillas (“...”). Lo cual quedaría así: string_name = “Hello World”. Ahora si escribe en la consola “string_name”, obtendrá el valor “Hello World”.
También se debe tener en cuenta que no es importante para los tipos de datos el nombre de variable que asigne. Con lo cual es posible usar el tipo “integer_name = ‘text’” o “initiation = ‘text’”. En cualquier caso, Python habría reconocido independientemente por las comillas que es una cadena. El tipo de datos Boolean es un tipo de datos que ahorra espacio. Almacena solo 2 valores: “falso” o “verdadero”.
Detrás de la cadena “falso” hay un enlace interno al número 0 y de “verdadero” al 1. El booleano es un tipo de datos útil si desea crear consultas específicas. En términos abstractos, podríamos formular una consulta de la siguiente manera: “¿Son 4 menos que 5?” Traducido a Python, escribirías la declaración “6 <5”. En la respuesta, Python indicaría “falso”.
Específicamente, como trader, por ejemplo, podría preguntar si una acción específica ha sido comprada en un momento dado. Python simplemente te diría si ha sido el caso o no. Si desea crear un booleano, escriba: bool_name = True. Debido a que un valor numérico se esconde detrás del Booleano, también podrá utilizar el Booleano con fines de cálculo.
Python como calculadora
Estos 4 tipos de datos juntos hacen de Python una calculadora de bolsillo, por ejemplo, para realizar cálculos complejos rápidos. Los símbolos de cálculo comunes (+, -, * y /) que usted conoce de una calculadora normal tienen la misma función en este lenguaje de programación. Si desea subir a una potencia más alta, simplemente escriba “**” con lo que “5 ** 2” el resultado será 5² o 25. Usar paréntesis funciona no cambia en Python. Una diferencia es que el punto está antes del guión. Su calculadora se basa en números.
También puede establecer operaciones con variables enlazadas. Si escribe “5 + x - costes de transacción - bool_name”, en el fondo se calcula “5 + 7 - 10.5 - 1”. Lo cual le simplificará el trabajo como programador. Es importante que, si solo usa los valores para su cálculo, sin ponerle nombres descriptivos, puede ocurrir que ya no sepa lo que realmente significa el valor respectivo. Pero si tiene un nombre de variable adecuado, entonces se simplificará enormemente el trabajo.
También puede transferir el valor de una variable a otra. Por ejemplo, si define la variable “a” como “2”, podrá decir que “b = a” y el valor se copiará a la variable “b”. Luego introduzca “b” en la consola y se le mostrará el valor “2”. Si también desea transformar el resultado a texto, usamos los llamados comandos en la consola, en este caso el comando “print ()” ya mencionado en la última parte que vimos de la serie. Los comandos son instrucciones estandarizadas que son reconocidas automáticamente por el programa. El comando print() imprime todo lo que está en el paréntesis como una cadena.
Para ello el texto tiene que estar de nuevo entre comillas. Se pueden conectar diferentes tipos de datos con una coma en el comando print (). Veamos un ejemplo en Python: print (‘Ahora viene el resultado:’, 5 + 3 + costes de transacción). El resultado se muestra en la Figura 1.
Funciones
Para que no tenga que introducir siempre las secuencias de programación a mano, existe una herramienta llamada: funciones. Permite programar secuencias una vez y reproducirlas repetidamente con diferentes valores. Por ejemplo, suponga que desea crear una nueva variable llamada “nuevo”. Esta variable consiste enlaza las variables “a” y “b”. La variable “nuevo” debe calcular lo siguiente: a + 2 * b + 35. Las variables “a” y “b” tienen valores diferentes: “a = 2, b = 3” y posteriormente valdrán “a = 5, b = 6”. Normalmente, tendría que definir “a” y “b” una y otra vez con nuevos valores. Sin embargo, lo puede simplificar definiendo una función con el comando “def” y a continuación el nombre de función, que recibe 2 parámetros, con ellos siempre calculará la variable “nueva” con valores diferentes para “a” y “b”. Es importante que las variables “a”, “b” y “nuevo” solo se definan dentro de esta función con la información correspondiente para evitar conflictos de nombres.
Definir y llamar a una función
Para comprenderlos de forma más fácil, definamos una función con nuestro ejemplo. Comenzaremos con el uso del comando “def”. Al cual le seguirá el nombre de la función “some_functionname ()”. Entre paréntesis, después del nombre, debe insertar los parámetros “a” y “b”, ya que son necesarios para el cálculo de la variable “nuevo”. Para que Python sepa que la siguiente línea también pertenece a la función, debe estar sangrada.
Ahora debe especificar lo que debe hacer realmente la función. En nuestro caso solo queremos que se calcule la variable “nuevo”. Para ello definimos “Nuevo = a + 2 * b + 35”. Para que la función también calcule el valor de la variable “nuevo”, necesitamos el comando “retorno”. Detrás de este comando debe estar lo que queremos que se reproduzca, por ello pondremos el nombre de la variable. Si ahora simplemente escribe el nombre de la función en la consola y define los valores de los parámetros “a” y “b” entre paréntesis, el programa calcula automáticamente la variable “nuevo” con los valores correspondientes. En nuestro caso se vería así: any_functional name (a = 2, b = 3) y se obtendría el resultado que de la Figura 2.
Lo mejor es que podrá guardar el resultado nuevamente como una variable. Simplemente defina lo siguiente: nombre_variable = cualquier nombre funcional (a = 2, b = 3). Así, el resultado de la función se almacenará como variable “variable_name”.
Podrá usar esta variable nuevamente para continuar contando como en el ejemplo de la calculadora. Si, por otro lado, quiere saber qué sale con los valores “a = 5, b = 6”, entonces, por supuesto, podrá verificarlo de nuevo con la misma función. Solo tendrá que cambiar los valores de los parámetros “a” y “b”: some_function_name (a = 5, b = 6).
Funciones de bloques
Puede hacer que la vida en Python sea aún más fácil accediendo a las funciones creadas y publicadas por usted o por otros programadores. Lo cual funciona mediante el uso de módulos. Un módulo es un archivo con funciones e instrucciones programadas. Cada módulo también tiene su propio espacio de nombres para las variables. Es decir, en 2 módulos podrá definir las mismas variables de manera diferente. Los módulos se almacenan como scripts en Python con la extensión “.py”.
A modo de ilustración, almacenaremos un módulo con la función “some_function_name” en “function_module.py”. Si ahora iniciamos un nuevo archivo de Python y queremos usar la función del módulo, necesitamos importar este módulo. Lo cual se realiza con el comando “importar”. En nuestro caso, usted escribirá: “módulo de función de importar”. Se omite el final “.py”.
Podría suceder que Python no encuentre el módulo que creó. Por ello, necesitas decirle a python exactamente dónde buscarlo. Para poder usar sus propios módulos, primero debe usar los módulos estándar de Python, que allí se almacenan, donde el sistema los encuentra inmediatamente. Importe el módulo “sys” del propio sistema, que le proporcionará llamadas al sistema, con “import sys”.
Utilice este módulo para averiguar dónde está Python buscando los módulos para importarlos. El comando “sys.path” le muestra todas las rutas que está usando desde la lista de rutas. Podrá ampliarlos y crear su propia carpeta en la que insertará los módulos. Por ejemplo, cree la carpeta “pythonModule” en la carpeta del documento y simplemente copie la ruta desde la ventana del documento (en nuestro caso es “C: \ users \ alank \ Documents \ pythonModule”). Para usar esta ruta en Python, debe reemplazar “\” con “/”.
Para indicarle a Python dónde está la nueva carpeta, escriba: “sys.path.append (‘C: / users / alank / Documents / python-Modules’)”. “Append ()” es una función que permite a “sys.path” agregar un nuevo elemento. Finalmente, cuando se agrega la nueva ruta, Python busca módulos.
Ahora podrá importar el módulo nuevo deseado desde la carpeta “pythonModule”. Ahora que ya ha introducido todas las funciones y las ha guardado como módulos, podrá usarlas escribiendo “function_module.any_function_name (a = 4, b = 5)”. Necesita el punto entre el nombre del módulo y el nombre de la función porque debe especificar qué función desea utilizar del módulo.
Conclusión
En este artículo, hemos descrito los 4 tipos básicos de datos de Python. Además, usted ha escrito su propia función, la ha guardado correctamente y, lo que definitivamente no debemos subestimar, la ha vuelto a llamar correctamente. En el siguiente artículo, profundizaremos en los conceptos básicos de Python y, además, veremos las bibliotecas que están disponibles para usted, además de otras características útiles.
Entonces se dará cuenta de que no tiene que reinventar la rueda y que ya existen bibliotecas que le permitirán realizar backtesting de sus estrategias de trading. Por lo tanto, podrá acceder al conocimiento de otros programadores y traders para así desarrollar su enfoque en una estrategia rentable.
Este artículo ha sido extraído de la edición de Diciembre-Enero de la revista TRADERS' by Rankia, si estás interesado en leer más artículos relacionados con el Trading, puedes suscribirte de forma gratuita a continuación.
Suscríbete Gratis >>> ¡Recibirás todos los meses el nuevo número de la revista TRADERS' by Rankia! Cada mes, nuevos artículos, entrevistas y noticias relacionados con el mundo del Trading.