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.
This commit is contained in:
@@ -14,6 +14,12 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: [math]
|
||||
params:
|
||||
- name: returns
|
||||
desc: "lista de retornos diarios o periodicos (ej: [0.01, -0.005, 0.008]). Valores en rango [-1, 1] tipicamente."
|
||||
- name: periods_per_year
|
||||
desc: "numero de periodos por año (252 para datos diarios, 12 para mensuales, 52 para semanales)"
|
||||
output: "volatilidad anualizada en forma decimal (ej: 0.15 para 15% de volatilidad anualizada)"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,22 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: []
|
||||
params:
|
||||
- name: mid_price
|
||||
desc: "precio medio actual del activo subyacente (punto de referencia para la cotizacion)"
|
||||
- name: inventory
|
||||
desc: "inventario actual neto del market maker (cantidad de activos tenidos, positivo=long)"
|
||||
- name: gamma
|
||||
desc: "coeficiente de aversion al riesgo de inventario (rango tipico: 0.01-1.0). Mayor gamma = spreads mas amplios."
|
||||
- name: sigma
|
||||
desc: "volatilidad estimada del activo en la ventana de tiempo actual (ej: 0.02 para 2% diario)"
|
||||
- name: spread_base
|
||||
desc: "spread base en unidades de precio para el nivel 0 (ej: 0.5 para +/-0.5 alrededor del mid_price)"
|
||||
- name: n_levels
|
||||
desc: "numero de niveles de cotizacion a generar (tipico: 3-5). Cada nivel se ensancha a partir del anterior."
|
||||
- name: qty_base
|
||||
desc: "cantidad base de unidades por nivel (se reduce en cada nivel: qty_base, qty_base*0.5, qty_base*0.25, ...)"
|
||||
output: "lista de ordenes con campos {'side': 'buy'|'sell', 'price': float, 'qty': float}"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,14 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: []
|
||||
params:
|
||||
- name: data
|
||||
desc: "lista de precios o valores (ej: precios de cierre diarios)"
|
||||
- name: period
|
||||
desc: "tamanio de la ventana movil en numero de periodos (tipico: 5, 10, 20). Mayor periodo = bandas mas suave."
|
||||
- name: num_std
|
||||
desc: "numero de desviaciones estandar para las bandas (tipico: 2.0 para 95% de los datos en rango)"
|
||||
output: "tupla (upper, middle, lower) donde cada elemento es una lista de floats con len(data) - period + 1 elementos"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,12 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: []
|
||||
params:
|
||||
- name: data
|
||||
desc: "lista de precios o valores a suavizar (ej: precios de cierre diarios)"
|
||||
- name: period
|
||||
desc: "numero de periodos para el calculo de EMA (tipico: 5, 12, 26, 50, 200). Mayor periodo = mas suavizado."
|
||||
output: "lista de valores EMA con len(data) - period + 1 elementos (mas corta que la entrada)"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,22 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: [numpy]
|
||||
params:
|
||||
- name: initial_price
|
||||
desc: "precio inicial S(0) del activo subyacente (ej: 100.0)"
|
||||
- name: n_ticks
|
||||
desc: "numero de ticks/pasos en la simulacion (ej: 1000). Determina len(resultado)."
|
||||
- name: sigma
|
||||
desc: "volatilidad anualizada (ej: 0.02 para 2% por tick). Controlador clave del ruido."
|
||||
- name: mu
|
||||
desc: "drift anualizado (ej: 0.0 para random walk, 0.05 para uptrend). Retorno esperado por tick."
|
||||
- name: jump_intensity
|
||||
desc: "probabilidad de salto por tick en rango [0, 1] (ej: 0.01 para 1% por tick). 0.0 = GBM puro."
|
||||
- name: jump_size_std
|
||||
desc: "desviacion estandar del tamanio de los saltos (ej: 0.05 para jumps de ~5%). Normal(0, jump_size_std)."
|
||||
- name: seed
|
||||
desc: "semilla para reproducibilidad deterministica (ej: 42)"
|
||||
output: "lista de precios con len(resultado) == n_ticks. resultado[0] == initial_price."
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,18 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: [numpy]
|
||||
params:
|
||||
- name: alpha
|
||||
desc: "exponente de la distribucion Pareto (rango tipico: 1.5-3.0). Menor alpha = colas mas pesadas y ordenes mas grandes."
|
||||
- name: size_min
|
||||
desc: "tamanio minimo de orden (ej: 1.0)"
|
||||
- name: size_max
|
||||
desc: "tamanio maximo de orden (clipping superior, ej: 100.0)"
|
||||
- name: buy_prob
|
||||
desc: "probabilidad de que la orden sea BUY en rango [0, 1] (ej: 0.5 para igual BUY/SELL)"
|
||||
- name: seed
|
||||
desc: "semilla para reproducibilidad (int o None). Si None, no deterministica."
|
||||
output: "dict con campos {'side': 'buy'|'sell', 'qty': float redondeado a 1 decimal}"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,18 @@ 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: ""
|
||||
|
||||
@@ -14,6 +14,12 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: [math]
|
||||
params:
|
||||
- name: price_start
|
||||
desc: "precio inicial (ej: 100.0). Debe ser > 0."
|
||||
- name: price_end
|
||||
desc: "precio final (ej: 110.0). Debe ser > 0."
|
||||
output: "retorno logaritmico en forma decimal (ej: 0.0953 para aprox +9.53%). Aditivo en el tiempo."
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,10 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: []
|
||||
params:
|
||||
- name: values
|
||||
desc: "lista de valores acumulativos (ej: valores de cartera a lo largo del tiempo, precios, o equity curve)"
|
||||
output: "tupla (max_dd, start_idx, end_idx) donde max_dd es fraccion (0.0-1.0), start_idx es indice del pico, end_idx es indice del valle"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,12 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: []
|
||||
params:
|
||||
- name: data
|
||||
desc: "lista de precios (ej: precios de cierre diarios). Debe tener al menos period+1 elementos."
|
||||
- name: period
|
||||
desc: "numero de periodos para el calculo de RSI (tipico: 14). Mayor periodo = menos volatil, menos sensible."
|
||||
output: "lista de valores RSI en rango [0, 100]. Valores >70 indican sobrecompra, <30 sobreventa."
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,14 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: [math]
|
||||
params:
|
||||
- name: returns
|
||||
desc: "lista de retornos en la misma periodicidad (ej: retornos diarios [0.01, -0.005, ...])."
|
||||
- name: risk_free_rate
|
||||
desc: "tasa de interes libre de riesgo anualizada en forma decimal (ej: 0.02 para 2% anual)."
|
||||
- name: periods_per_year
|
||||
desc: "numero de periodos por año (252 para diarios, 12 para mensuales, 52 para semanales)."
|
||||
output: "Sharpe ratio anualizado en forma decimal (ej: 1.5 indica 1.5x retorno por unidad de riesgo). Mayor es mejor."
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,12 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: []
|
||||
params:
|
||||
- name: data
|
||||
desc: "lista de precios o valores a suavizar (ej: precios de cierre diarios)"
|
||||
- name: period
|
||||
desc: "tamanio de la ventana movil en numero de periodos (tipico: 5, 10, 20, 50, 200). Mayor periodo = mas suavizado."
|
||||
output: "lista de valores SMA con len(data) - period + 1 elementos (mas corta que la entrada)"
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
@@ -14,6 +14,12 @@ returns: []
|
||||
returns_optional: false
|
||||
error_type: ""
|
||||
imports: []
|
||||
params:
|
||||
- name: prices
|
||||
desc: "lista de precios de transaccion (ej: [100.0, 101.0, 102.0]). Debe tener misma longitud que volumes."
|
||||
- name: volumes
|
||||
desc: "lista de volumenes de transaccion (ej: [1000, 1500, 1200]). Debe tener misma longitud que prices."
|
||||
output: "VWAP en forma decimal (ej: 101.0888). Precio promedio ponderado por volumen acumulado."
|
||||
tested: false
|
||||
tests: []
|
||||
test_file_path: ""
|
||||
|
||||
Reference in New Issue
Block a user