Quant500 Academy

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 caracteres

Una 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 lista

Puedes 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 precio

Una 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 modificar

Un 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 diccionario

La 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.

El resto de Quant500

Lo que estás aprendiendo, aplicado al índice todos los días:

La cartera del modelo, cada semana en tu correo

Cada sábado, su semana en un minuto: cómo fue, lo mejor y lo peor, y qué directivos compraron con su dinero. Y el día que el modelo se rehace, qué entra y qué sale. Es una simulación, no un consejo. Como mucho un correo a la semana, sin publicidad y sin cuenta; te das de baja con un clic. Lo hace una persona: Pol Gracia.

Cartera modelo con resultados simulados, no una recomendación personalizada. Tu correo se usa solo para esto: privacidad.

Detrás de la Academia y del resto de Quant500 hay una sola persona: Pol Gracia Serrahima.