--- name: hawkes_intensity kind: function lang: py domain: finance version: "1.0.0" purity: pure signature: "hawkes_intensity(base_rate: float, hawkes_alpha: float, hawkes_beta: float, event_times: list[float], current_time: float) -> float" description: "Calcula la intensidad lambda(t) de un proceso de Hawkes en el tiempo actual. Modela la autocorrelacion temporal de eventos de mercado (rafagas de ordenes)." tags: [simulation, hawkes, stochastic-process, montecarlo, finance, point-process] uses_functions: [] uses_types: [] returns: [] returns_optional: false error_type: "" imports: [numpy] params: - name: base_rate desc: "intensidad de linea base lambda(0) del proceso Hawkes (ej: 1.0 orden/minuto). Tasa base de eventos sin influencia." - name: hawkes_alpha desc: "magnitud del salto de intensidad por evento (rango: 0.0-1.0). Mayor alpha = mayor excitacion por eventos pasados." - name: hawkes_beta desc: "velocidad de decaimiento de la memoria (rango tipico: 0.5-3.0). Mayor beta = decaimiento mas rapido, memoria mas corta." - name: event_times desc: "lista de timestamps de eventos pasados (ej: [0.5, 1.2, 1.8]). Milisegundos o segundos segun escala." - name: current_time desc: "timestamp actual en la misma escala que event_times (ej: 2.5)" output: "intensidad lambda(current_time) en rango [0.0, infinito). Valores > base_rate indican excitacion por eventos recientes." tested: false tests: [] test_file_path: "" file_path: "python/functions/finance/finance.py" --- ## Ejemplo ```python intensity = hawkes_intensity( base_rate=1.0, hawkes_alpha=0.8, hawkes_beta=2.0, event_times=[0.5, 1.2, 1.8], current_time=2.5, ) # Intensidad > base_rate por excitacion de eventos pasados ``` ## Notas Funcion pura — determinista dado el mismo historial de eventos. `hawkes_alpha` controla la magnitud del salto de intensidad por evento. `hawkes_beta` controla la velocidad de decaimiento (mayor beta = decaimiento mas rapido). La condicion de estabilidad del proceso es hawkes_alpha < hawkes_beta. Eventos con ti >= current_time se ignoran automaticamente. Retorna max(0.0, ...) para garantizar intensidad no negativa.