XLOOKUP para el mapeo de códigos
Suponga que sus datos brutos tienen códigos de transacción en la columna transaction_code, y usted mantiene una tabla de mapeo en Lookups con las columnas code y bucket.
Ejemplo de mapeo:
| código |
categoría |
| P |
Compra en mercado abierto |
| S |
Venta en mercado abierto |
| M |
Ejercicio de opción |
| G |
Donación |
| F |
Retención de impuestos |
Uso:
=XLOOKUP([@transaction_code],Lookups!A:A,Lookups!B:B,"Unmapped")
Esto le proporciona un campo transaction_bucket limpio para las tablas dinámicas.
Si ve Unmapped, bien. Eso significa que el libro de trabajo le está diciendo la verdad.
Señalar múltiples "insiders" que compran el mismo emisor
Una pantalla útil es si más de un "insider" compró el mismo emisor en el mismo mes.
Si tiene issuer_name, year_month, insider_name y un indicador de compra, un recuento simple puede ayudar. En una columna auxiliar:
=COUNTIFS(tblInsider[issuer_name],[@issuer_name],tblInsider[year_month],[@year_month],tblInsider[transaction_code],"P")
Si su fuente utiliza etiquetas en lugar de códigos, ajústelo en consecuencia.
Una versión más refinada cuenta "insiders" distintos, lo que el Excel moderno puede manejar con matrices dinámicas, aunque no de forma elegante dentro de cada configuración de tabla. En una hoja separada, puede usar:
=COUNTA(UNIQUE(FILTER(tblInsider[insider_name],(tblInsider[issuer_name]=A2)*(tblInsider[year_month]=B2)*(tblInsider[transaction_code]="P"))))
Es un trabalenguas, pero funciona.
Última declaración por emisor
Si desea una verificación rápida de la actualidad:
=MAXIFS(tblInsider[filing_date],tblInsider[issuer_name],[@issuer_name])
Útil para una hoja de cobertura que enumera cada emisor y la fecha de la declaración más reciente.
Valor neto por emisor
Para una tabla resumen fuera de las tablas dinámicas:
=SUMIFS(tblInsider[signed_value],tblInsider[issuer_name],A2)
Donde A2 contiene el nombre del emisor.
Precio de compra promedio solo para compras
=SUMIFS(tblInsider[transaction_value],tblInsider[issuer_name],A2,tblInsider[transaction_code],"P")/SUMIFS(tblInsider[shares],tblInsider[issuer_name],A2,tblInsider[transaction_code],"P")
Incluir en SI.ERROR si es necesario:
=IFERROR(SUMIFS(tblInsider[transaction_value],tblInsider[issuer_name],A2,tblInsider[transaction_code],"P")/SUMIFS(tblInsider[shares],tblInsider[issuer_name],A2,tblInsider[transaction_code],"P"),NA())
Cambio intermensual en el valor neto de los insiders
Si tiene una tabla de resumen mensual con el emisor en las filas y los meses en las columnas, una simple resta funciona. Si prefiere resúmenes basados en fórmulas:
=SUMIFS(tblInsider[signed_value],tblInsider[issuer_name],A2,tblInsider[year_month],B$1)-SUMIFS(tblInsider[signed_value],tblInsider[issuer_name],A2,tblInsider[year_month],TEXT(EOMONTH(DATEVALUE(B$1&"-01"),-1),"yyyy-mm"))
Este es el tipo de fórmula que hace que uno sienta nostalgia por SQL. Aun así, cumple su cometido.
Un flujo de trabajo práctico para monitorear la actividad de los insiders
El objetivo del libro de trabajo no es admirar su arquitectura. Es tomar una decisión sobre qué merece una segunda mirada.