top of page

Dados de ETF, fundos mútuos e acionistas: recuperar conteúdo

Atualizado: 18 de ago

Como mencionei no meu artigo anterior,


Se você é um desenvolvedor de software, existem muitas opções para você

Eu uso o JetBrains DataGrid (comprei a licença) e eles fornecem seus próprios drivers:

ree


SQL++ SELECT of Couchbase Collection
SQL++ SELECT of Couchbase Collection
Como você pode ver no conjunto de resultados acima, as “colunas” representam as chaves do documento JSON subjacente e os valores correspondem aos dados na grade. As referências são as mesmas ao usar uma consulta DataGrid ou Couchbase UI.

As colunas são as chaves e, se estiverem aninhadas no documento, o caminho estará dentro da estrutura JSON, por exemplo:

Exemplos de SQL++ para ganhar dinheiro

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;'





Criar um índice

Se o número de documentos armazenados for grande, é necessário criar um índice. Como tenho arquivos de portfólio há mais de cinco anos, criei vários. Como o Couchbase não tem particionamento controlado pelo usuário, criei índices com uma cláusula WHERE para controlar o intervalo de datas. O otimizador de consulta do Couchbase tenta particionar os dados. No entanto, isso acontece em tempo de execução e os índices são mais eficientes na implementação do conceito de particionamento.

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 que você decidiu armazenar esses dados?

Pensei que combinar esses dados poderia ser útil para vários casos de uso:

  • Tendências entre gestores de ativos ou dentro de gestores de ativos individuais

  • Ao analisar as mudanças nos padrões de atitude trimestre a trimestre e correlacioná-las com eventos atuais, você pode detectar hábitos ou padrões que podem ser benéficos.

  • Precisão da apresentação: Eu queria ver o quanto as apresentações correspondiam aos relatórios trimestrais de investidores dos gestores de ativos. A resposta é sim, mas se não, por quê?

  • Risco cambial ao longo do tempo e quais gestores de ativos estão mais ou menos expostos a ele

  • Fluxos de caixa mensais dentro ou entre todos os segmentos de um fundo de gestão de ativos nos Estados Unidos. Ele pode ser analisado em diferentes tipos de ativos para identificar características comuns.

Este é um começo, mas há outros casos de uso para análise e pesquisa que podem ser implementados. Pensei também em acrescentar um novo aspecto à análise; Quais são os benefícios de carregar dados em um banco de dados gráfico?


bottom of page