Données sur les ETF, les fonds communs de placement et les actionnaires : Récupérer le contenu
- Claude Paugh
- 17 avr.
- 2 min de lecture
Dernière mise à jour : 26 juin
Comme je l’ai mentionné dans un article précédent, je
Si vous êtes un développeur de logiciels, il existe de nombreuses
J'utilise Jetbrains DataGrid (j'ai acheté une licence) et ils fournissent leurs propres pilotes :


Comme vous pouvez le voir dans l'ensemble de résultats ci-dessus, les « colonnes » représentent les clés du document JSON sous-jacent et les valeurs correspondent aux données de la grille. Les références sont les mêmes lors de l'utilisation de DataGrid ou de Couchbase UI Query.
Les colonnes sont les clés, et si elles sont imbriquées dans le document, le chemin est à l'intérieur d'une structure JSON, par exemple :
Exemple SQL++ pour gagner de l'argent
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;'
Créer un index
Si le nombre de documents stockés est important, il est nécessaire de créer des index. Comme j'ai des fichiers de portfolio depuis plus de cinq ans, j'en ai créé un certain nombre. Étant donné que Couchbase n'a pas de partitions contrôlées par l'utilisateur, j'ai créé des index avec des clauses WHERE pour contrôler la plage de dates. L'optimiseur de requêtes Couchbase tente de partitionner les données. Cependant, cela se produit au moment de l'exécution et les index sont plus efficaces pour mettre en œuvre le concept de partitionnement.
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"));Pourquoi avez-vous décidé de stocker ces données ?
J'ai pensé que la combinaison de ces données pourrait être utile pour plusieurs cas d'utilisation :
Tendances parmi les gestionnaires d'actifs ou au sein de gestionnaires d'actifs individuels
En analysant les modèles d’attitude qui ont changé d’un trimestre à l’autre et en les corrélant avec les événements d’actualité, vous pouvez découvrir des habitudes ou des modèles qui peuvent être bénéfiques.
Précision de la présentation : je voulais voir dans quelle mesure les présentations correspondaient aux rapports trimestriels des investisseurs des gestionnaires d'actifs. La réponse est oui, mais si non, pourquoi ?
Exposition aux devises au fil du temps et quels gestionnaires d'actifs sont plus ou moins exposés
Flux de trésorerie mensuels au sein du fonds de gestion d'actifs ou dans tous les secteurs aux États-Unis. Cela peut être analysé sur différents types d’actifs pour identifier les caractéristiques communes.
C’est un début, mais il existe d’autres cas d’utilisation pour l’analyse et la recherche qui peuvent être appliqués. J'ai également pensé à un nouvel ajout à l'analyse ; Quels sont les avantages du chargement de données dans une base de données graphique ?
