Sektör analitiği
47 Portfoy sektörü, her biri bir Türkiye (BIST) ve bir ABD ayağıyla: eşit ağırlıklı, taban 100 endeksler, saatlik gün içi performans, dönem getirileri ve sektörler arası yükselen/düşenler.
Uç noktalar
| Uç nokta | Kapsam | Açıklama |
|---|---|---|
| GET/v1/sectors | quotes:bist | Tüm 47 sektör: son endeks değerleri, günlük %, bileşen sayıları |
| GET/v1/sectors/{code} | quotes:bist | Tek bir sektör + son saatlik gün içi anlık görüntü |
| GET/v1/sectors/{code}/performance | history | ?resolution=1d&from=&to= (endeks serisi) veya ?resolution=intraday&date= |
| GET/v1/sectors/{code}/returns | history | Ayak başına 1w / 1m / 3m / 6m / ytd / 1y, sektör endeks değerlerinden |
| GET/v1/sectors/{code}/periodic | history | Ayak başına 1w / 2w / 1m / 3m / 6m / 1y, bileşenlerin ortalaması |
| GET/v1/sectors/movers?period=&leg= | quotes:bist | Sektör yükselen/düşenleri: dönem 1d|1w|1m|3m, ayak tr|us |
| GET/v1/sectors/{code}/constituents | quotes:bist · us: quotes:us | Tek bir ayağın üyeleri, kanonik kimliklerle — ?market=bist (varsayılan) veya us |
| GET/v1/sectors/{code}/valuation | history | Tek bir ayağın üyeleri genelinde medyan F/K ve PD/DD — ?market=bist|us |
Sektör kimlikleri sabit slug'lardır: bankacilik, yazilim_bilisim, enerji_petrol_gaz, … — bilinmeyen bir kod, hatanın içinde tam listeyle birlikte 404 döner.
Buradaki iki uç nokta “bu sektör 1w’de ne yaptı?” sorusunu yanıtlar ve aynı sonucu vermezler. /returns bu API’nin kendi sektör endeks değerlerinin oranıdır; /periodic ise üst kaynağın sektör bileşenlerinin ortalamasıdır, ayrıca 2w penceresi ve pencere başına örneklem sayısı gönderir. Farklı görünümler değil, farklı yöntemler — bkz. /docs/periodic.
Yöntem
v1-equal-weighted-daily-return, her yanıtta gönderilir). TR ayağı sektörün BIST bileşenlerinin, US ayağı ise ABD bileşenlerinin ortalamasını alır — böylece aynı sektörün iki piyasada nasıl gittiğini karşılaştırabilirsiniz. Birleşik bir değer yalnızca gün içinde vardır; orada üst kaynak bunu canlı hesaplar.Sektör üyeleri
Bir ayağın arkasındaki hisseler; doğrudan /v1/quotes, /v1/valuation veya /v1/periodic'e verebileceğiniz kanonik kimliklerle. ?market= verilmezse TR (BIST) ayağını alırsınız; liste Portföy uygulamasının sektör atamalarından gelir; membership_source listenin canlı yenileme mi (live) yoksa sürümle gelen anlık görüntü mü (bundled — kaynağa ulaşılamadığında kullanılır) olduğunu, membership_as_of ise ne zaman alındığını söyler. Üye başına ağırlık yoktur: sektör endeksi o gün işlem gören üyeler üzerinde eşit ağırlıklıdır, sabit bir ağırlık uydurma olurdu. Kaynağın listelediği ama BIST kataloğumuzun tanımadığı üyeler (henüz işlem görmeyen, kottan çıkan) çözülmeyecek kimlikler olarak sunulmak yerine unresolved_symbols içinde ayrı tutulur. ?market=us, US ayağının üyelerini kanonik us: kimlikleriyle sunar (bankacilik → us:JPM ve 81 üye daha) ve TR ayağı quotes:bist'te kalırken quotes:us kapsamı ister. ABD ağırlıklı birkaç sektörün (yari_iletkenler, biyoteknoloji, medikal_cihaz_ekipman, internet_platform, odeme_fintek) TR listesi boştur — BIST ayağı [] dönerken market=us doludur. Aynı slug her BIST enstrüman kaydında sector_code olarak görünür.
curl -H "X-API-Key: $PORTGATE_KEY" \
"https://api.theportfoy.com/portgate/v1/sectors/bankacilik/constituents"{
"code": "bankacilik", "name_tr": "Bankacılık", "market": "bist",
"member_count": 16,
"constituents": [
{"instrument_id": "bist:AKBNK", "symbol": "AKBNK", "name": "Akbank T."},
{"instrument_id": "bist:GARAN", "symbol": "GARAN", "name": "Türkiye Garanti Bankası"},
…
],
"unresolved_symbols": [],
"weighting": "equal",
"membership_source": "live",
"membership_as_of": "2026-09-16T10:34:47Z"
}curl -H "X-API-Key: $PORTGATE_KEY" \
"https://api.theportfoy.com/portgate/v1/sectors/bankacilik/constituents?market=us"{
"code": "bankacilik", "name_tr": "Bankacılık", "market": "us",
"member_count": 82,
"constituents": [
{"instrument_id": "us:JPM", "symbol": "JPM", "name": "JPMorgan Chase & Co."},
…
],
…
}Sektör değerleme medyanları
“AKBNK bankacılığa göre ucuz mu?” sorusu için. PortGate her üyenin en son /v1/stocks/{id}/valuation değerini alır ve medyanı raporlar: pe_median pozitif F/K'lı üyeler üzerinden (zarar edenler ve null'lar dışarıda), pb_median PD/DD'si olan üyeler üzerinden. pe_n ve pb_n her medyana kaç üyenin girdiğini söyler — 16 üyeden 3'ünün medyanı 16'da 16'dan daha zayıf bir iddiadır, bu yüzden sayı her zaman değerle birlikte gelir. member_count sektör büyüklüğü, covered_count herhangi bir değerleme satırı olan üye sayısıdır. Hiçbir üyede metrik yoksa medyan null'dır. Oranların para birimi yoktur. as_of kullanılan en yeni üye gözlemidir; toplam yaklaşık 15 dakika önbellekte tutulur (computed_at). ?market=us aynı medyanları US ayağının üyeleri üzerinden hesaplar — kapsam iki ayakta da history kalır.
curl -H "X-API-Key: $PORTGATE_KEY" \
"https://api.theportfoy.com/portgate/v1/sectors/bankacilik/valuation"{
"code": "bankacilik", "name_tr": "Bankacılık", "market": "bist",
"member_count": 16, "covered_count": 14,
"pe_median": "5.84", "pe_n": 12,
"pb_median": "1.14", "pb_n": 13,
"as_of": "2026-09-16T12:05:10Z",
"computed_at": "2026-09-16T12:09:44Z",
"membership_source": "live"
}Örnek — yazılım & bilişim sektörü, her iki ayak
curl -H "X-API-Key: $PORTGATE_KEY" \
"https://api.theportfoy.com/portgate/v1/sectors/yazilim_bilisim/returns"{
"code": "yazilim_bilisim", "name_tr": "Yazılım & Bilişim", "as_of": "2026-07-10",
"tr": {"1w": "-3.40", "1m": "-1.22", "3m": "16.58",
"6m": "43.61", "1y": "66.21", "ytd": "49.42"},
"us": {"1w": "1.87", "1m": "4.05", "3m": "9.12",
"6m": "12.40", "1y": "18.75", "ytd": "8.90"},
"methodology": "v1-equal-weighted-daily-return"
}Değerler biçimi göstermek içindir; yeterince eski bir kapanışı olmayan bir dönem, tahmini bir değer yerine null olarak sabitlenir — bkz. veri ve tazelik politikası.
