btgsolutions-dataservices-python-client 4.0.0__tar.gz → 4.2.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {btgsolutions_dataservices_python_client-4.0.0/btgsolutions_dataservices_python_client.egg-info → btgsolutions_dataservices_python_client-4.2.0}/PKG-INFO +75 -9
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/README.md +94 -28
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/__init__.py +1 -1
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/__init__.py +26 -0
- btgsolutions_dataservices_python_client-4.2.0/btgsolutions_dataservices/rest/alternative_data_catalog.py +1242 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/alternative_data_companies.py +109 -11
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/alternative_data_funds.py +87 -19
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/alternative_data_macro_markets.py +12 -3
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/alternative_data_metadata.py +115 -7
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/alternative_data_ownership.py +53 -3
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/alternative_data_people.py +7 -3
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/bulk_data.py +8 -1
- btgsolutions_dataservices_python_client-4.2.0/btgsolutions_dataservices/rest/dataservices_catalog.py +933 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/public_sources.py +22 -15
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0/btgsolutions_dataservices_python_client.egg-info}/PKG-INFO +75 -9
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices_python_client.egg-info/SOURCES.txt +2 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/LICENSE +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/MANIFEST.in +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/config.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/exceptions.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/authenticator.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/book_scope.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/broker_analytics.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/broker_reference.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/company_data.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/corporate_events.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/hfn.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/historical_candles.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/historical_candles_crypto.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/intraday_candles.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/intraday_tick_data.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/quotes.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/reference_data.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/stock_loan.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/ticker_last_event.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/rest/ticker_last_event_polling.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/websocket/__init__.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/websocket/broker_analytics.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/websocket/hfn_websocket_client.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/websocket/market_data_feed.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/websocket/market_data_websocket_client.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices/websocket/websocket_default_functions.py +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices_python_client.egg-info/dependency_links.txt +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices_python_client.egg-info/requires.txt +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/btgsolutions_dataservices_python_client.egg-info/top_level.txt +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/pyproject.toml +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/requirements.txt +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/setup.cfg +0 -0
- {btgsolutions_dataservices_python_client-4.0.0 → btgsolutions_dataservices_python_client-4.2.0}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: btgsolutions_dataservices_python_client
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.2.0
|
|
4
4
|
Summary: Python package containing several classes and data for extracting and manipulating market and trading data.
|
|
5
5
|
Home-page: https://github.com/BTG-Pactual-Solutions/btgsolutions-dataservices-python-client
|
|
6
6
|
Author: BTG Solutions Data Services powered by BTG Pactual Solutions
|
|
@@ -521,12 +521,70 @@ company_data = btg.CompanyData(api_key='YOUR_API_KEY')
|
|
|
521
521
|
company_data.all_financial_tables(ticker='PETR4')
|
|
522
522
|
```
|
|
523
523
|
|
|
524
|
+
#### REST Technical Catalogs
|
|
525
|
+
|
|
526
|
+
Technical endpoint descriptions for REST APIs are exported by the package so
|
|
527
|
+
MCPs and other connectors can reuse the same source of truth instead of
|
|
528
|
+
duplicating endpoint semantics locally.
|
|
529
|
+
|
|
530
|
+
```python
|
|
531
|
+
from btgsolutions_dataservices.rest import (
|
|
532
|
+
DATASERVICES_ENDPOINTS,
|
|
533
|
+
DATASERVICES_ENDPOINT_RELATIONSHIPS,
|
|
534
|
+
get_dataservices_tool_description,
|
|
535
|
+
)
|
|
536
|
+
|
|
537
|
+
print(get_dataservices_tool_description("get_quotes"))
|
|
538
|
+
print(get_dataservices_tool_description("get_book_scope"))
|
|
539
|
+
```
|
|
540
|
+
|
|
541
|
+
The Data Services catalog covers quotes, candles, intraday trades, last events,
|
|
542
|
+
reference data, corporate events, company fundamental data, HFN news,
|
|
543
|
+
stock-loan data, bulk market data, broker reference, broker analytics and
|
|
544
|
+
book-scope endpoints. It documents parameters, endpoint relationships such as
|
|
545
|
+
available-ticker discovery before market-data calls, broker-reference discovery
|
|
546
|
+
before broker analytics, HFN filter discovery before news queries, corporate
|
|
547
|
+
events before adjusted price analysis, and book-scope constraints for
|
|
548
|
+
microstructure analysis.
|
|
549
|
+
|
|
550
|
+
The REST catalogs also document cross-domain relationships between Public
|
|
551
|
+
Sources and market-data services: company directory resolution feeds ticker
|
|
552
|
+
reference, quotes, candles, stock-loan, broker analytics and book-scope tools;
|
|
553
|
+
sector classification feeds peer-market comparisons; fund holdings feed
|
|
554
|
+
underlying ticker market analysis; ownership/free-float feeds liquidity context;
|
|
555
|
+
and disclosures, official notices, HFN news and corporate events feed event
|
|
556
|
+
window analysis.
|
|
557
|
+
|
|
524
558
|
#### Alternative Data - Metadata
|
|
525
559
|
|
|
560
|
+
Technical endpoint descriptions for the public-sources alternative-data APIs are
|
|
561
|
+
exported by the package so MCPs and other connectors can reuse the same source
|
|
562
|
+
of truth:
|
|
563
|
+
|
|
564
|
+
```python
|
|
565
|
+
from btgsolutions_dataservices.rest import (
|
|
566
|
+
PUBLIC_SOURCES_ENDPOINTS,
|
|
567
|
+
PUBLIC_SOURCES_ENDPOINT_RELATIONSHIPS,
|
|
568
|
+
get_public_sources_tool_description,
|
|
569
|
+
)
|
|
570
|
+
|
|
571
|
+
print(get_public_sources_tool_description("get_company_board"))
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
The catalog documents endpoint parameters, known data gaps, excluded endpoints,
|
|
575
|
+
and relationships such as: company metadata resolving identifiers for governance
|
|
576
|
+
and ownership calls; macro indicator metadata feeding macro observations; asset
|
|
577
|
+
metadata feeding maximum-theoretical-margin calls; financial statement type
|
|
578
|
+
metadata feeding statement queries; assemblies and ownership notices feeding
|
|
579
|
+
notice summaries; and fund holdings/asset fund holders linking funds with
|
|
580
|
+
company tickers.
|
|
581
|
+
|
|
526
582
|
```python
|
|
527
583
|
import btgsolutions_dataservices as btg
|
|
528
584
|
meta = btg.AlternativeDataMetadata(api_key='YOUR_API_KEY')
|
|
529
585
|
meta.get_company_directory(query='PETROBRAS', jurisdiction='BR')
|
|
586
|
+
meta.list_companies(query='PETROBRAS', jurisdiction='BR')
|
|
587
|
+
meta.list_etfs(query='BOVA')
|
|
530
588
|
meta.get_company_sector(identifier='PETR4')
|
|
531
589
|
meta.get_taxonomy(system='b3')
|
|
532
590
|
meta.get_cnae(code='6422100')
|
|
@@ -543,19 +601,21 @@ meta.get_available_indicators()
|
|
|
543
601
|
```python
|
|
544
602
|
import btgsolutions_dataservices as btg
|
|
545
603
|
companies = btg.AlternativeDataCompanies(api_key='YOUR_API_KEY')
|
|
604
|
+
companies.list_companies(query='PETROBRAS', jurisdiction='BR')
|
|
546
605
|
companies.get_board(company_id='VALE3', body='board')
|
|
547
606
|
companies.get_governance_summary(company_id='ITUB4')
|
|
548
607
|
companies.get_governance_history(company_id='PETR4', start_date='2023-01-01', end_date='2024-12-31')
|
|
549
608
|
companies.get_governance_documents(company_id='PETR4', start_date='2024-01-01', end_date='2024-12-31')
|
|
550
609
|
companies.get_governance_compensation(company_id='VALE3', fiscal_year='2024')
|
|
551
610
|
companies.get_governance_related_party(company_id='ITUB4')
|
|
552
|
-
companies.get_governance_beneficial_ownership(company_id='
|
|
611
|
+
companies.get_governance_beneficial_ownership(company_id='AAPL') # UK PSC / US SEC proxy data; not BR listed-company ownership
|
|
553
612
|
companies.get_corporate_registry(company_id='PETR4', direction='partners')
|
|
554
613
|
companies.get_corporate_registry(company_id='PETR4', direction='investees')
|
|
555
614
|
companies.get_insider_trades(company_id='AAPL', start_date='2024-01-01', end_date='2024-12-31')
|
|
556
615
|
companies.get_board_changes(company_id='VALE3', event='appointed')
|
|
557
|
-
companies.
|
|
558
|
-
companies.
|
|
616
|
+
companies.get_assemblies(company_id='PINE4')
|
|
617
|
+
companies.get_financial_statements(company_id='PETR4', statement='income_statement', quarter='4T24')
|
|
618
|
+
companies.get_financial_notes(company_id='VALE3', quarter='4T24')
|
|
559
619
|
companies.get_disclosures(company_id='PETR4', document_type='repurchase')
|
|
560
620
|
companies.get_disclosures(company_id='PETR4', document_type='insider')
|
|
561
621
|
```
|
|
@@ -574,11 +634,13 @@ people.get_appointments(person_id='slug:Jean Paul Lemann', group_by='company')
|
|
|
574
634
|
```python
|
|
575
635
|
import btgsolutions_dataservices as btg
|
|
576
636
|
funds = btg.AlternativeDataFunds(api_key='YOUR_API_KEY')
|
|
577
|
-
funds.
|
|
578
|
-
funds.
|
|
579
|
-
funds.
|
|
580
|
-
funds.
|
|
581
|
-
funds.
|
|
637
|
+
funds.list_etfs(query='BOVA')
|
|
638
|
+
funds.get_holdings(fund_id='BOVA11', reference_date='2024-12-31')
|
|
639
|
+
funds.get_exposures(fund_id='BOVA11', exposure_type='asset_class')
|
|
640
|
+
funds.get_history(fund_id='BOVA11', start_date='2024-01-01', end_date='2024-12-31')
|
|
641
|
+
funds.get_lookthrough(fund_id='BOVA11')
|
|
642
|
+
# Manager aggregation requires an exact covered manager CNPJ/name, not ETF issuer slugs, ETF tickers or fund CNPJs.
|
|
643
|
+
# funds.get_manager_aggregate_holdings(manager_id='...')
|
|
582
644
|
```
|
|
583
645
|
|
|
584
646
|
#### Alternative Data - Ownership
|
|
@@ -591,6 +653,7 @@ ownership.get_ownership_current(company_id='ITUB4')
|
|
|
591
653
|
ownership.get_ownership_history(company_id='PETR4', start_date='2023-01-01', end_date='2024-12-31')
|
|
592
654
|
ownership.get_ownership_change_events(company_id='VALE3', start_date='2024-01-01', end_date='2024-12-31')
|
|
593
655
|
ownership.get_ownership_official_notices(company_id='PETR4')
|
|
656
|
+
ownership.get_notice_summary(url='https://www.rad.cvm.gov.br/ENETWEB/frmGerenciaPastaDeArquivos.aspx?numProtocolo=1234567')
|
|
594
657
|
ownership.get_ownership_control_group(company_id='VALE3')
|
|
595
658
|
ownership.get_ownership_free_float(company_id='PETR4')
|
|
596
659
|
ownership.get_shareholder_holdings(shareholder_id='00.000.000/0001-91')
|
|
@@ -610,9 +673,12 @@ macro.get_macro_indicators(indicator='comexstat', year='2024', state='SP')
|
|
|
610
673
|
macro.get_macro_indicators(indicator='rreo', year='2024', period='6')
|
|
611
674
|
macro.get_maximum_theoretical_margin(asset='PETR4', report_date='2024-12-31')
|
|
612
675
|
macro.get_dpmfi(start_date='2024-01', end_date='2024-12', status='dados_oficiais')
|
|
676
|
+
macro.get_dpmfi(snapshot_date='2026-06-24', limit=10) # reproducible scoped snapshot
|
|
613
677
|
macro.get_dpmfi_composition(bond_type='IPCA')
|
|
614
678
|
```
|
|
615
679
|
|
|
680
|
+
`AlternativeDataMacroMarkets` exposes the public-sources market-data endpoint for B3 maximum theoretical margin. The direct market-data `investor-categories` endpoint is intentionally not exposed in this package.
|
|
681
|
+
|
|
616
682
|
### Reference Data
|
|
617
683
|
|
|
618
684
|
#### Corporate Events
|
|
@@ -494,16 +494,74 @@ company_data.interims(ticker='PETR4')
|
|
|
494
494
|
|
|
495
495
|
```python
|
|
496
496
|
import btgsolutions_dataservices as btg
|
|
497
|
-
company_data = btg.CompanyData(api_key='YOUR_API_KEY')
|
|
498
|
-
company_data.all_financial_tables(ticker='PETR4')
|
|
499
|
-
```
|
|
500
|
-
|
|
501
|
-
####
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
497
|
+
company_data = btg.CompanyData(api_key='YOUR_API_KEY')
|
|
498
|
+
company_data.all_financial_tables(ticker='PETR4')
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
#### REST Technical Catalogs
|
|
502
|
+
|
|
503
|
+
Technical endpoint descriptions for REST APIs are exported by the package so
|
|
504
|
+
MCPs and other connectors can reuse the same source of truth instead of
|
|
505
|
+
duplicating endpoint semantics locally.
|
|
506
|
+
|
|
507
|
+
```python
|
|
508
|
+
from btgsolutions_dataservices.rest import (
|
|
509
|
+
DATASERVICES_ENDPOINTS,
|
|
510
|
+
DATASERVICES_ENDPOINT_RELATIONSHIPS,
|
|
511
|
+
get_dataservices_tool_description,
|
|
512
|
+
)
|
|
513
|
+
|
|
514
|
+
print(get_dataservices_tool_description("get_quotes"))
|
|
515
|
+
print(get_dataservices_tool_description("get_book_scope"))
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
The Data Services catalog covers quotes, candles, intraday trades, last events,
|
|
519
|
+
reference data, corporate events, company fundamental data, HFN news,
|
|
520
|
+
stock-loan data, bulk market data, broker reference, broker analytics and
|
|
521
|
+
book-scope endpoints. It documents parameters, endpoint relationships such as
|
|
522
|
+
available-ticker discovery before market-data calls, broker-reference discovery
|
|
523
|
+
before broker analytics, HFN filter discovery before news queries, corporate
|
|
524
|
+
events before adjusted price analysis, and book-scope constraints for
|
|
525
|
+
microstructure analysis.
|
|
526
|
+
|
|
527
|
+
The REST catalogs also document cross-domain relationships between Public
|
|
528
|
+
Sources and market-data services: company directory resolution feeds ticker
|
|
529
|
+
reference, quotes, candles, stock-loan, broker analytics and book-scope tools;
|
|
530
|
+
sector classification feeds peer-market comparisons; fund holdings feed
|
|
531
|
+
underlying ticker market analysis; ownership/free-float feeds liquidity context;
|
|
532
|
+
and disclosures, official notices, HFN news and corporate events feed event
|
|
533
|
+
window analysis.
|
|
534
|
+
|
|
535
|
+
#### Alternative Data - Metadata
|
|
536
|
+
|
|
537
|
+
Technical endpoint descriptions for the public-sources alternative-data APIs are
|
|
538
|
+
exported by the package so MCPs and other connectors can reuse the same source
|
|
539
|
+
of truth:
|
|
540
|
+
|
|
541
|
+
```python
|
|
542
|
+
from btgsolutions_dataservices.rest import (
|
|
543
|
+
PUBLIC_SOURCES_ENDPOINTS,
|
|
544
|
+
PUBLIC_SOURCES_ENDPOINT_RELATIONSHIPS,
|
|
545
|
+
get_public_sources_tool_description,
|
|
546
|
+
)
|
|
547
|
+
|
|
548
|
+
print(get_public_sources_tool_description("get_company_board"))
|
|
549
|
+
```
|
|
550
|
+
|
|
551
|
+
The catalog documents endpoint parameters, known data gaps, excluded endpoints,
|
|
552
|
+
and relationships such as: company metadata resolving identifiers for governance
|
|
553
|
+
and ownership calls; macro indicator metadata feeding macro observations; asset
|
|
554
|
+
metadata feeding maximum-theoretical-margin calls; financial statement type
|
|
555
|
+
metadata feeding statement queries; assemblies and ownership notices feeding
|
|
556
|
+
notice summaries; and fund holdings/asset fund holders linking funds with
|
|
557
|
+
company tickers.
|
|
558
|
+
|
|
559
|
+
```python
|
|
560
|
+
import btgsolutions_dataservices as btg
|
|
561
|
+
meta = btg.AlternativeDataMetadata(api_key='YOUR_API_KEY')
|
|
506
562
|
meta.get_company_directory(query='PETROBRAS', jurisdiction='BR')
|
|
563
|
+
meta.list_companies(query='PETROBRAS', jurisdiction='BR')
|
|
564
|
+
meta.list_etfs(query='BOVA')
|
|
507
565
|
meta.get_company_sector(identifier='PETR4')
|
|
508
566
|
meta.get_taxonomy(system='b3')
|
|
509
567
|
meta.get_cnae(code='6422100')
|
|
@@ -520,19 +578,21 @@ meta.get_available_indicators()
|
|
|
520
578
|
```python
|
|
521
579
|
import btgsolutions_dataservices as btg
|
|
522
580
|
companies = btg.AlternativeDataCompanies(api_key='YOUR_API_KEY')
|
|
581
|
+
companies.list_companies(query='PETROBRAS', jurisdiction='BR')
|
|
523
582
|
companies.get_board(company_id='VALE3', body='board')
|
|
524
583
|
companies.get_governance_summary(company_id='ITUB4')
|
|
525
|
-
companies.get_governance_history(company_id='PETR4', start_date='2023-01-01', end_date='2024-12-31')
|
|
526
|
-
companies.get_governance_documents(company_id='PETR4', start_date='2024-01-01', end_date='2024-12-31')
|
|
527
|
-
companies.get_governance_compensation(company_id='VALE3', fiscal_year='2024')
|
|
528
|
-
companies.get_governance_related_party(company_id='ITUB4')
|
|
529
|
-
companies.get_governance_beneficial_ownership(company_id='
|
|
530
|
-
companies.get_corporate_registry(company_id='PETR4', direction='partners')
|
|
531
|
-
companies.get_corporate_registry(company_id='PETR4', direction='investees')
|
|
532
|
-
companies.get_insider_trades(company_id='AAPL', start_date='2024-01-01', end_date='2024-12-31')
|
|
584
|
+
companies.get_governance_history(company_id='PETR4', start_date='2023-01-01', end_date='2024-12-31')
|
|
585
|
+
companies.get_governance_documents(company_id='PETR4', start_date='2024-01-01', end_date='2024-12-31')
|
|
586
|
+
companies.get_governance_compensation(company_id='VALE3', fiscal_year='2024')
|
|
587
|
+
companies.get_governance_related_party(company_id='ITUB4')
|
|
588
|
+
companies.get_governance_beneficial_ownership(company_id='AAPL') # UK PSC / US SEC proxy data; not BR listed-company ownership
|
|
589
|
+
companies.get_corporate_registry(company_id='PETR4', direction='partners')
|
|
590
|
+
companies.get_corporate_registry(company_id='PETR4', direction='investees')
|
|
591
|
+
companies.get_insider_trades(company_id='AAPL', start_date='2024-01-01', end_date='2024-12-31')
|
|
533
592
|
companies.get_board_changes(company_id='VALE3', event='appointed')
|
|
534
|
-
companies.
|
|
535
|
-
companies.
|
|
593
|
+
companies.get_assemblies(company_id='PINE4')
|
|
594
|
+
companies.get_financial_statements(company_id='PETR4', statement='income_statement', quarter='4T24')
|
|
595
|
+
companies.get_financial_notes(company_id='VALE3', quarter='4T24')
|
|
536
596
|
companies.get_disclosures(company_id='PETR4', document_type='repurchase')
|
|
537
597
|
companies.get_disclosures(company_id='PETR4', document_type='insider')
|
|
538
598
|
```
|
|
@@ -550,12 +610,14 @@ people.get_appointments(person_id='slug:Jean Paul Lemann', group_by='company')
|
|
|
550
610
|
|
|
551
611
|
```python
|
|
552
612
|
import btgsolutions_dataservices as btg
|
|
553
|
-
funds = btg.AlternativeDataFunds(api_key='YOUR_API_KEY')
|
|
554
|
-
funds.
|
|
555
|
-
funds.
|
|
556
|
-
funds.
|
|
557
|
-
funds.
|
|
558
|
-
funds.
|
|
613
|
+
funds = btg.AlternativeDataFunds(api_key='YOUR_API_KEY')
|
|
614
|
+
funds.list_etfs(query='BOVA')
|
|
615
|
+
funds.get_holdings(fund_id='BOVA11', reference_date='2024-12-31')
|
|
616
|
+
funds.get_exposures(fund_id='BOVA11', exposure_type='asset_class')
|
|
617
|
+
funds.get_history(fund_id='BOVA11', start_date='2024-01-01', end_date='2024-12-31')
|
|
618
|
+
funds.get_lookthrough(fund_id='BOVA11')
|
|
619
|
+
# Manager aggregation requires an exact covered manager CNPJ/name, not ETF issuer slugs, ETF tickers or fund CNPJs.
|
|
620
|
+
# funds.get_manager_aggregate_holdings(manager_id='...')
|
|
559
621
|
```
|
|
560
622
|
|
|
561
623
|
#### Alternative Data - Ownership
|
|
@@ -568,6 +630,7 @@ ownership.get_ownership_current(company_id='ITUB4')
|
|
|
568
630
|
ownership.get_ownership_history(company_id='PETR4', start_date='2023-01-01', end_date='2024-12-31')
|
|
569
631
|
ownership.get_ownership_change_events(company_id='VALE3', start_date='2024-01-01', end_date='2024-12-31')
|
|
570
632
|
ownership.get_ownership_official_notices(company_id='PETR4')
|
|
633
|
+
ownership.get_notice_summary(url='https://www.rad.cvm.gov.br/ENETWEB/frmGerenciaPastaDeArquivos.aspx?numProtocolo=1234567')
|
|
571
634
|
ownership.get_ownership_control_group(company_id='VALE3')
|
|
572
635
|
ownership.get_ownership_free_float(company_id='PETR4')
|
|
573
636
|
ownership.get_shareholder_holdings(shareholder_id='00.000.000/0001-91')
|
|
@@ -585,11 +648,14 @@ macro.get_macro_indicators(indicator='ipca_contributions', start_date='2024-01',
|
|
|
585
648
|
macro.get_macro_indicators(indicator='gdp', type='yoy')
|
|
586
649
|
macro.get_macro_indicators(indicator='comexstat', year='2024', state='SP')
|
|
587
650
|
macro.get_macro_indicators(indicator='rreo', year='2024', period='6')
|
|
588
|
-
macro.get_maximum_theoretical_margin(asset='PETR4', report_date='2024-12-31')
|
|
589
|
-
macro.get_dpmfi(start_date='2024-01', end_date='2024-12', status='dados_oficiais')
|
|
590
|
-
macro.
|
|
651
|
+
macro.get_maximum_theoretical_margin(asset='PETR4', report_date='2024-12-31')
|
|
652
|
+
macro.get_dpmfi(start_date='2024-01', end_date='2024-12', status='dados_oficiais')
|
|
653
|
+
macro.get_dpmfi(snapshot_date='2026-06-24', limit=10) # reproducible scoped snapshot
|
|
654
|
+
macro.get_dpmfi_composition(bond_type='IPCA')
|
|
591
655
|
```
|
|
592
656
|
|
|
657
|
+
`AlternativeDataMacroMarkets` exposes the public-sources market-data endpoint for B3 maximum theoretical margin. The direct market-data `investor-categories` endpoint is intentionally not exposed in this package.
|
|
658
|
+
|
|
593
659
|
### Reference Data
|
|
594
660
|
|
|
595
661
|
#### Corporate Events
|
|
@@ -22,3 +22,29 @@ from .alternative_data_people import AlternativeDataPeople
|
|
|
22
22
|
from .alternative_data_funds import AlternativeDataFunds
|
|
23
23
|
from .alternative_data_ownership import AlternativeDataOwnership
|
|
24
24
|
from .alternative_data_macro_markets import AlternativeDataMacroMarkets
|
|
25
|
+
from .alternative_data_catalog import (
|
|
26
|
+
PUBLIC_SOURCES_CONVENTIONS,
|
|
27
|
+
PUBLIC_SOURCES_DATA_GAPS,
|
|
28
|
+
PUBLIC_SOURCES_ENDPOINT_DESCRIPTIONS,
|
|
29
|
+
PUBLIC_SOURCES_ENDPOINT_RELATIONSHIPS,
|
|
30
|
+
PUBLIC_SOURCES_ENDPOINTS,
|
|
31
|
+
PUBLIC_SOURCES_EXCLUDED_ENDPOINTS,
|
|
32
|
+
PUBLIC_SOURCES_TOOL_DESCRIPTIONS,
|
|
33
|
+
PUBLIC_SOURCES_TOOL_ENDPOINTS,
|
|
34
|
+
get_public_sources_endpoint,
|
|
35
|
+
get_public_sources_endpoint_description,
|
|
36
|
+
get_public_sources_tool_description,
|
|
37
|
+
get_public_sources_tool_manifest,
|
|
38
|
+
)
|
|
39
|
+
from .dataservices_catalog import (
|
|
40
|
+
DATASERVICES_CONVENTIONS,
|
|
41
|
+
DATASERVICES_ENDPOINT_DESCRIPTIONS,
|
|
42
|
+
DATASERVICES_ENDPOINT_RELATIONSHIPS,
|
|
43
|
+
DATASERVICES_ENDPOINTS,
|
|
44
|
+
DATASERVICES_TOOL_DESCRIPTIONS,
|
|
45
|
+
DATASERVICES_TOOL_ENDPOINTS,
|
|
46
|
+
get_dataservices_endpoint,
|
|
47
|
+
get_dataservices_endpoint_description,
|
|
48
|
+
get_dataservices_tool_description,
|
|
49
|
+
get_dataservices_tool_manifest,
|
|
50
|
+
)
|