5f4f1f7508
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.
56 lines
2.1 KiB
Markdown
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.
|