{% set pj = profile.profile_json if profile and profile.profile_json else {} %} {% set pjn = pj.get('profile_json', {}) if pj.get('profile_json') else pj %} {# ── Macro: format big numbers (T/B/M) ── #} {% macro big(val, prefix='') %} {% set v = val|float %} {% if v|abs >= 1e12 %}{{ prefix }}{{ '{:,.1f}'.format(v / 1e12) }}T {% elif v|abs >= 1e9 %}{{ prefix }}{{ '{:,.1f}'.format(v / 1e9) }}B {% elif v|abs >= 1e6 %}{{ prefix }}{{ '{:,.0f}'.format(v / 1e6) }}M {% else %}{{ prefix }}{{ '{:,.0f}'.format(v) }}{% endif %} {% endmacro %} {# ── Macro: format decimal ratio → percentage (0.15 → 15.00%) ── #} {# Use for: ROE, ROA, margins, growth, payoutRatio, ownership, trailingAnnualDividendYield #} {% macro dec2pct(val, sign=false) %} {% set v = val|float * 100 %} {% if sign %}{{ '{:+.2f}'.format(v) }}%{% else %}{{ '{:.2f}'.format(v) }}%{% endif %} {% endmacro %} {# ── Macro: display already-percentage value as-is (0.38 → 0.38%) ── #} {# Use for: dividendYield, fiveYearAvgDividendYield, fiftyTwoWeekChangePercent #} {% macro rawpct(val, sign=false) %} {% set v = val|float %} {% if sign %}{{ '{:+.2f}'.format(v) }}%{% else %}{{ '{:.2f}'.format(v) }}%{% endif %} {% endmacro %} {# ── Macro: format timestamp to date ── #} {% macro ts_date(val) %} {% if val and val|int > 0 %} {{ val|int|timestamp_to_date }} {% else %}-{% endif %} {% endmacro %} {# ── Currency prefix ── #} {% set ps = '$ ' if coin.asset_type == 'stock_us' else 'Rp ' %}
{{ coin.description }}
| Nama Lengkap | {{ pjn.get('long_name') or coin.name }} |
| Sektor | {{ pjn.get('sector') or coin.sector or '-' }} |
| Industri | {{ pjn.get('industry') or coin.sub_sector or '-' }} |
| Karyawan | {{ '{:,.0f}'.format(pjn.full_time_employees) }} |
| Website | {% if coin.website %} {{ coin.website }} {% else %}-{% endif %} |
| Telepon | {{ pjn.phone }} |
| IPO / Listing | {{ (pjn.first_trade_date / 1000)|int|timestamp_to_date }} |
| Akhir Tahun Fiskal | {{ pjn.last_fiscal_year_end|int|timestamp_to_date }} |
| Kuartal Terakhir | {{ pjn.most_recent_quarter|int|timestamp_to_date }} |
{{ pjn.address }}
{% endif %} {% if pjn.get('address2') %}{{ pjn.address2 }}
{% endif %}{% if pjn.get('city') %}{{ pjn.city }}{% endif %} {% if pjn.get('state') %}, {{ pjn.state }}{% endif %} {% if pjn.get('zip') %} {{ pjn.zip }}{% endif %}
{% if pjn.get('country') %}{{ pjn.country }}
{% endif %} {% if pjn.get('fax') %}Fax: {{ pjn.fax }}
{% endif %}Data alamat belum tersedia. Klik Sync untuk memperbarui.
{% endif %} {% if pjn.get('recommendation_key') %}Rating: {{ pjn.average_analyst_rating }}
{% endif %}{{ label }}
{% if kind == 'big' %}{{ big(val) }}{% else %}{{ '{:,.2f}'.format(val|float) }}{% endif %}
{{ label }}
{% if kind == 'pct' %}{{ dec2pct(val) }} {% elif kind == 'num3' %}{{ '{:.3f}'.format(val|float) }} {% elif kind == 'big' %}{{ big(val) }} {% else %}{{ '{:,.2f}'.format(val|float) }}{% endif %}
{{ label }}
{% set v = val|float %}{% if kind in ('margin', 'growth') %}{{ dec2pct(val, sign=true) }} {% else %}{{ '{:.2f}'.format(v) }}{% endif %}
Dividend Yield
{{ rawpct(pjn.dividend_yield) }}
Dividend Rate/Share
{{ ps }}{{ '{:,.2f}'.format(pjn.dividend_rate|float) }}
Payout Ratio
{# payout_ratio is always a ratio (1.0 = 100%), always multiply by 100 #} {% set pr = pjn.payout_ratio|float * 100 %}{{ '{:.2f}'.format(pr) }}%
5Y Avg Yield
{{ rawpct(pjn.five_year_avg_dividend_yield) }}
Last Dividend
{{ ps }}{{ '{:,.2f}'.format(pjn.last_dividend_value|float) }}
Trailing Annual Rate
{{ ps }}{{ '{:,.2f}'.format(pjn.trailing_annual_dividend_rate|float) }}
Trailing Annual Yield
{{ dec2pct(pjn.trailing_annual_dividend_yield) }}
Ex-Dividend Date
{{ pjn.ex_dividend_date|int|timestamp_to_date }}
Dividend Payment
{{ pjn.dividend_date|int|timestamp_to_date }}
Last Dividend Date
{{ pjn.last_dividend_date|int|timestamp_to_date }}
| Shares Outstanding | {{ '{:,.0f}'.format(pjn.shares_outstanding) }} |
| Free Float | {{ '{:,.0f}'.format(pjn.free_float) }} |
| Insider Ownership | {{ dec2pct(pjn.held_percent_insiders) }} |
| Institutional Ownership | {{ dec2pct(pjn.held_percent_institutions) }} |
| Total Cash | {{ big(pjn.total_cash) }} |
| Total Debt | {{ big(pjn.total_debt) }} |
| Harga Saat Ini | {{ ps }}{{ '{:,.2f}'.format(cp|float) }} |
| 52W High | {{ ps }}{{ '{:,.2f}'.format(profile.ath_idr|float) }} |
| 52W Low | {{ ps }}{{ '{:,.2f}'.format(profile.atl_idr|float) }} |
| All-Time High | {{ ps }}{{ '{:,.2f}'.format(pjn.all_time_high|float) }} |
| All-Time Low | {{ ps }}{{ '{:,.2f}'.format(pjn.all_time_low|float) }} |
| 52W Change | {% set wk_chg = pjn.fifty_two_week_change|float %}{{ rawpct(pjn.fifty_two_week_change, sign=true) }} |
| S&P500 52W Change | {% set sp_chg = pjn.sp500_52_week_change|float %}{{ dec2pct(pjn.sp500_52_week_change, sign=true) }} |
| MA 50 | {{ '{:,.2f}'.format(pjn.fifty_day_avg|float) }} |
| MA 200 | {{ '{:,.2f}'.format(pjn.two_hundred_day_avg|float) }} |
Avg Volume (10 Hari)
{{ '{:,.0f}'.format(pjn.avg_volume_10d) }}
Avg Volume (3 Bulan)
{{ '{:,.0f}'.format(pjn.avg_volume_3m) }}
Volume Hari Ini (IDR)
{{ big(profile.total_volume_idr, 'Rp ') }}
Operating Cashflow
{% set ocf = pjn.operating_cashflow|float %}{% if ocf|abs >= 1e12 %}{{ '{:+,.1f}'.format(ocf / 1e12) }}T {% elif ocf|abs >= 1e9 %}{{ '{:+,.1f}'.format(ocf / 1e9) }}B {% else %}{{ '{:+,.0f}'.format(ocf / 1e6) }}M{% endif %}
Free Cashflow
{% set fcf = pjn.free_cashflow|float %}{% if fcf|abs >= 1e12 %}{{ '{:+,.1f}'.format(fcf / 1e12) }}T {% elif fcf|abs >= 1e9 %}{{ '{:+,.1f}'.format(fcf / 1e9) }}B {% else %}{{ '{:+,.0f}'.format(fcf / 1e6) }}M{% endif %}
Shares Short
{{ '{:,.0f}'.format(pjn.shares_short) }}
Short Ratio (Days)
{{ '{:.2f}'.format(pjn.short_ratio|float) }}
Short % of Float
{{ dec2pct(pjn.short_percent_of_float) }}
Earnings Date
{{ pjn.earnings_timestamp|int|timestamp_to_date }}
Next Fiscal Year End
{{ pjn.next_fiscal_year_end|int|timestamp_to_date }}
Last Stock Split
{{ pjn.last_split_factor }}
{% if pjn.get('last_split_date') %}{{ pjn.last_split_date|int|timestamp_to_date }}
{% endif %}{{ o.get('name', '-') }}
{{ o.get('title', '-') }}
{% if o.get('age') %}Usia: {{ o.age }}
{% endif %} {% if o.get('total_pay') %}Kompensasi: ${{ '{:,.0f}'.format(o.total_pay) }}
{% endif %} {% if o.get('exercised_value') %}Exercised: ${{ '{:,.0f}'.format(o.exercised_value) }}
{% endif %} {% if o.get('unexercised_value') %}Unexercised: ${{ '{:,.0f}'.format(o.unexercised_value) }}
{% endif %}Data laporan keuangan belum tersedia. Silakan sync terlebih dahulu.
| Metrik | |
|---|---|
Data TTM Cash Flow belum tersedia.
Jadwal Earnings Terdekat
| Tanggal | EPS Est. | EPS Actual | Surprise % |
|---|---|---|---|
Kalender
Data earnings belum tersedia.
Dividen ( records)
| Tanggal | Jumlah |
|---|---|
Tidak ada data dividen.
Stock Split ( records)
| Tanggal | Rasio |
|---|---|
Tidak ada data stock split.
Target Harga Analis
Upgrade / Downgrade Terbaru
| Tanggal | Firm | Action | To Grade |
|---|---|---|---|
Data analis belum tersedia.
Pemegang Saham Utama
Top Institutional Holders
| Holder | Shares | % Out | Value |
|---|---|---|---|
Top Mutual Fund Holders
| Fund | Shares | % Out | Value |
|---|---|---|---|
Transaksi Insider Terbaru
| Insider | Transaksi | Shares | Value |
|---|---|---|---|
Ringkasan Pembelian Insider
Insider Roster
| Name | Position | Shares | Last Transaction |
|---|---|---|---|
Data kepemilikan belum tersedia.
Tanggal Kadaluarsa ( dates)
| Strike | Last | Bid | Ask | Volume | OI | IV |
|---|---|---|---|---|---|---|
No data for this expiration.
Data options belum tersedia.
Growth Estimates
| Metric | |
|---|---|
Revenue Estimates
| Metric | |
|---|---|
EPS Trend
| Period | |
|---|---|
EPS Revisions
| Period | |
|---|---|
Data estimasi belum tersedia.
Data ESG belum tersedia.
Data profil perusahaan belum lengkap.
Klik tombol Sync di header untuk memperbarui data dari Yahoo Finance.
Data profil terakhir disinkronkan: {{ profile.fetched_at|wib_short }}
{% endif %}