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