Datos de ETF, fondos de inversión y accionariado: Recuperar contenido
- Claude Paugh
- 17 abr
- 2 Min. de lectura
Actualizado: 23 abr
Como mencioné en una publicación anterior, yo
Si eres un desarrollador de software, existen muchas
Uso DataGrid de Jetbrains (compré una licencia) y ellos proporcionan sus propios controladores:


Como puede ver en el conjunto de resultados anterior, las "columnas" representan claves del documento JSON subyacente y los valores coinciden con los datos de la cuadrícula. Las referencias son las mismas cuando se utiliza DataGrid o Couchbase UI Query.
Las columnas son las claves y, si tiene anidación en el documento, la ruta está dentro de una estructura JSON, por ejemplo:
Ejemplo de SQL++ para ganar dinero
select distinct gi.regFileNumber as SECFileNumber,
gi.regStateConditional.regState as State,
gi.regStateConditional.regCountry as County,
gi.IsFinalFiling as IsFinalFiling,
gi.seriesName as SeriesName,
gi.seriesLei as SeriesLEI,
gi.seriesId as SeriesId,
gi.regName as FundCompany,
gi.PeriodEndDate as PeriodEndDate,
gi.ReportAuthorizedDate as ReportAuthorizedDate,
gi.ParentLEI as ParentLEI,
gi.regCik as CIK,
gi.regCity as City,
gi.regLei as LEI,
gi.regPhone as Phone,
gi.regZipOrPostalCode as PostCode,
round(tonumber(fp.cshNotRptdInCorD), 2) as CashNotReported,
round(tonumber(fp.assetsInvested), 2) as AssetsInvested,
round(tonumber(fp.assetsAttrMiscSec), 2) as Assets_Attributed_MiscSecurities,
round(tonumber(fp.totAssets), 2) as TotalAssets,
round(tonumber(fp.totLiabs), 2) as TotalLiabilities,
round(tonumber(fp.netAssets), 2) as NetAssets
FROM `us-fund-filings`.`Funds`.GeneralInformation gi JOIN `us-fund-filings`.`AssetManagers`.FundParents fp ON (fp.CIK = gi.regCik and gi.PeriodEndDate = fp.PeriodEndDate) WHERE gi.PeriodEndDate = '2023-02-28;'
Crear índice
Si el número de documentos almacenados es grande, es necesaria la creación de índices. Como tengo archivos de portafolios desde hace más de cinco años, he creado bastantes. Como Couchbase no tiene particiones controladas por el usuario, creé índices con cláusulas WHERE para controlar el rango de fechas. El optimizador de consultas de Couchbase intenta particionar los datos. Sin embargo, esto sucede en el tiempo de ejecución y los índices son más eficientes en la implementación del concepto de partición.
CREATE INDEX `adv_issuerCat_PeriodEndDate_assetCat2024` ON `us-fund-filings`.`Portfolios`.`Investments`(`PeriodEndDate`,`assetCat`) WHERE ("2024-01-01" <= `PeriodEndDate`);
CREATE INDEX `adv_PeriodEndDate_derivativeInfo_optionSwaptionWarrantDeriv_derivCat_2024_1` ON `us-fund-filings`.`Portfolios`.`Investments`(`PeriodEndDate`,((`derivativeInfo`.`optionSwaptionWarrantDeriv`).`derivCat`)) WHERE (("2024-01-01" <= `PeriodEndDate`) and (`PeriodEndDate` <= "2024-03-31"));¿Por qué decidió almacenar estos datos?
Pensé que combinar estos datos podría ser útil para varios casos de uso:
Tendencias entre los gestores de activos o dentro de los gestores de activos individuales
Al analizar patrones de actitud que han cambiado de un trimestre a otro y correlacionarlos con eventos noticiosos, se pueden descubrir hábitos o patrones que pueden ser beneficiosos.
Precisión de las presentaciones: quería ver en qué medida las presentaciones coincidían con los informes trimestrales para inversores de los administradores de activos. La respuesta es sí, pero si no, ¿por qué?
Exposición a divisas a lo largo del tiempo y qué gestores de activos están más o menos expuestos
Flujos de efectivo mensuales dentro del fondo de gestión de activos o entre industrias en los Estados Unidos. Esto se puede analizar en diferentes tipos de activos para identificar características comunes.
Este es un comienzo, pero existen otros casos de uso de análisis e investigación que pueden aplicarse. También pensé en una nueva adición al análisis; ¿Cuáles son los beneficios de cargar datos en una base de datos gráfica?

