3. Estructuras de datos: strings, listas, tuplas y diccionarios
Nivel 2: Python desde Cero para Finanzas
Además de los tipos básicos, Python tiene cuatro estructuras que vas a usar en prácticamente cualquier script financiero: strings, listas, tuplas y diccionarios.
Un string es texto — el ticker de una acción, el nombre de una estrategia. Se puede indexar como si fuera una lista de caracteres, y aquí llega el primer detalle que sorprende a cualquiera que venga de Excel o de MATLAB: en Python, la indexación empieza en 0, no en 1.
ticker = "AAPL"
ticker[0] # 'A' - el primer caracter, indice 0
ticker[0:2] # 'AA' - desde el indice 0 hasta el 2 (sin incluirlo)
len(ticker) # 4 - numero de caracteresUna lista es una colección ordenada y modificable de elementos, y es probablemente la estructura que más vas a usar. Se crea con corchetes, y a diferencia de un array de otros lenguajes, puede mezclar tipos distintos dentro de la misma lista — aunque en la práctica, para datos financieros, casi siempre vas a querer que todos los elementos sean del mismo tipo.
precios_semana = [182.52, 184.10, 179.88, 181.45, 183.20]
precios_semana[0] # 182.52, el primer precio
precios_semana[-1] # 183.20, el ultimo precio (los indices negativos cuentan desde el final)
precios_semana[1:3] # [184.10, 179.88], un tramo de la listaPuedes añadir elementos con append, y las listas son mutables: puedes cambiar cualquier elemento asignándole un nuevo valor directamente por su índice.
precios_semana.append(185.00) # anade un nuevo precio al final
precios_semana[0] = 182.00 # corrige el primer precioUna tupla es como una lista, pero inmutable: una vez creada, no puedes modificar sus elementos. Se usa típicamente para agrupar datos que van juntos y no deberían cambiar por accidente, como un par de coordenadas o, en trading, algo como el par (ticker, fecha_de_entrada) de una operación.
operacion = ("AAPL", "2026-01-15")
ticker, fecha = operacion # desempaquetar la tupla en dos variables
operacion[0] = "MSFT" # esto lanza un error: las tuplas no se pueden modificarUn diccionario almacena pares clave-valor, y es la estructura ideal cuando necesitas buscar un dato por nombre en vez de por posición — por ejemplo, guardar el último precio de varios tickers a la vez.
ultimos_precios = {
"AAPL": 182.52,
"MSFT": 415.30,
"GOOGL": 178.90
}
ultimos_precios["AAPL"] # 182.52
ultimos_precios["TSLA"] = 245.10 # anade una nueva entrada al diccionarioLa elección entre lista, tupla y diccionario no es solo de gusto: una lista para una secuencia de precios en el tiempo, una tupla para un dato compuesto que no debe cambiar, y un diccionario para buscar valores por nombre — usar la estructura equivocada suele acabar en código más largo y más lento del necesario.