top of page

Datos de ETF, fondos de inversión y accionariado: Recuperar contenido

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:

ree


SQL++ SELECT of Couchbase Collection
SQL++ SELECT of Couchbase Collection

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?


bottom of page