Files
fn_registry/python/functions/finance/hawkes_intensity.md
T
egutierrez 988e901066 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

56 lines
2.1 KiB
Markdown

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