Python İle Finansal Analiz 2 – Finansal Hesaplama Araçları

0 963

Python ile Finansal Analiz yazı dizimize daha önce yayınladığımız Python İle Finansal Analiz 1 – GİRİŞ bölümü ile giriş yapmıştık. Önceki yazımızda genel olarak Python İle Finansal Analiz Yazılarında neler olacağından, birlikte yapacağımız projelerden bahsetmiştik. Daha sonra da Python programlama dünyasına hızlı bir giriş yaptık.

Bu yazımız da ise Python İle Finansal Analiz araçlarını kullanarak temel finansal hesaplamaları gerçekleştireceğiz.

Python İle Finansal Analiz 2 - Finansal Hesaplama Araçları 1

Yatırım Getirisi Hesaplama Örneği

Önceki yazımızda kütüphaneleri kodumuza eklemeyi ve çağrı fonksiyonlarını nasıl içe aktaracağımızı bildiğimize göre, bir yatırımın gelecekteki değerini hesaplayan basit bir örneğe bakalım.

5 yıl boyunca yıllık %8 getiri oranıyla 1000$ yatırım yaptığınızı varsayalım.

5 yıl sonra yatırımımızın ne kadara mal olacağını hesaplamamız gerekiyor.

import numpy_financial as npf
res = npf.fv(rate=0.08, nper=5, pmt=0, pv=-1000)
print(res)

numpyFinancial paketini içe aktardık ve parametrelere dayalı olarak gelecekteki değeri hesaplamak için fv() işlevini kullandık.

rate(); Faiz oranı ondalık olarak verilmiştir, 1 %100’ü temsil eder, dolayısıyla 0,08 %8’e tekabül eder.

nper, dönem sayısıdır.

pv, bizim durumumuzda 1000$’lık bir yatırım olan bugünkü değerdir, dolayısıyla eksi işarettir.

pmt, bizim durumumuzda 0 olan periyodik ödemelere/yatırımlara karşılık gelir.

Numpy Financial, sonraki derslerde ele alacağımız birçok faydalı finansal fonksiyona sahiptir.

Numpy-financial aracını bilgisayarınıza

  $ pip install numpy-financial

komutlarını kullanarak yükleyebilirsiniz. Bu paket ile daha fazla bilgiyi web sitesi üzerindeki dokümanlardan ulaşabilirsiniz.

Numpy Dizileri

Numpy Financial, bilimsel hesaplamada kullanılan bir paket olan Numpy üzerine kurulmuştur. Numpy’nin temel özelliği, verileri depolamak ve hesaplamaları gerçekleştirmek için kullanılan dizisidir. Numpy ile ilgili daha önce hazırladığımız bu yazımıza göz atarak numpy kütüphanesi ile ilgili daha fazla bilgiye erişebilirsiniz.

Bir dizi, birden çok değeri tek bir değişkende saklamanıza izin verir.

Örneğin, bir dizi fiyat bildirelim:

fiyatlar = [42.8, 102.03, 240.38, 80.9]

Gördüğünüz gibi dizi, birden çok değeri saklayan bir değişkene atanmıştır.

Bir dizinin elemanları virgül kullanılarak ayrılır.

Dizideki Öğelere Erişim

Dizideki belirli bir öğeye, köşeli parantez içindeki indeksi kullanılarak erişilebilir.

Örneğin, fiyatlar dizisindeki 2. öğenin çıktısını alalım:

prices = [42.8, 102.03, 240.38, 80.9] 
print(prices[1])
>>> 102.03

nums = [5, 4, 3, 2, 1]
print(nums[2])
>>>3

Şimdi, numpy paketini içe aktardıktan sonra, diziye çeşitli Numpy işlevlerini uygulayabilir ve sonucu alabiliriz:

import numpy as np

prices = [42.8, 102.03, 240.38, 80.9]

print(np.mean(prices))

print(np.std(prices))

print(np.sum(prices))

print(np.max(prices))
>>>116.5275
>>>74.59001654879827
>>>466.11
>>>240.38

mean – dizinin ortalama değerini döndürür.

std – standart sapmayı döndürür

sum – tüm değerlerin toplamını döndürür

max – maksimum değeri döndürür.

Görev

Verilen kod, 2018-2021 yılları arasında her yılın 1 Ocak itibariyle Bitcoin fiyatını tanımlayan bir dizi içerir.

Fiyat değerlerinin standart sapmasını hesaplayan ve çıktısını veren bir program oluşturun.

Beklenen Sonuç

10513.803224771947

Standart sapmayı hesaplamak için argüman olarak diziyle birlikte np.std() işlevini kullanın.

import numpy as np
import numpy_financial as npf

#price for 2018-2021
bitcoin = [3869.47, 7188.46, 22203.31, 29391.78]
print(np.std(bitcoin))
>>>10513.803224771947

Bir dizinin Standart Sapmasını bulma

import numpy as np 

x = [8, 42, 3, 55] 

res = np.std(x) 

print(res)

20 yıl boyunca 1$’lık yatırımın gelecekteki değerini hesaplamak için boşlukları doldurun. Her yıl yatırımın değeri ikiye katlanır (%100 faiz).

import numpy_financial as npf
res = npf.fv( rate=1, nper=20, pmt=0, pv=-1)

Önceki örnekte gördüğümüz gibi, NumpyFinancial paketi birçok yararlı finansal işlevi içerir.

Bunları kullanmak için önce paketi içe aktarmamız gerekiyor:

numpy_financial’ı npf olarak içe aktar

import numpy_financial as npf

npf, paketi içe aktarırken yaygın olarak kullanılan bir kısaltmadır.

Paketi içe aktardıktan sonra, adını ve bir noktayı kullanarak işlevlerine erişebiliriz.

Gelecekteki değeri temsil eden fv() işlevini zaten gördük.

import numpy_financial as npf

res = npf.fv(rate=0.08, nper=5, pmt=0, pv=-1000)
print(res)

üstteki örnek 5 yıl boyunca yıllık %8 getiri oranıyla 1000$ yatırım yaptığınızı, 5 yıl sonra yatırımımızın ne kadara mal olacağını hesaplıyordu.

Benzer şekilde, bir yatırımın bugünkü değerini hesaplamak için pv() işlevi kullanılır.

Örneğin, 8 yılda toplam 1000 olması gereken bir yatırımın, yıllık %10 faiz oranıyla bugünkü değerini hesaplayalım:

import numpy_financial as npf

res = npf.pv(rate = 0.10, nper=8, pmt=0, fv=1000)
print(res)
-466.50738020973307

Kod, 8 yıl içinde 1000’e ulaşmak için bugün yatırmanız gereken miktarı verecektir.

Başka bir örnek; 15 yıl boyunca yıllık olarak %7 faiz oranıyla yatırım yapmanız gereken tutarı hesaplayarak toplamda 150.000 TL elde edin.

npf.pv( 
rate= 0.07,
nper=15,
pmt=0, 
fv=150000)

Python Finansal Analiz Aylık Kredi Ödemeleri

pmt() işlevi, kredi anaparası artı faize karşı ödemeyi hesaplamak için kullanılır.

Diyelim ki 100.000 krediyi 5 yılda geri ödemek için aylık ne kadar ödememiz gerektiğini hesaplamak istiyoruz. Yıllık faiz oranı %7 olup aylık olarak hesaplanmaktadır.

import numpy_financial as npf

res = npf.pmt(rate=0.07/12, nper=5*12, pv=100000, fv=0) 
print(res)
>>>-1980.1198540349467

Aylık ödemeleri hesaplamamız gerektiğinden oran ve dönemleri (nper) ay olarak belirliyoruz. pv parametresi kredinin şimdiki değerini, fv ise elde etmek istediğimiz gelecekteki değeri gösterir.

Ortaya çıkan aylık ödeme tutarını görmek için kodu çalıştırın. Örneğin ipotek ödemelerini hesaplamak için bu yöntemi kullanabilirsiniz.

Bir borcun tamamını geri ödememiz gerekirse, pmt() işlevi için fv (gelecekteki değer) parametresinin değeri nedir?

Cevap : 0

pmt() İle Faiz hesaplama

Aylık ipotek ödemesinin hesaplanmasının yanı sıra, belirli bir faiz oranı ile belirli bir gelecek bakiyesi elde etmek için yapılması gereken periyodik depozitoyu iade etmek için pmt() işlevinin kullanılabileceğini unutmayın.

Örneğin:

import numpy_financial as npf

res = npf.pmt(rate=0.10/12, nper=5*12, pv=0, fv=50000) 
print(res)

>>>-645.6855688967499

Kod, 5 yılda 50000’e ulaşmak için gereken aylık mevduatları %10 yıllık faizle iade edecektir.

İstediğiniz emeklilik birikimini elde etmek için yıllık olarak ne kadar tasarruf etmeniz gerektiğini hesaplayan bir program yazmaya çalışın.

30 yılda 100.000 tasarruf sağlamak için yıllık ne kadar tasarruf etmeniz gerektiğini hesaplamak için sürükleyip bırakın. Faiz oranı %3’tür.

npf.pmt( 

rate=0.03, 

nper=30, 

pv=0, 

fv =100000)

IRR – Internal Rate of Return – Dahili Getiri Oranı

Numpy Financial, IRR’yi (Internal Rate of Return – Dahili Getiri Oranı) hesaplamak için kullanılan bir irr() işlevine sahiptir.

Diyelim ki 5000 yatırım yaptık ve şu ödemeleri geri aldık: 500, 700, 1000, 3000.

IRR’yi hesaplamak için önce, ilk değer ilk yatırımımız olacak şekilde değerlerle bir dizi tanımlamamız gerekir:

cashflow = [-5000, 500, 700, 1000, 3000]

Şimdi IRR’yi yani Dahili Getiri Oranını hesaplayabiliriz.

import numpy_financial as npf

cashflow = [-5000, 500, 700, 1000, 3000]
print(npf.irr(cashflow))
>>> 0.012164656866492818

IRR’yi karşılaştırma

İki yatırım fırsatını karşılaştırmak ve hangisinin daha iyi olduğuna karar vermek için irr() işlevini kullanalım.

Seçenek 1:

50K yatırım gerektirir

Önümüzdeki 5 yıl boyunca her yıl 10K, 25K, 25K, 35K, 42K ödeyecek.

Seçenek 2:

30K yatırım gerektirir

Önümüzdeki 5 yıl boyunca her yıl 10K, 13K, 18K, 25K, 20K ödeyecek.

Her yatırım için IRR’yi hesaplayalım ve karşılaştıralım:

import numpy_financial as npf

cf1 = [-50000, 10000, 25000, 25000, 35000, 42000]
cf2 = [-30000, 10000, 13000, 18000, 25000, 20000]

print("Option 1: ", npf.irr(cf1))
print("Option 2: ", npf.irr(cf2))

>>> Option 1:  0.3605982754620045
>>>Option 2:  0.4094208743397143

Her seçenek için nakit akışı için bir dizi tanımlıyoruz ve irr() işlevini kullanıyoruz.

Kodları çalıştırınca hangi yatırımın daha çok kazandırdığını görebiliyoruz.

Bu yazımızın sonuna geldik. Bir sonraki yazımızda Finansal Analiz hesaplamalarının sonuçlarını grafik olarak çizmek için gerekli araçları yazacağız.

Cevap bırakın

E-posta hesabınız yayımlanmayacak.

Bu web sitesi deneyiminizi geliştirmek için çerezleri kullanır. Bununla iyi olduğunuzu varsayacağız, ancak isterseniz vazgeçebilirsiniz. Kabul etmek Mesajları Oku