Skip to main content

Tarihsel Portföy Getirisi

Portföy Getiri Hesaplama​

Description​

Belirtilen portföydeki enstrümanların adetlerine göre, istenilen tarih aralığında günlük bazda kümülatif getiri hesaplar. Opsiyonel olarak bir referans sembole (örn: XU100, USDTRY) göre relatif getiri de hesaplanabilir.

Portföy ağırlıkları, her sembolün son fiyatı ve adedi üzerinden otomatik hesaplanır.

Eğer portföydeki bir sembolün başlangıç tarihinde datası yoksa, o sembol datası oluşana kadar hesaplamaya dahil edilmez ve kalan sembollerin ağırlıkları normalize edilir.

Başlangıç veya bitiş tarihi hafta sonu ya da tatil gününe denk gelirse, hesaplama en yakın işlem gününden başlar/biter.

Endpoint​

HTTP POST
Endpoint https://apitest.matriksdata.com/dumrul/v1/historic-portfolio-return

Request Body Parameters​

ParameterTypeRequiredDescription
portfolioarraytruePortföydeki semboller ve adetleri (maksimum 100 sembol)
portfolio[].symbolstringtrueSembol kodu (örn: THYAO, GARAN) (fonlar da verilebilir)
portfolio[].quantitynumbertrueSembolün portföydeki adedi. short pozisyonlar için negatif verilebilir.
startDatestringtrueBaşlangıç tarihi (YYYY-MM-DD, maksimum 3 yıl geriye)
endDatestringtrueBitiş tarihi (YYYY-MM-DD)
relativeSymbolstringfalseRelatif getiri hesaplanacak referans sembol (portföyde bulunamaz)

Response Fields​

FieldTypeDescription
startDatestringBaşlangıç tarihi
endDatestringBitiş tarihi
portfolioTotalReturnnumberPortföyün toplam getirisi (%)
relativeSymbolstringReferans sembol (varsa)
relativeSymbolTotalReturnnumberReferans sembolün toplam getirisi (%)
relativeTotalReturnnumberPortföyün referansa göre relatif getirisi (%)
timeSeriesarrayGünlük getiri serisi
timeSeries[].datestringTarih
timeSeries[].portfolioValuenumberPortföy kümülatif değeri (başlangıç = 100)
timeSeries[].portfolioReturnnumberPortföy günlük getirisi (%)
timeSeries[].relativeSymbolValuenumberReferans sembol kümülatif değeri (varsa)
timeSeries[].relativeValuenumberRelatif kümülatif değer (varsa)
timeSeries[].relativeReturnnumberRelatif günlük getiri (%) (varsa)
timeSeries[].activeSymbolsarrayAktif sembol listesi (sadece değişiklik olduğunda)

Sample Request-Response​

POST https://apitest.matriksdata.com/dumrul/v1/historic-portfolio-return

Request Body:

{
"portfolio": [
{ "symbol": "THYAO", "quantity": 100 },
{ "symbol": "GARAN", "quantity": 200 },
{ "symbol": "ASELS", "quantity": 150 },
{ "symbol": "EREGL", "quantity": 300 },
{ "symbol": "BIMAS", "quantity": 50 }
],
"startDate": "2024-12-01",
"endDate": "2024-12-31",
"relativeSymbol": "XU100"
}

Response:

{
"startDate": "2024-12-01",
"endDate": "2024-12-31",
"portfolioTotalReturn": 8.45,
"relativeSymbol": "XU100",
"relativeSymbolTotalReturn": 5.20,
"relativeTotalReturn": 3.09,
"timeSeries": [
{ "date": "2024-12-01", "portfolioValue": 100.00, "portfolioReturn": 0, "relativeSymbolValue": 100.00, "relativeValue": 100.00, "relativeReturn": 0, "activeSymbols": ["THYAO", "GARAN", "EREGL", "BIMAS"] },
{ "date": "2024-12-02", "portfolioValue": 101.20, "portfolioReturn": 1.20, "relativeSymbolValue": 100.80, "relativeValue": 100.40, "relativeReturn": 0.40 },
{ "date": "2024-12-03", "portfolioValue": 100.85, "portfolioReturn": -0.35, "relativeSymbolValue": 101.10, "relativeValue": 99.75, "relativeReturn": -0.65 },
{ "date": "2024-12-15", "portfolioValue": 104.50, "portfolioReturn": 0.82, "relativeSymbolValue": 103.20, "relativeValue": 101.26, "relativeReturn": 0.45, "activeSymbols": ["THYAO", "GARAN", "ASELS", "EREGL", "BIMAS"] },
{ "date": "2024-12-16", "portfolioValue": 105.10, "portfolioReturn": 0.57, "relativeSymbolValue": 103.80, "relativeValue": 101.25, "relativeReturn": -0.01 },
{ "date": "2024-12-31", "portfolioValue": 108.45, "portfolioReturn": 0.48, "relativeSymbolValue": 105.20, "relativeValue": 103.09, "relativeReturn": 0.26 }
]
}

Sample Request-Response (Relatif Sembol Olmadan)​

Request Body:

{
"portfolio": [
{ "symbol": "THYAO", "quantity": 100 },
{ "symbol": "GARAN", "quantity": 200 }
],
"startDate": "2024-12-01",
"endDate": "2024-12-31"
}

Response:

{
"startDate": "2024-12-01",
"endDate": "2024-12-31",
"portfolioTotalReturn": 6.82,
"timeSeries": [
{ "date": "2024-12-01", "portfolioValue": 100.00, "portfolioReturn": 0, "activeSymbols": ["THYAO", "GARAN"] },
{ "date": "2024-12-02", "portfolioValue": 101.45, "portfolioReturn": 1.45 },
{ "date": "2024-12-03", "portfolioValue": 100.92, "portfolioReturn": -0.52 },
{ "date": "2024-12-31", "portfolioValue": 106.82, "portfolioReturn": 0.38 }
]
}

Validation Errors​

Error CodeDescription
REQUIRED_ERRORZorunlu alan eksik (portfolio, startDate, endDate)
INVALID_QUANTITYAdet 0 veya negatif
INVALID_DATE_FORMATTarih formatı hatalı (YYYY-MM-DD olmalı)
INVALID_DATE_RANGEendDate, startDate'ten küçük veya eşit / startDate 3 yıldan eski
MAX_SYMBOL_COUNT_EXCEEDEDPortföyde 50'den fazla sembol
INVALID_SYMBOLGeçersiz sembol kodu
RELATIVE_SYMBOL_IN_PORTFOLIOrelativeSymbol portföyde mevcut
NO_DATA_AVAILABLEBelirtilen tarih aralığında hiçbir sembol için data yok
Son güncelleme: 14 Temmuz 2026