refactor: split into idx-core library and idx-cli binary workspace

Phase 2 of docs/DESIGN.md, no behavior change:

- crates/idx-core (library): api, analysis, cache, config file handling
  and provider selection, curl_impersonate, error, ownership, runtime,
  plus the shared test fixtures. clap derives are behind an optional
  `clap` feature so the library does not require clap.
- crates/idx-cli (binary `idx`): cli/, output/, and IdxConfig (output
  format and color resolution). Package and binary names are unchanged.
- config.rs is split: file read/write and validation move to core; a
  CLI test keeps core's OUTPUT_VALUES in sync with OutputSetting.
- ownership::db::open_db/db_path drop their unused IdxConfig argument.
- One workspace version; shared dependency versions; no third-party
  version changes in Cargo.lock. LICENSE is symlinked into each crate.
- flake: workspace version, new source paths, and a per-crate package
  check (idx-cli is built from its tarball against packaged idx-core,
  since idx-core is not on crates.io yet). CI cache key, release path
  filter, and the golden whitespace-hook exclusion follow the new layout.

Parity: all 143 golden outputs match byte for byte without
regeneration; 157 core + 17 CLI unit tests (173 before plus the new
OUTPUT_VALUES sync test), 62 CLI tests pass. Live A/B against main:
16/16 stocks cases identical; ownership discover got IDX 403 on both
(exit 4 vs 1 is the phase 1 exit-code change).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
hermes 2026-10-14 09:13:46 +00:00
commit 15947de51a
238 changed files with 544 additions and 375 deletions

View file

@ -0,0 +1,47 @@
[
{
"investorName": "Norges Bank Investment Management",
"investorType": "Government / Sovereign Wealth",
"sharesHeld": 278330000.0,
"sharesChanged": 3200000.0,
"percentageOfSharesOutstanding": 1.13,
"value": 275196270000.0,
"reportDate": "2024-12-31"
},
{
"investorName": "Dimensional Fund Advisors LP",
"investorType": "Institutional",
"sharesHeld": 156920000.0,
"sharesChanged": 14750000.0,
"percentageOfSharesOutstanding": 0.64,
"value": 155110680000.0,
"reportDate": "2024-12-31"
},
{
"investorName": "Baillie Gifford & Co",
"investorType": "Institutional",
"sharesHeld": 132450000.0,
"sharesChanged": 11200000.0,
"percentageOfSharesOutstanding": 0.54,
"value": 130965450000.0,
"reportDate": "2024-12-31"
},
{
"investorName": "BlackRock Inc",
"investorType": "Institutional",
"sharesHeld": 498112750.0,
"sharesChanged": 5600000.0,
"percentageOfSharesOutstanding": 2.02,
"value": 492523521250.0,
"reportDate": "2024-12-31"
},
{
"investorName": "Fidelity Management & Research",
"investorType": "Institutional",
"sharesHeld": 89340000.0,
"sharesChanged": 4100000.0,
"percentageOfSharesOutstanding": 0.36,
"value": 88346060000.0,
"reportDate": "2024-12-31"
}
]

View file

@ -0,0 +1,56 @@
[
{
"investorName": "PT Dwimuria Investama Andalan",
"investorType": "Corporate",
"sharesHeld": 13533682440.0,
"sharesChanged": 0.0,
"percentageOfSharesOutstanding": 54.94,
"value": 13380524934600.0,
"reportDate": "2024-12-31"
},
{
"investorName": "Vanguard Group Inc",
"investorType": "Institutional",
"sharesHeld": 621438200.0,
"sharesChanged": -12000000.0,
"percentageOfSharesOutstanding": 2.52,
"value": 614321778000.0,
"reportDate": "2024-12-31"
},
{
"investorName": "BlackRock Inc",
"investorType": "Institutional",
"sharesHeld": 498112750.0,
"sharesChanged": 5600000.0,
"percentageOfSharesOutstanding": 2.02,
"value": 492523521250.0,
"reportDate": "2024-12-31"
},
{
"investorName": "Government Pension Investment Fund (Japan)",
"investorType": "Government / Sovereign Wealth",
"sharesHeld": 312045000.0,
"sharesChanged": 0.0,
"percentageOfSharesOutstanding": 1.27,
"value": 308564505000.0,
"reportDate": "2024-12-31"
},
{
"investorName": "Norges Bank Investment Management",
"investorType": "Government / Sovereign Wealth",
"sharesHeld": 278330000.0,
"sharesChanged": 3200000.0,
"percentageOfSharesOutstanding": 1.13,
"value": 275196270000.0,
"reportDate": "2024-12-31"
},
{
"investorName": "Capital Research and Management",
"investorType": "Institutional",
"sharesHeld": 248760000.0,
"sharesChanged": -8000000.0,
"percentageOfSharesOutstanding": 1.01,
"value": 245971800000.0,
"reportDate": "2024-12-31"
}
]

View file

@ -0,0 +1,30 @@
{
"chart": {
"result": [
{
"meta": {
"symbol": "BBCA.JK",
"regularMarketPrice": 9875.0,
"previousClose": 9758.0,
"regularMarketVolume": 12300000,
"marketCap": 1215200000000000,
"fiftyTwoWeekHigh": 10250.0,
"fiftyTwoWeekLow": 7800.0,
"averageDailyVolume3Month": 10000000
},
"timestamp": [1709251200],
"indicators": {
"quote": [
{
"open": [9800.0],
"high": [9900.0],
"low": [9750.0],
"close": [9875.0],
"volume": [12300000]
}
]
}
}
]
}
}

View file

@ -0,0 +1,25 @@
{
"chart": {
"result": [
{
"meta": {
"symbol": "BBCA.JK",
"regularMarketPrice": 9875.0,
"previousClose": 9758.0
},
"timestamp": [1709251200, 1709337600, 1709424000],
"indicators": {
"quote": [
{
"open": [9800.0, 9850.0, 9860.0],
"high": [9900.0, 9920.0, 9950.0],
"low": [9750.0, 9800.0, 9820.0],
"close": [9875.0, 9880.0, 9925.0],
"volume": [12300000, 11000000, 14000000]
}
]
}
}
]
}
}

View file

@ -0,0 +1,17 @@
{
"chart": {
"result": [{
"timestamp": [1709251200, 1709337600],
"indicators": {
"quote": [{
"open": [9800.0, 9850.0],
"high": [9900.0, 9900.0],
"low": [9750.0, 9800.0],
"close": [9875.0, null],
"volume": [12300000, 11000000]
}]
}
}],
"error": null
}
}

View file

@ -0,0 +1,48 @@
{
"Items": [
{
"Id": "20260327163420-Peng-LKS-00043/BEI.PLP/03-2026_id-id",
"AnnouncementNo": "Peng-LKS-00043/BEI.PLP/03-2026",
"PublishDate": "2026-03-27T16:34:20",
"Title": "Pemegang Saham di atas 5% (KSEI)",
"AnnouncementType": "",
"Code": "Semua Emiten Saham",
"Attachments": [
{
"PDFFilename": "20260327_Semua Emiten Saham_Pengumuman Bursa_32055594.pdf",
"FullSavePath": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202603/5d31bb6f49_announcement.pdf",
"IsAttachment": 0,
"OriginalFilename": "20260327_Semua Emiten Saham_Pengumuman Bursa_32055594.pdf"
},
{
"PDFFilename": "20260327_Semua Emiten Saham_Pengumuman Bursa_32055594_lamp1.pdf",
"FullSavePath": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202603/4f5c4efc6f_bf70f249ac_lamp1.pdf",
"IsAttachment": 1,
"OriginalFilename": "20260327_Semua Emiten Saham_Pengumuman Bursa_32055594_lamp1.pdf"
}
],
"PdfPath": "[{\"PDFFilename\":\"20260327_Semua Emiten Saham_Pengumuman Bursa_32055594.pdf\",\"FullSavePath\":\"https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202603/5d31bb6f49_announcement.pdf\",\"IsAttachment\":\"0\",\"OriginalFilename\":\"20260327_Semua Emiten Saham_Pengumuman Bursa_32055594.pdf\"},{\"PDFFilename\":\"20260327_Semua Emiten Saham_Pengumuman Bursa_32055594_lamp1.pdf\",\"FullSavePath\":\"https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_EREP/202603/4f5c4efc6f_bf70f249ac_lamp1.pdf\",\"IsAttachment\":\"1\",\"OriginalFilename\":\"20260327_Semua Emiten Saham_Pengumuman Bursa_32055594_lamp1.pdf\"}]"
},
{
"Id": "20260328114739-LK/28032026/0001/1_id-id",
"AnnouncementNo": "LK/28032026/0001/1",
"PublishDate": "2026-03-28T11:47:39",
"Title": "LAPORAN KEPEMILIKAN ATAU SETIAP PERUBAHAN KEPEMILIKAN SAHAM PERUSAHAAN TERBUKA",
"AnnouncementType": "LKS",
"Code": "CASH",
"Attachments": [
{
"PDFFilename": "LK-28032026-2468-00.pdf-0",
"FullSavePath": "https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_KSEI/LK-28032026-2468-00.pdf-0.pdf",
"IsAttachment": 1,
"OriginalFilename": "LK-28032026-2468-00.pdf"
}
],
"PdfPath": "[{\"PDFFilename\":\"LK-28032026-2468-00.pdf-0\",\"FullSavePath\":\"https://www.idx.co.id/StaticData/NewsAndAnnouncement/ANNOUNCEMENTSTOCK/From_KSEI/LK-28032026-2468-00.pdf-0.pdf\",\"IsAttachment\":1,\"OriginalFilename\":\"LK-28032026-2468-00.pdf\"}]"
}
],
"ItemCount": 2,
"PageSize": 10,
"PageNumber": 1,
"PageCount": 1
}

View file

@ -0,0 +1,5 @@
<!doctype html>
<html lang="id"><head><title>Data Kepemilikan Saham - Bursa Efek Indonesia</title></head>
<body><div id="__nuxt"><!-- trimmed excerpt of https://www.idx.co.id/id/perusahaan-tercatat/data-kepemilikan-saham/ (2026-09-24) --></div>
<script>window.__NUXT__=(function(a,r){return {fetch:{"data-v-8c8e470a:0":{tableData:[{Description:"Pemegang Saham di Atas 5% per 23 September 2026",Prospectus:"https:\u002F\u002Fwww.idx.co.id\u002FMedia\u002Fsucngcwy\u002Fpeng-2026-09-23-00080-lima-persen.xlsx",ListingDate:"2026-09-23T12:00:00"},{Description:"Pemegang Saham di Atas 5% per 31 Agustus 2026",Prospectus:"https:\u002F\u002Fwww.idx.co.id\u002FMedia\u002Fumrls4il\u002Fpeng-2026-08-31-00063-lima-persen.xlsx",ListingDate:r},{Description:"Data Kepemilikan Saham Perusahaan Tercatat Berdasarkan Klasifikasi Investor per 31 Agustus 2026",Prospectus:"https:\u002F\u002Fwww.idx.co.id\u002FMedia\u002Fy0vjakdz\u002Fpeng-2026-08-00018-klasifikasi.xlsx",ListingDate:r},{Description:"Data Kepemilikan Saham Perusahaan Tercatat per Tipe Investor per 31 Agustus 2026",Prospectus:"https:\u002F\u002Fwww.idx.co.id\u002FMedia\u002Fwkjfudt3\u002Fpeng-2026-08-00019-tipe.xlsx",ListingDate:r},{Description:"Pemegang Saham di Atas 1% per 31 Agustus 2026",Prospectus:"https:\u002F\u002Fwww.idx.co.id\u002FMedia\u002Ffahlw1o2\u002Fpeng-2026-08-00017-satu-persen.xlsx",ListingDate:r},{Description:"Pemegang Saham di Atas 1% per 31 Juli 2026",Prospectus:"https:\u002F\u002Fwww.idx.co.id\u002FMedia\u002Ffjelt0en\u002Fpeng-2026-07-00016-satu-persen.xlsx",ListingDate:s},{Description:"Pemegang Saham di Atas 1% per 27 Februari 2026",Prospectus:"https:\u002F\u002Fwww.idx.co.id\u002FMedia\u002Fr2kjzpk5\u002Fpeng-02-00011-satu-persen.xlsx",ListingDate:K}]}}}}(null,"2026-09-01T12:00:00"));</script>
</body></html>

Binary file not shown.

View file

@ -0,0 +1,27 @@
<?xml version="1.0"?>
<document>
<page id="page1" width="612" height="792">
<line bbox="58.2 135.37999 63.566404 137.78" wmode="0" dir="1 0" flags="0" text="DATE"></line>
<line bbox="73.944 135.37999 87.46321 137.78" wmode="0" dir="1 0" flags="0" text="SHARE CODE"></line>
<line bbox="111.26 135.37999 125.50881 137.78" wmode="0" dir="1 0" flags="0" text="ISSUER NAME"></line>
<line bbox="199.73 135.37999 217.21158 137.78" wmode="0" dir="1 0" flags="0" text="INVESTOR NAME"></line>
<line bbox="288.53 135.37999 315.77238 137.78" wmode="0" dir="1 0" flags="0" text="INVESTOR CLASSIFICATION"></line>
<line bbox="337.63 135.37999 354.19963 137.78" wmode="0" dir="1 0" flags="0" text="LOCAL FOREIGN"></line>
<line bbox="363.31 135.37999 376.7908 137.78" wmode="0" dir="1 0" flags="0" text="NATIONALITY"></line>
<line bbox="398.11 135.37999 408.034 137.78" wmode="0" dir="1 0" flags="0" text="DOMICILE"></line>
<line bbox="432.55 135.37999 454.30836 137.78" wmode="0" dir="1 0" flags="0" text="HOLDINGS SCRIPLESS"></line>
<line bbox="466.78 135.37999 484.1248 137.78" wmode="0" dir="1 0" flags="0" text="HOLDINGS SCRIP"></line>
<line bbox="496.9 135.37999 522.97366 137.78" wmode="0" dir="1 0" flags="0" text="TOTAL HOLDING SHARES"></line>
<line bbox="534.34 135.37999 547.6168 137.78" wmode="0" dir="1 0" flags="0" text="PERCENTAGE"></line>
<line bbox="55.68 138.49999 75.26399 140.9" wmode="0" dir="1 0" flags="0" text="29-May-2026 AADI"></line>
<line bbox="91.944 138.49999 125.39758 140.9" wmode="0" dir="1 0" flags="0" text="ADARO ANDALAN INDONESIA Tbk"></line>
<line bbox="145.7 138.49999 175.97843 140.9" wmode="0" dir="1 0" flags="0" text="PERSADA CAPITAL INVESTAMA"></line>
<line bbox="272.09 138.49999 282.27076 140.9" wmode="0" dir="1 0" flags="0" text="Corporate"></line>
<line bbox="330.0 138.49999 332.0 140.9" wmode="0" dir="1 0" flags="0" text="D"></line>
<line bbox="360.0 138.49999 380.0 140.9" wmode="0" dir="1 0" flags="0" text="INDONESIA"></line>
<line bbox="430.0 138.49999 460.0 140.9" wmode="0" dir="1 0" flags="0" text="3.200.142.830"></line>
<line bbox="465.0 138.49999 470.0 140.9" wmode="0" dir="1 0" flags="0" text="0"></line>
<line bbox="495.0 138.49999 525.0 140.9" wmode="0" dir="1 0" flags="0" text="3.200.142.830"></line>
<line bbox="533.0 138.49999 548.0 140.9" wmode="0" dir="1 0" flags="0" text="41,10"></line>
</page>
</document>

View file

@ -0,0 +1,29 @@
<?xml version="1.0"?>
<document>
<page id="page1" width="792" height="612">
<block bbox="28.68 86.33 767.71438 600.02999" justify="unknown">
<line bbox="31.56 86.33 39.25776 89.810009" wmode="0" dir="1 0" flags="0" text="DATE"></line>
<line bbox="56.64 86.33 75.974887 89.810009" wmode="0" dir="1 0" flags="0" text="SHARE_CODE"></line>
<line bbox="121.22 86.33 142.22878 89.810009" wmode="0" dir="1 0" flags="0" text="ISSUER_NAME"></line>
<line bbox="267.17 86.33 292.6193 89.810009" wmode="0" dir="1 0" flags="0" text="INVESTOR_NAME"></line>
<line bbox="390.89 86.33 414.18165 89.810009" wmode="0" dir="1 0" flags="0" text="INVESTOR_TYPE"></line>
<line bbox="434.11 86.33 457.99674 89.810009" wmode="0" dir="1 0" flags="0" text="LOCAL_FOREIGN"></line>
<line bbox="475.87 86.33 495.66777 89.810009" wmode="0" dir="1 0" flags="0" text="NATIONALITY"></line>
<line bbox="525.19 86.33 539.60067 89.810009" wmode="0" dir="1 0" flags="0" text="DOMICILE"></line>
<line bbox="574.63 86.33 606.14498 89.810009" wmode="0" dir="1 0" flags="0" text="HOLDINGS_SCRIPLESS"></line>
<line bbox="629.98 86.33 655.1021 89.810009" wmode="0" dir="1 0" flags="0" text="HOLDINGS_SCRIP"></line>
<line bbox="680.02 86.33 717.5414 89.810009" wmode="0" dir="1 0" flags="0" text="TOTAL_HOLDING_SHARES"></line>
<line bbox="741.22 86.33 760.0782 89.810009" wmode="0" dir="1 0" flags="0" text="PERCENTAGE"></line>
<line bbox="28.68 91.009998 55.722299 94.49" wmode="0" dir="1 0" flags="0" text="27-Feb-2026 AADI"></line>
<line bbox="85.104 91.009998 133.29856 94.49" wmode="0" dir="1 0" flags="0" text="ADARO ANDALAN INDONESIA Tbk"></line>
<line bbox="179.3 91.009998 226.93775 94.49" wmode="0" dir="1 0" flags="0" text="ADARO STRATEGIC INVESTMENTS"></line>
<line bbox="381.41 91.009998 385.00923 94.49" wmode="0" dir="1 0" flags="0" text="CP"></line>
<line bbox="424.75 91.009998 426.8902 94.49" wmode="0" dir="1 0" flags="0" text="D"></line>
<line bbox="504.07 91.009998 519.99099 94.49" wmode="0" dir="1 0" flags="0" text="INDONESIA"></line>
<line bbox="597.58 91.009998 618.0213 94.49" wmode="0" dir="1 0" flags="0" text="3.200.142.830"></line>
<line bbox="662.26 91.009998 664.02438 94.49" wmode="0" dir="1 0" flags="0" text="0"></line>
<line bbox="710.26 91.009998 730.7013 94.49" wmode="0" dir="1 0" flags="0" text="3.200.142.830"></line>
<line bbox="759.72 91.009998 767.70999 94.49" wmode="0" dir="1 0" flags="0" text="41,10"></line>
</block>
</page>
</document>

View file

@ -0,0 +1,29 @@
<?xml version="1.0"?>
<document>
<page id="page1" width="792" height="612">
<block bbox="28.68 86.33 767.71438 600.02999" justify="unknown">
<line bbox="31.56 86.33 39.25776 89.810009" wmode="0" dir="1 0" flags="0" text="DATE"></line>
<line bbox="56.64 86.33 75.974887 89.810009" wmode="0" dir="1 0" flags="0" text="SHARE_CODE"></line>
<line bbox="121.22 86.33 142.22878 89.810009" wmode="0" dir="1 0" flags="0" text="ISSUER_NAME"></line>
<line bbox="267.17 86.33 292.6193 89.810009" wmode="0" dir="1 0" flags="0" text="INVESTOR_NAME"></line>
<line bbox="390.89 86.33 414.18165 89.810009" wmode="0" dir="1 0" flags="0" text="INVESTOR_TYPE"></line>
<line bbox="434.11 86.33 457.99674 89.810009" wmode="0" dir="1 0" flags="0" text="LOCAL_FOREIGN"></line>
<line bbox="475.87 86.33 495.66777 89.810009" wmode="0" dir="1 0" flags="0" text="NATIONALITY"></line>
<line bbox="525.19 86.33 539.60067 89.810009" wmode="0" dir="1 0" flags="0" text="DOMICILE"></line>
<line bbox="574.63 86.33 606.14498 89.810009" wmode="0" dir="1 0" flags="0" text="HOLDINGS_SCRIPLESS"></line>
<line bbox="629.98 86.33 655.1021 89.810009" wmode="0" dir="1 0" flags="0" text="HOLDINGS_SCRIP"></line>
<line bbox="680.02 86.33 717.5414 89.810009" wmode="0" dir="1 0" flags="0" text="TOTAL_HOLDING_SHARES"></line>
<line bbox="741.22 86.33 760.0782 89.810009" wmode="0" dir="1 0" flags="0" text="PERCENTAGE"></line>
<line bbox="28.68 91.009998 55.722299 94.49" wmode="0" dir="1 0" flags="0" text="31-Jan-2026 AADI"></line>
<line bbox="85.104 91.009998 133.29856 94.49" wmode="0" dir="1 0" flags="0" text="ADARO ANDALAN INDONESIA Tbk"></line>
<line bbox="179.3 91.009998 226.93775 94.49" wmode="0" dir="1 0" flags="0" text="ADARO STRATEGIC INVESTMENTS"></line>
<line bbox="381.41 91.009998 385.00923 94.49" wmode="0" dir="1 0" flags="0" text="CP"></line>
<line bbox="424.75 91.009998 426.8902 94.49" wmode="0" dir="1 0" flags="0" text="D"></line>
<line bbox="504.07 91.009998 519.99099 94.49" wmode="0" dir="1 0" flags="0" text="INDONESIA"></line>
<line bbox="597.58 91.009998 618.0213 94.49" wmode="0" dir="1 0" flags="0" text="3.050.000.000"></line>
<line bbox="662.26 91.009998 664.02438 94.49" wmode="0" dir="1 0" flags="0" text="0"></line>
<line bbox="710.26 91.009998 730.7013 94.49" wmode="0" dir="1 0" flags="0" text="3.050.000.000"></line>
<line bbox="759.72 91.009998 767.70999 94.49" wmode="0" dir="1 0" flags="0" text="39,82"></line>
</block>
</page>
</document>

Binary file not shown.

View file

@ -0,0 +1,8 @@
<?xml version="1.0"?>
<document>
<page id="page1" width="595" height="842">
<line bbox="0 0 10 10" text="Pemegang Saham di atas 5% (KSEI)"></line>
<line bbox="0 12 10 22" text="INVS"></line>
<line bbox="0 24 10 34" text="PT MAGNUS Capital (REKENING TAMPUNGAN KSEI UNTUK CLOSED MEMBER-ABC)"></line>
</page>
</document>

View file

@ -0,0 +1,8 @@
<?xml version="1.0"?>
<document>
<page id="page1" width="595" height="842">
<line bbox="0 0 10 10" text="PENGUMUMAN"></line>
<line bbox="0 12 10 22" text="PT Bursa Efek Indonesia (BEI)"></line>
<line bbox="0 24 10 34" text="Pemegang Saham di atas 1% (KSEI)"></line>
</page>
</document>

View file

@ -0,0 +1,2 @@
Date|Code|Type|Sec. Num|Price|Local IS|Local CP|Local PF|Local IB|Local ID|Local MF|Local SC|Local FD|Local OT|Total|Foreign IS|Foreign CP|Foreign PF|Foreign IB|Foreign ID|Foreign MF|Foreign SC|Foreign FD|Foreign OT|Total
30-JAN-2026|AADI|EQUITY|7786891760|7600|58704495|5046580437|13135269|41|1868661103|91475881|27984191|1966845|85275|7108593537|1150700|55820749|58897143|207783974|2127405|239139003|39765137|2493100|71121012|678298223

View file

@ -0,0 +1,2 @@
Date|Code|Type|Sec. Num|Price|Local IS|Local CP|Local PF|Local IB|Local ID|Local MF|Local SC|Local FD|Local OT|Total|Foreign IS|Foreign CP|Foreign PF|Foreign IB|Foreign ID|Foreign MF|Foreign SC|Foreign FD|Foreign OT|Total
27-FEB-2026|AADI|EQUITY|7786891760|9250|100730965|5035745466|15622269|41|1817092689|117982099|22932698|2060140|105275|7112271642|1150700|66705786|43311343|204936195|1261705|262226503|42723690|2493100|49811096|674620118

View file

@ -0,0 +1,10 @@
<?xml version="1.0"?>
<document>
<page id="page1" width="595" height="842">
<line bbox="0 0 10 10" text="DATE"></line>
<line bbox="0 12 10 22" text="STOCK_CODE"></line>
<line bbox="0 24 10 34" text="NUMBER_OF_SHARES"></line>
<line bbox="0 36 10 46" text="FOREIGN"></line>
<line bbox="0 48 10 58" text="LOCAL INDIVIDUAL"></line>
</page>
</document>

View file

@ -0,0 +1,328 @@
<document>
<page id="page1" width="792" height="612">
<char x="40.0" y="40.0" c="P"/>
<char x="41.2" y="40.0" c="E"/>
<char x="42.4" y="40.0" c="N"/>
<char x="43.6" y="40.0" c="G"/>
</page>
<page id="page2" width="792" height="612">
<char x="21.7" y="100.0" c="2"/>
<char x="22.8" y="100.0" c="7"/>
<char x="23.9" y="100.0" c="-"/>
<char x="25.0" y="100.0" c="F"/>
<char x="26.1" y="100.0" c="e"/>
<char x="27.2" y="100.0" c="b"/>
<char x="28.3" y="100.0" c="-"/>
<char x="29.4" y="100.0" c="2"/>
<char x="30.5" y="100.0" c="0"/>
<char x="31.6" y="100.0" c="2"/>
<char x="32.7" y="100.0" c="6"/>
<char x="55.3" y="100.0" c="B"/>
<char x="56.4" y="100.0" c="B"/>
<char x="57.5" y="100.0" c="C"/>
<char x="58.6" y="100.0" c="A"/>
<char x="75.0" y="100.0" c="B"/>
<char x="76.1" y="100.0" c="A"/>
<char x="77.2" y="100.0" c="N"/>
<char x="78.3" y="100.0" c="K"/>
<char x="79.4" y="100.0" c=" "/>
<char x="80.8" y="100.0" c="C"/>
<char x="81.9" y="100.0" c="E"/>
<char x="83.0" y="100.0" c="N"/>
<char x="84.1" y="100.0" c="T"/>
<char x="85.2" y="100.0" c="R"/>
<char x="86.3" y="100.0" c="A"/>
<char x="87.4" y="100.0" c="L"/>
<char x="88.5" y="100.0" c=" "/>
<char x="89.9" y="100.0" c="A"/>
<char x="91.0" y="100.0" c="S"/>
<char x="92.1" y="100.0" c="I"/>
<char x="93.2" y="100.0" c="A"/>
<char x="94.3" y="100.0" c=" "/>
<char x="95.7" y="100.0" c="T"/>
<char x="96.8" y="100.0" c="b"/>
<char x="97.9" y="100.0" c="k"/>
<char x="167.9" y="100.0" c="P"/>
<char x="169.0" y="100.0" c="T"/>
<char x="170.1" y="100.0" c=" "/>
<char x="171.5" y="100.0" c="D"/>
<char x="172.6" y="100.0" c="W"/>
<char x="173.7" y="100.0" c="I"/>
<char x="174.8" y="100.0" c="M"/>
<char x="175.9" y="100.0" c="U"/>
<char x="177.0" y="100.0" c="R"/>
<char x="178.1" y="100.0" c="I"/>
<char x="179.2" y="100.0" c="A"/>
<char x="180.3" y="100.0" c=" "/>
<char x="181.7" y="100.0" c="I"/>
<char x="182.8" y="100.0" c="N"/>
<char x="183.9" y="100.0" c="V"/>
<char x="185.0" y="100.0" c="E"/>
<char x="186.1" y="100.0" c="S"/>
<char x="187.2" y="100.0" c="T"/>
<char x="188.3" y="100.0" c="A"/>
<char x="189.4" y="100.0" c="M"/>
<char x="190.5" y="100.0" c="A"/>
<char x="191.6" y="100.0" c=" "/>
<char x="193.0" y="100.0" c="A"/>
<char x="194.1" y="100.0" c="N"/>
<char x="195.2" y="100.0" c="D"/>
<char x="196.3" y="100.0" c="A"/>
<char x="197.4" y="100.0" c="L"/>
<char x="198.5" y="100.0" c="A"/>
<char x="199.6" y="100.0" c="N"/>
<char x="435.0" y="100.0" c="C"/>
<char x="436.1" y="100.0" c="P"/>
<char x="468.0" y="100.0" c="L"/>
<char x="500.0" y="100.0" c="I"/>
<char x="501.1" y="100.0" c="D"/>
<char x="560.0" y="100.0" c="I"/>
<char x="561.1" y="100.0" c="D"/>
<char x="620.0" y="100.0" c="1"/>
<char x="621.1" y="100.0" c="3"/>
<char x="622.2" y="100.0" c="."/>
<char x="623.3" y="100.0" c="5"/>
<char x="624.4" y="100.0" c="3"/>
<char x="625.5" y="100.0" c="3"/>
<char x="626.6" y="100.0" c="."/>
<char x="627.7" y="100.0" c="6"/>
<char x="628.8" y="100.0" c="8"/>
<char x="629.9" y="100.0" c="2"/>
<char x="631.0" y="100.0" c="."/>
<char x="632.1" y="100.0" c="4"/>
<char x="633.2" y="100.0" c="4"/>
<char x="634.3" y="100.0" c="0"/>
<char x="656.0" y="100.0" c="0"/>
<char x="696.0" y="100.0" c="1"/>
<char x="697.1" y="100.0" c="3"/>
<char x="698.2" y="100.0" c="."/>
<char x="699.3" y="100.0" c="5"/>
<char x="700.4" y="100.0" c="3"/>
<char x="701.5" y="100.0" c="3"/>
<char x="702.6" y="100.0" c="."/>
<char x="703.7" y="100.0" c="6"/>
<char x="704.8" y="100.0" c="8"/>
<char x="705.9" y="100.0" c="2"/>
<char x="707.0" y="100.0" c="."/>
<char x="708.1" y="100.0" c="4"/>
<char x="709.2" y="100.0" c="4"/>
<char x="710.3" y="100.0" c="0"/>
<char x="748.0" y="100.0" c="5"/>
<char x="749.1" y="100.0" c="4"/>
<char x="750.2" y="100.0" c=","/>
<char x="751.3" y="100.0" c="9"/>
<char x="752.4" y="100.0" c="4"/>
<char x="21.7" y="101.9" c="2"/>
<char x="22.8" y="101.9" c="7"/>
<char x="23.9" y="101.9" c="-"/>
<char x="25.0" y="101.9" c="F"/>
<char x="26.1" y="101.9" c="e"/>
<char x="27.2" y="101.9" c="b"/>
<char x="28.3" y="101.9" c="-"/>
<char x="29.4" y="101.9" c="2"/>
<char x="30.5" y="101.9" c="0"/>
<char x="31.6" y="101.9" c="2"/>
<char x="32.7" y="101.9" c="6"/>
<char x="55.3" y="101.9" c="B"/>
<char x="56.4" y="101.9" c="B"/>
<char x="57.5" y="101.9" c="C"/>
<char x="58.6" y="101.9" c="A"/>
<char x="75.0" y="101.9" c="B"/>
<char x="76.1" y="101.9" c="A"/>
<char x="77.2" y="101.9" c="N"/>
<char x="78.3" y="101.9" c="K"/>
<char x="79.4" y="101.9" c=" "/>
<char x="80.8" y="101.9" c="C"/>
<char x="81.9" y="101.9" c="E"/>
<char x="83.0" y="101.9" c="N"/>
<char x="84.1" y="101.9" c="T"/>
<char x="85.2" y="101.9" c="R"/>
<char x="86.3" y="101.9" c="A"/>
<char x="87.4" y="101.9" c="L"/>
<char x="88.5" y="101.9" c=" "/>
<char x="89.9" y="101.9" c="A"/>
<char x="91.0" y="101.9" c="S"/>
<char x="92.1" y="101.9" c="I"/>
<char x="93.2" y="101.9" c="A"/>
<char x="94.3" y="101.9" c=" "/>
<char x="95.7" y="101.9" c="T"/>
<char x="96.8" y="101.9" c="b"/>
<char x="97.9" y="101.9" c="k"/>
<char x="167.9" y="101.9" c="P"/>
<char x="169.0" y="101.9" c="T"/>
<char x="170.1" y="101.9" c=" "/>
<char x="171.5" y="101.9" c="G"/>
<char x="172.6" y="101.9" c="I"/>
<char x="173.7" y="101.9" c="T"/>
<char x="174.8" y="101.9" c="A"/>
<char x="175.9" y="101.9" c=" "/>
<char x="177.3" y="101.9" c="S"/>
<char x="178.4" y="101.9" c="U"/>
<char x="179.5" y="101.9" c="R"/>
<char x="180.6" y="101.9" c="Y"/>
<char x="181.7" y="101.9" c="A"/>
<char x="182.8" y="101.9" c=" "/>
<char x="184.2" y="101.9" c="H"/>
<char x="185.3" y="101.9" c="A"/>
<char x="186.4" y="101.9" c="S"/>
<char x="187.5" y="101.9" c="T"/>
<char x="188.6" y="101.9" c="A"/>
<char x="435.0" y="101.9" c="C"/>
<char x="436.1" y="101.9" c="P"/>
<char x="468.0" y="101.9" c="L"/>
<char x="500.0" y="101.9" c="I"/>
<char x="501.1" y="101.9" c="D"/>
<char x="560.0" y="101.9" c="I"/>
<char x="561.1" y="101.9" c="D"/>
<char x="620.0" y="101.9" c="5"/>
<char x="621.1" y="101.9" c="."/>
<char x="622.2" y="101.9" c="2"/>
<char x="623.3" y="101.9" c="0"/>
<char x="624.4" y="101.9" c="0"/>
<char x="625.5" y="101.9" c="."/>
<char x="626.6" y="101.9" c="0"/>
<char x="627.7" y="101.9" c="0"/>
<char x="628.8" y="101.9" c="0"/>
<char x="629.9" y="101.9" c="."/>
<char x="631.0" y="101.9" c="0"/>
<char x="632.1" y="101.9" c="0"/>
<char x="633.2" y="101.9" c="0"/>
<char x="656.0" y="101.9" c="0"/>
<char x="696.0" y="101.9" c="5"/>
<char x="697.1" y="101.9" c="."/>
<char x="698.2" y="101.9" c="2"/>
<char x="699.3" y="101.9" c="0"/>
<char x="700.4" y="101.9" c="0"/>
<char x="701.5" y="101.9" c="."/>
<char x="702.6" y="101.9" c="0"/>
<char x="703.7" y="101.9" c="0"/>
<char x="704.8" y="101.9" c="0"/>
<char x="705.9" y="101.9" c="."/>
<char x="707.0" y="101.9" c="0"/>
<char x="708.1" y="101.9" c="0"/>
<char x="709.2" y="101.9" c="0"/>
<char x="748.0" y="101.9" c="2"/>
<char x="749.1" y="101.9" c="1"/>
<char x="750.2" y="101.9" c=","/>
<char x="751.3" y="101.9" c="1"/>
<char x="752.4" y="101.9" c="1"/>
</page>
<page id="page3" width="792" height="612">
<char x="21.7" y="120.0" c="2"/>
<char x="22.8" y="120.0" c="7"/>
<char x="23.9" y="120.0" c="-"/>
<char x="25.0" y="120.0" c="F"/>
<char x="26.1" y="120.0" c="e"/>
<char x="27.2" y="120.0" c="b"/>
<char x="28.3" y="120.0" c="-"/>
<char x="29.4" y="120.0" c="2"/>
<char x="30.5" y="120.0" c="0"/>
<char x="31.6" y="120.0" c="2"/>
<char x="32.7" y="120.0" c="6"/>
<char x="55.3" y="120.0" c="B"/>
<char x="56.4" y="120.0" c="B"/>
<char x="57.5" y="120.0" c="R"/>
<char x="58.6" y="120.0" c="I"/>
<char x="75.0" y="120.0" c="B"/>
<char x="76.1" y="120.0" c="A"/>
<char x="77.2" y="120.0" c="N"/>
<char x="78.3" y="120.0" c="K"/>
<char x="79.4" y="120.0" c=" "/>
<char x="80.8" y="120.0" c="R"/>
<char x="81.9" y="120.0" c="A"/>
<char x="83.0" y="120.0" c="K"/>
<char x="84.1" y="120.0" c="Y"/>
<char x="85.2" y="120.0" c="A"/>
<char x="86.3" y="120.0" c="T"/>
<char x="87.4" y="120.0" c=" "/>
<char x="88.8" y="120.0" c="I"/>
<char x="89.9" y="120.0" c="N"/>
<char x="91.0" y="120.0" c="D"/>
<char x="92.1" y="120.0" c="O"/>
<char x="93.2" y="120.0" c="N"/>
<char x="94.3" y="120.0" c="E"/>
<char x="95.4" y="120.0" c="S"/>
<char x="96.5" y="120.0" c="I"/>
<char x="97.6" y="120.0" c="A"/>
<char x="98.7" y="120.0" c=" "/>
<char x="100.1" y="120.0" c="("/>
<char x="101.2" y="120.0" c="P"/>
<char x="102.3" y="120.0" c="E"/>
<char x="103.4" y="120.0" c="R"/>
<char x="104.5" y="120.0" c="S"/>
<char x="105.6" y="120.0" c="E"/>
<char x="106.7" y="120.0" c="R"/>
<char x="107.8" y="120.0" c="O"/>
<char x="108.9" y="120.0" c=")"/>
<char x="110.0" y="120.0" c=" "/>
<char x="111.4" y="120.0" c="T"/>
<char x="112.5" y="120.0" c="b"/>
<char x="113.6" y="120.0" c="k"/>
<char x="167.9" y="120.0" c="N"/>
<char x="169.0" y="120.0" c="E"/>
<char x="170.1" y="120.0" c="G"/>
<char x="171.2" y="120.0" c="A"/>
<char x="172.3" y="120.0" c="R"/>
<char x="173.4" y="120.0" c="A"/>
<char x="174.5" y="120.0" c=" "/>
<char x="175.9" y="120.0" c="R"/>
<char x="177.0" y="120.0" c="E"/>
<char x="178.1" y="120.0" c="P"/>
<char x="179.2" y="120.0" c="U"/>
<char x="180.3" y="120.0" c="B"/>
<char x="181.4" y="120.0" c="L"/>
<char x="182.5" y="120.0" c="I"/>
<char x="183.6" y="120.0" c="K"/>
<char x="184.7" y="120.0" c=" "/>
<char x="186.1" y="120.0" c="I"/>
<char x="187.2" y="120.0" c="N"/>
<char x="188.3" y="120.0" c="D"/>
<char x="189.4" y="120.0" c="O"/>
<char x="190.5" y="120.0" c="N"/>
<char x="191.6" y="120.0" c="E"/>
<char x="192.7" y="120.0" c="S"/>
<char x="193.8" y="120.0" c="I"/>
<char x="194.9" y="120.0" c="A"/>
<char x="435.0" y="120.0" c="C"/>
<char x="436.1" y="120.0" c="P"/>
<char x="468.0" y="120.0" c="L"/>
<char x="500.0" y="120.0" c="I"/>
<char x="501.1" y="120.0" c="D"/>
<char x="560.0" y="120.0" c="I"/>
<char x="561.1" y="120.0" c="D"/>
<char x="620.0" y="120.0" c="6"/>
<char x="621.1" y="120.0" c="7"/>
<char x="622.2" y="120.0" c="."/>
<char x="623.3" y="120.0" c="0"/>
<char x="624.4" y="120.0" c="0"/>
<char x="625.5" y="120.0" c="0"/>
<char x="626.6" y="120.0" c="."/>
<char x="627.7" y="120.0" c="0"/>
<char x="628.8" y="120.0" c="0"/>
<char x="629.9" y="120.0" c="0"/>
<char x="631.0" y="120.0" c="."/>
<char x="632.1" y="120.0" c="0"/>
<char x="633.2" y="120.0" c="0"/>
<char x="634.3" y="120.0" c="0"/>
<char x="656.0" y="120.0" c="0"/>
<char x="696.0" y="120.0" c="6"/>
<char x="697.1" y="120.0" c="7"/>
<char x="698.2" y="120.0" c="."/>
<char x="699.3" y="120.0" c="0"/>
<char x="700.4" y="120.0" c="0"/>
<char x="701.5" y="120.0" c="0"/>
<char x="702.6" y="120.0" c="."/>
<char x="703.7" y="120.0" c="0"/>
<char x="704.8" y="120.0" c="0"/>
<char x="705.9" y="120.0" c="0"/>
<char x="707.0" y="120.0" c="."/>
<char x="708.1" y="120.0" c="0"/>
<char x="709.2" y="120.0" c="0"/>
<char x="710.3" y="120.0" c="0"/>
<char x="748.0" y="120.0" c="5"/>
<char x="749.1" y="120.0" c="3"/>
<char x="750.2" y="120.0" c=","/>
<char x="751.3" y="120.0" c="1"/>
<char x="752.4" y="120.0" c="9"/>
</page>
</document>

View file

@ -0,0 +1,17 @@
[
{
"_p": "bn91jc",
"chartType": "3M",
"symbol": "BBCA",
"series": {
"timeStamps": [
"2026-01-13T17:00:00Z",
"2026-01-14T17:00:00Z",
"2026-01-15T17:00:00Z"
],
"prices": [8000.0, 8075.0, 8025.0],
"startTime": "2026-01-13T17:00:00Z",
"endTime": "2026-01-15T17:00:00Z"
}
}
]

View file

@ -0,0 +1,22 @@
[
{
"_p": "bn91jc",
"chartType": "3M",
"symbol": "BBCA",
"series": {
"timeStamps": [
"2025-01-06T00:00:00Z",
"2025-01-07T00:00:00Z",
"2025-01-08T00:00:00Z",
"2025-01-13T00:00:00Z",
"2025-01-14T00:00:00Z",
"2025-01-15T00:00:00Z"
],
"prices": [9875.0, 9880.0, 9895.0, 9910.0, 9925.0, 9940.0],
"openPrices": [9800.0, 9850.0, 9870.0, 9890.0, 9905.0, 9920.0],
"pricesHigh": [9900.0, 9905.0, 9910.0, 9930.0, 9940.0, 9950.0],
"pricesLow": [9750.0, 9825.0, 9855.0, 9880.0, 9890.0, 9910.0],
"volumes": [12300000.0, 11000000.0, 11300000.0, 12500000.0, 11800000.0, 12000000.0]
}
}
]

View file

@ -0,0 +1,46 @@
{
"EpsLastYear": 1200.0,
"RevenueLastYear": 100000000000.0,
"Forecast": {
"annual": {
"2026": {
"EpsForecast": 1300.0,
"RevenueForecast": 110000000000.0,
"EarningReleaseDate": "2026-03-15",
"CiqFiscalPeriodType": "2026"
}
},
"quarterly": {
"Q12026": {
"EpsForecast": 330.0,
"RevenueForecast": 28000000000.0,
"EarningReleaseDate": "2026-04-20",
"CiqFiscalPeriodType": "Q12026"
}
}
},
"History": {
"annual": {
"2025": {
"EpsActual": 1250.0,
"EpsSurprise": 20.0,
"EpsSurprisePercent": 1.6,
"RevenueActual": 105000000000.0,
"RevenueSurprise": 500000000.0,
"EarningReleaseDate": "2025-03-15",
"CiqFiscalPeriodType": "2025"
}
},
"quarterly": {
"Q42025": {
"EpsActual": 320.0,
"EpsSurprise": 5.0,
"EpsSurprisePercent": 1.5,
"RevenueActual": 27000000000.0,
"RevenueSurprise": 200000000.0,
"EarningReleaseDate": "2025-11-20",
"CiqFiscalPeriodType": "Q42025"
}
}
}
}

View file

@ -0,0 +1,40 @@
[
{
"underlyingInstrument": {
"instrumentId": "bn91jc",
"displayName": "Bank Central Asia Tbk PT",
"shortName": "BBCA",
"symbol": "BBCA.JK"
},
"balanceSheets": {
"currency": "IDR",
"reportDate": "2025-12-31",
"endDate": "2025-12-31",
"currentAssets": {
"cashAndShortTermInvestments": 500000000
},
"equity": {
"totalEquity": 900000000
}
},
"cashFlow": {
"currency": "IDR",
"reportDate": "2025-12-31",
"endDate": "2025-12-31",
"operating": {
"operatingCashFlow": 600000000
}
},
"incomeStatement": {
"currency": "IDR",
"reportDate": "2025-12-31",
"endDate": "2025-12-31",
"revenue": {
"totalRevenue": 1000000000
},
"income": {
"netIncome": 400000000
}
}
}
]

View file

@ -0,0 +1,39 @@
[
{
"instrumentId": "bn91jc",
"displayName": "Bank Central Asia Tbk PT",
"timeLastUpdated": "2026-03-26T04:14:57.9197955Z",
"insights": [
{
"insightName": "P/E ratio",
"category": "Valuation",
"insightStatement": "Unable to compare with peers due to missing earnings data",
"shortInsightStatement": "Earnings data unavailable, can't compare P/E ratio with peers",
"details": {
"evaluationStatus": "NA"
},
"timeLastUpdated": "0001-01-01T00:00:00"
},
{
"insightName": "Analyst price target",
"category": "Valuation",
"insightStatement": "BBCA target price is more than 20% higher than the current share price based on analyst forecast",
"shortInsightStatement": "Analysts forecast more than 20% upside for 12-month price target",
"details": {
"evaluationStatus": "good"
},
"timeLastUpdated": "0001-01-01T00:00:00"
},
{
"insightName": "Quarterly Revenue YoY Growth",
"category": "Earnings",
"insightStatement": "BBCA revenue declined by 6.09% YoY, which is 31.46% worse than its peers (25.37%)",
"shortInsightStatement": "Revenue grew worse than peers",
"details": {
"evaluationStatus": "bad"
},
"timeLastUpdated": "0001-01-01T00:00:00"
}
]
}
]

View file

@ -0,0 +1,64 @@
[
{
"stockId": "bn91jc",
"symbol": "BBCA",
"displayName": "Bank Central Asia Tbk",
"shortName": "Bank Central Asia",
"industryMetrics": [
{
"year": "2025",
"fiscalPeriodType": "FY",
"revenueGrowthRate": 0.081,
"earningsGrowthRate": 0.121,
"netMargin": 0.324,
"roe": 0.198,
"returnOnAssetCurrent": 0.031,
"debtToEquityRatio": 0.42,
"currentRatio": 1.18,
"priceToEarningsRatio": 25.4,
"priceToBookRatio": 4.6
},
{
"year": "2024",
"fiscalPeriodType": "FY",
"revenueGrowthRate": 0.073,
"earningsGrowthRate": 0.102,
"netMargin": 0.311,
"roe": 0.187,
"returnOnAssetCurrent": 0.029,
"debtToEquityRatio": 0.45,
"currentRatio": 1.14,
"priceToEarningsRatio": 24.1,
"priceToBookRatio": 4.2
}
],
"companyMetrics": [
{
"year": "2025",
"fiscalPeriodType": "FY",
"revenueGrowthRate": 0.081,
"earningsGrowthRate": 0.121,
"netMargin": 0.324,
"roe": 0.198,
"returnOnAssetCurrent": 0.031,
"debtToEquityRatio": 0.42,
"currentRatio": 1.18,
"priceToEarningsRatio": 25.4,
"priceToBookRatio": 4.6
},
{
"year": "2024",
"fiscalPeriodType": "FY",
"revenueGrowthRate": 0.073,
"earningsGrowthRate": 0.102,
"netMargin": 0.311,
"roe": 0.187,
"returnOnAssetCurrent": 0.029,
"debtToEquityRatio": 0.45,
"currentRatio": 1.14,
"priceToEarningsRatio": 24.1,
"priceToBookRatio": 4.2
}
]
}
]

View file

@ -0,0 +1,20 @@
[
{
"industryMetrics": [
{
"year": "2025",
"fiscalPeriodType": "TTM",
"priceToEarningsRatio": 12.5,
"forwardPriceToEPS": 11.8,
"priceToBookRatio": 1.7,
"roe": 18.4,
"profitMargin": 22.1,
"revenueGrowthRate": 9.4,
"earningsGrowthRate": 8.1,
"debtToEquityRatio": 0.4,
"currentRatio": 1.3
}
],
"companyMetrics": []
}
]

View file

@ -0,0 +1,19 @@
[
{
"companyMetrics": [
{
"year": "2025",
"fiscalPeriodType": "TTM",
"revenueGrowthRate": 8.1,
"earningsGrowthRate": 12.1,
"priceToEarningsRatio": "Infinity",
"priceToBookRatio": 4.6,
"roe": 19.8,
"profitMargin": 44.2,
"debtToEquityRatio": 0.75,
"currentRatio": 1.4,
"roaTTM": 3.79
}
]
}
]

View file

@ -0,0 +1,19 @@
[
{
"companyMetrics": [
{
"year": "2025",
"fiscalPeriodType": "TTM",
"revenueGrowthRate": 8.1,
"earningsGrowthRate": 12.1,
"priceToEarningsRatio": "-Infinity",
"priceToBookRatio": 4.6,
"roe": 19.8,
"profitMargin": 44.2,
"debtToEquityRatio": "-Infinity",
"currentRatio": 1.4,
"roaTTM": 3.79
}
]
}
]

View file

@ -0,0 +1,15 @@
{
"value": [
{
"id": "news-1",
"title": "BCA reports steady growth",
"url": "https://example.com/news/bca-growth",
"abstract": "BCA delivered steady quarterly growth across lending and deposits.",
"provider": {
"name": "Contoso News"
},
"publishedDateTime": "2026-03-20T10:00:00Z",
"readTimeMin": 3
}
]
}

View file

@ -0,0 +1,37 @@
[
{
"id": "feee16af-c94c-465d-a59d-a9727c22bd0e",
"symbol": "BBCA",
"shortName": "Bank Cntrl Asia",
"displayName": "Bank Central Asia Tbk PT",
"country": "ID",
"company": {
"address": {
"street": "Menara BCA, Grand, Jl. MH Thamrin No. 1",
"city": "JAKARTA PUSAT",
"country": "Indonesia",
"phone": "+62 21 23588000"
},
"description": "PT Bank Central Asia Tbk (the Bank) is an Indonesia-based commercial bank.",
"employees": 27937,
"industry": "Banking Services",
"sector": "Financials",
"website": "https://www.bca.co.id/"
},
"localizedAttributes": {
"en-us": {
"displayName": "PT Bank Central Asia Tbk",
"description": "PT Bank Central Asia Tbk (the Bank) is an Indonesia-based commercial bank."
}
},
"officers": [
{
"name": "Jahja Setiaatmadja",
"title": "President Director",
"age": 69,
"yearBorn": 1955,
"totalPay": 12000000000
}
]
}
]

View file

@ -0,0 +1,18 @@
[
{
"id": "bn91jc",
"instrumentId": "bn91jc",
"symbol": "BBCA",
"shortName": "Bank Central Asia",
"displayName": "Bank Central Asia Tbk",
"price": 9875.0,
"priceChange": 117.0,
"priceChangePercent": 1.2,
"pricePreviousClose": 9758.0,
"price52wHigh": 10250.0,
"price52wLow": 7800.0,
"accumulatedVolume": 12300000.0,
"averageVolume": 10000000.0,
"marketCap": 1215200000000000.0
}
]

View file

@ -0,0 +1,31 @@
{
"count": 2,
"quote": [
{
"symbol": "BBCA.XIDX",
"shortName": "BBCA",
"price": 9875,
"priceChange": 117,
"priceChangePercent": 1.2,
"pricePreviousClose": 9758,
"price52wHigh": 10500,
"price52wLow": 8000,
"accumulatedVolume": 12300000,
"averageVolume": 10000000,
"marketCap": 1215200000000000
},
{
"symbol": "BBRI.XIDX",
"shortName": "BBRI",
"price": 5100,
"priceChange": 210,
"priceChangePercent": 4.3,
"pricePreviousClose": 4890,
"price52wHigh": 5400,
"price52wLow": 3900,
"accumulatedVolume": 22200000,
"averageVolume": 18000000,
"marketCap": 780000000000000
}
]
}

View file

@ -0,0 +1,20 @@
[
{
"symbol": "BBCA.JK",
"displayName": "Bank Central Asia Tbk PT",
"sentimentStatistics": [
{
"timeRangeName": "1D",
"bullish": 10,
"bearish": 2,
"neutral": 3
},
{
"timeRangeName": "1W",
"bullish": 25,
"bearish": 5,
"neutral": 7
}
]
}
]

View file

@ -0,0 +1,82 @@
{
"quoteSummary": {
"result": [
{
"defaultKeyStatistics": {
"forwardPE": {
"raw": 23.1,
"fmt": "23.10"
},
"priceToBook": {
"raw": 4.6,
"fmt": "4.60"
},
"enterpriseValue": {
"raw": 1245000000000000,
"fmt": "1.25T"
},
"trailingEps": {
"raw": 384.25,
"fmt": "384.25"
},
"forwardEps": {
"raw": 410.18,
"fmt": "410.18"
}
},
"financialData": {
"trailingPE": {
"raw": 25.4,
"fmt": "25.40"
},
"marketCap": {
"raw": 1215200000000000,
"fmt": "1.22T"
},
"currentPrice": {
"raw": 9875,
"fmt": "9,875.00"
},
"returnOnEquity": {
"raw": 0.202,
"fmt": "20.20%"
},
"returnOnAssets": {
"raw": 0.038,
"fmt": "3.80%"
},
"profitMargins": {
"raw": 0.385,
"fmt": "38.50%"
},
"revenueGrowth": {
"raw": 0.118,
"fmt": "11.80%"
},
"earningsGrowth": {
"raw": 0.121,
"fmt": "12.10%"
},
"debtToEquity": {
"raw": 18.5,
"fmt": "18.50"
},
"currentRatio": {
"raw": 1.21,
"fmt": "1.21"
},
"ebitda": {
"raw": 58500000000000,
"fmt": "58.50B"
},
"totalRevenue": {
"raw": 147900000000000,
"fmt": "147.90B"
}
},
"incomeStatementHistory": {}
}
],
"error": null
}
}