Files
fn_registry/python/functions/finance/generate_gbm_prices.md
T
egutierrez 5f4f1f7508 docs: params/output semántico en 506 funciones para composabilidad
Añade campos params y output al frontmatter YAML de las 506 funciones del registry.
Cada parámetro tiene descripción semántica (qué representa, unidades, rango típico)
y cada función describe qué produce su output. Permite a agentes razonar sobre
cadenas de composición (ej: prices → log_return → sharpe_ratio) sin leer código.
2026-04-05 18:45:16 +02:00

2.0 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
generate_gbm_prices function py finance 1.0.0 pure generate_gbm_prices(initial_price: float, n_ticks: int, sigma: float, mu: float, jump_intensity: float, jump_size_std: float, seed: int) -> list[float] Genera serie de precios fundamentales con Geometric Brownian Motion + jump-diffusion. S(t+1) = S(t) * exp((mu - sigma^2/2)*dt + sigma*sqrt(dt)*Z + J*N).
simulation
gbm
price
montecarlo
finance
stochastic
false
numpy
name desc
initial_price precio inicial S(0) del activo subyacente (ej: 100.0)
name desc
n_ticks numero de ticks/pasos en la simulacion (ej: 1000). Determina len(resultado).
name desc
sigma volatilidad anualizada (ej: 0.02 para 2% por tick). Controlador clave del ruido.
name desc
mu drift anualizado (ej: 0.0 para random walk, 0.05 para uptrend). Retorno esperado por tick.
name desc
jump_intensity probabilidad de salto por tick en rango [0, 1] (ej: 0.01 para 1% por tick). 0.0 = GBM puro.
name desc
jump_size_std desviacion estandar del tamanio de los saltos (ej: 0.05 para jumps de ~5%). Normal(0, jump_size_std).
name desc
seed semilla para reproducibilidad deterministica (ej: 42)
lista de precios con len(resultado) == n_ticks. resultado[0] == initial_price. false
python/functions/finance/finance.py

Ejemplo

prices = generate_gbm_prices(
    initial_price=100.0,
    n_ticks=1000,
    sigma=0.02,
    mu=0.0,
    jump_intensity=0.01,
    jump_size_std=0.05,
    seed=42,
)
# prices[0] == 100.0
# len(prices) == 1000

Notas

Funcion pura — el seed fija el resultado deterministicamente. jump_intensity=0.0 desactiva los saltos (GBM puro). dt=1.0 por tick (tiempo discreto). Para tiempo continuo, ajustar sigma y mu en consecuencia. Requiere numpy para la generacion de numeros aleatorios y el calculo de exp.