Google Sheets'te TEFAS portföy takibi: 5 hazır tablo
Beş tablo, hepsi kopyala-yapıştır. Sırayla kuruyoruz; her biri bir öncekinin üstüne geliyor. Sheets'in yerel ayarı Türkiye varsayıldı (ondalık virgül, formül ayracı noktalı virgül).
0. Kurulum: fonları tek sayfaya çek
Her hücrede ayrı istek atmak yerine bütün listeyi bir kez çekip oradan okuyacağız. Yeni bir sayfa aç, adını Fonlar koy, A1'e:
=IMPORTDATA("https://fonfiyat.com.tr/v1/funds.csv";";")
Sütunlar: A kod, B ad, C tarih, D fiyat, E günlük %, F 1 ay, G 3 ay, H 6 ay, I yılbaşı, J 1 yıl, K 3 yıl, L 5 yıl, M büyüklük, N yatırımcı, O kurucu. Emeklilik fonların da varsa aynı formülü ?tip=EMK ile ikinci bir sayfaya çek, ya da ?tip=all ile hepsini tek seferde.
1. Portföy değeri
Ana sayfada A kodlar, B adetler. C ve D:
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Kod | Adet | Fiyat | Değer |
| 2 | AFA | 1000 | =VLOOKUP(A2;Fonlar!A:D;4;FALSE) | =B2*C2 |
| 3 | TTA | 250 | =VLOOKUP(A3;Fonlar!A:D;4;FALSE) | =B3*C3 |
| … | =SUM(D2:D20) |
Kodları bilmiyorsan listeden bak. Yanlış kod yazarsan VLOOKUP #N/A verir; IFERROR(…;"") ile sarabilirsin.
2. Günlük kâr/zarar
E sütununa günlük yüzdeyi, F'ye TL karşılığını:
E2: =VLOOKUP(A2;Fonlar!A:E;5;FALSE)
F2: =D2*E2/100
Yüzdeler sitede yüzde cinsinden gelir (0,42 = %0,42), o yüzden 100'e bölüyoruz. Hücreye "%" biçimi vereceksen 0. adımdaki URL'ye &oran=1 ekle ve bölmeyi kaldır.
Alta toplam: =SUM(F2:F20). Bu sayı günün kaç lira kazandırdığı ya da kaybettirdiği.
3. Maliyet ve toplam getiri
G'ye ortalama alış fiyatını elle yaz (aracı kurum ekstresinden). H maliyet, I getiri:
H2: =B2*G2
I2: =D2-H2
J2: =IFERROR(I2/H2;"") ← yüzde biçimi verebilirsin, bu zaten oran
Portföyün ağırlıklı getirisi: =SUM(I2:I20)/SUM(H2:H20).
4. Fon karşılaştırma
Elindeki fonların dönemsel getirilerini yan yana görmek için kod listesinin yanına:
=ARRAYFORMULA(IFERROR(VLOOKUP(A2:A20;Fonlar!A:L;{5\6\7\9\10};FALSE);""))
Beş sütun gelir: günlük, 1 ay, 3 ay, yılbaşı, 1 yıl. Koşullu biçimlendirmeyle negatifleri kırmızı yap, tablo kendini anlatır.
Fonların birbirine göre nasıl gittiğini görmek için son 30 günü SPARKLINE ile çiz. K sütununa:
=SPARKLINE(INDEX(IMPORTDATA("https://fonfiyat.com.tr/v1/funds/"&A2&"/history.csv?from="&TEXT(TODAY()-30;"yyyy-mm-dd");";");0;2))
Bu formül fon başına bir istek atar; 20 fon için sorun değil, 200 fon için yavaşlar.
5. En iyi fonlar listesi
Fonlar sayfasından sorgu. Son 1 yılda en çok kazandıran 10 fon, en az 1000 yatırımcısı olanlar arasında:
=QUERY(Fonlar!A:O;"select A, B, J, N where N > 1000 order by J desc limit 10";1)
Aynı sorguyu yılbaşı için I, 3 yıl için K ile tekrar et. "Para piyasası" fonlarını ayırmak istersen ada göre filtrele: where B contains 'PARA PİYASASI'. Kurucuya göre: where O = 'AKP'.
Sıralamalar geçmiş getiriyi gösterir, gelecek hakkında bir şey söylemez; bunun neden böyle olduğunu şu yazıda anlattık.
Hazır şablon
Bu tabloların kurulu olduğu şablonu Drive'ına kopyala →
Kendin kuruyorsan ipuçları: IMPORT fonksiyonları yaklaşık saatte bir yenilenir, hafta sonu son Cuma fiyatı görünür, formül çok yavaşlarsa 0. adımdaki tek CSV'yi kullanıp tek tek IMPORTDATA'lardan vazgeç. Hata alırsan sorun giderme bölümü.