Python ile Sharpe Oranı Hesaplama Yöntemleri

Sharpe Oranı Nedir?

Finansal performans değerlendirmesi için en yaygın kullanılan metriklerden biri olan Sharpe oranı, yatırımın ne kadar getirisi olduğunu ölçerken, aynı zamanda riskini de göz önünde bulundurarak daha sağlıklı bir değerlendirme yapmamızı sağlar. William F. Sharpe tarafından geliştirilen bu oran, portföy performansını risk düzeyine göre normalize ederek, daha anlamlı bir karşılaştırma olanağı sunar. Temel olarak, bir yatırımın beklenen getirisi ile risksiz getiri arasındaki farkın yatırımın standart sapmasına bölünmesi ile hesaplanır.

Sharpe oranının yüksek olması, yatırımın sağladığı getirinin riskine oranla daha iyi olduğunu gösterirken, düşük bir oran, yatırımın riskinin getirisine göre fazla olduğunu gösterir. Bu nedenle, yatırımcılar ve analistler, portföylerinin performansını değerlendirmek için sıkça bu oranı kullanır.

Sharpe Oranı Hesaplamak için Gerekenler

Sharpe oranını hesaplamak için birkaç temel bileşene ihtiyacımız var: yatırımın beklenen getirisi, risksiz getiri ve yatırımın standart sapması. Öncelikle, belirli bir zaman diliminde (genelde yıllık) yatırımın sağladığı getirileri toplamalı ve bunun ortalamasını almalıyız. Risksiz getiri genellikle devlet tahvilleri veya benzeri düşük riskli yatırım araçlarının sağladığı getiriyi temsil eder.

Standard sapmayı bulmak için, getirilerin ortalamadan ne kadar saptığını ölçen istatistiksel bir hesaplama yapmamız gerekiyor. Bunun için Python’da Numpy ve Pandas gibi kütüphaneleri kullanacaksak, gerekli verileri rahatlıkla hazırlayabiliriz. Numpy, sayısal hesaplamalar yaparken Pandas ise veri analizi için ideal bir kütüphanedir.

Bu bilgiler ışığında, Sharpe oranını şu formülle hesapladığımızı düşünebiliriz: Sharpe Oranı = (Beklenen Getiri - Risksiz Getiri) / Standart Sapma

Python’da Sharpe Oranı Hesaplamak

Artık Sharpe oranı hakkında yeterince bilgi sahibi olduğumuza göre, bu oranı Python kullanarak nasıl hesaplayabileceğimize bakalım. Öncelikle gerekli kütüphaneleri yüklememiz gerekiyor. Bunun için uygulama ortamımızda Pandas ve Numpy’yi yüklemeliyiz.

pip install numpy pandas

Yüklemelerimizi yaptıktan sonra, yatırım getirilerini ve risksiz getiriyi belirleyen bir Python kodu yazabiliriz. İşte örnek bir uygulama:

import numpy as np
import pandas as pd

# Örnek yatırım getirileri (yüzde cinsinden)
returns = [0.02, 0.03, 0.025, 0.04, 0.01]
returns = np.array(returns)

# Risksiz getiri (örneğin devlet tahvilinden)
risk_free_rate = 0.01  # %1

# Beklenen getiriyi hesaplama
expected_return = np.mean(returns)

# Standart sapmayı hesaplama
standard_deviation = np.std(returns)

# Sharpe oranını hesaplama
sharpe_ratio = (expected_return - risk_free_rate) / standard_deviation

print(f'Sharpe Oranı: {sharpe_ratio}')

Bu kod parçasında öncelikle yatırım getirilerini bir dizi halinde tanımladık. Risksiz getirimizi de belirledikten sonra, beklenen getiriyi ve standart sapmayı hesapladık. Son aşamada ise Sharpe oranını formülden elde ettiğimiz değerle buluyorduk.

Uygun Veri Kullanımı ve Performans Analizi

Yukarıda verdiğimiz örnekte, yatırım getirileri sabit bir dizi olarak verilmiştir. Gerçek hayat senaryolarında, bu veriler genellikle bir finansal veri kaynağından alınarak Pandas DataFrame’e aktarılabilir. Örneğin, hisse senedi getirileri, bir API aracılığıyla veya CSV dosyası üzerinden yüklenebilir ve doğrudan analiz edilebilir.

Bir veri kaynağından getirileri çekmek için aşağıdaki gibi bir metodoloji kullanılabilir. Örnek olarak, Yahoo Finance API’si ile veri çekip bu verilerle Sharpe oranını hesaplayalım:

import pandas_datareader.data as web
import datetime

# Tarih aralığı belirleme
end = datetime.datetime.now()
start = end - datetime.timedelta(days=365)

# Hisse senedi verilerini çekme
ticker = 'AAPL'
prices = web.DataReader(ticker, 'yahoo', start, end)

# Getiri hesaplama
daily_returns = prices['Adj Close'].pct_change().dropna()

# Beklenen getiri ve standart sapmayı hesaplama
expected_return = daily_returns.mean()
standard_deviation = daily_returns.std()

sharpe_ratio = (expected_return - risk_free_rate) / standard_deviation

print(f'Sharpe Oranı: {sharpe_ratio}')

Yukarıdaki kod parçasında, Apple’ın (AAPL) hisse senedi fiyatlarını çekiyoruz ve ardından günlük getirilerin yüzdelik değişimlerini hesaplıyoruz. Daha sonra bu getiriler üzerinden Sharpe oranını hesaplıyoruz.

Hata Yönetimi ve Sonuçların Yorumlanması

Python kodunuzu yazarken hata yönetimi son derece önemlidir. Özellikle finansal veriler çekilirken, veri kaynakları bazen hata verebilir veya veri eksikliği yaşayabilirsiniz. Bu yüzden, API çağrılarınızda hata yakalama mekanizmalarını kullanmalısınız. Mümkünse verilerinizin temiz ve eksiksiz olduğundan emin olun.

Son olarak, elde ettiğiniz Sharpe oranlarını yorumlamak büyük önem taşır. Bir yatırımın Sharpe oranı 1’in üzerindeyse, bu genellikle iyi bir performansa işaret eder. Ancak, bu oranın 1’den düşük olması, yatırımın belirli bir riskle birleştiğinde yeterli getiri sağlamadığını gösterir. Bu nedenle, Sharpe oranı yalnızca tek başına kullanılmamalıdır; diğer performans metrikleri ile birlikte değerlendirilmelidir.

Özetle, Sharpe oranını hesaplamak, yatırım kararlarınızı güçlendirebilir ve daha iyi bir portföy yönetimi sağlamanıza yardımcı olabilir. Python sayesinde bu oranı hesaplamak oldukça basit ve verimli bir şekilde yapılabilir.

Sonuç

Sharpe oranı, yatırımcılar ve analistler için önemli bir araçtır. Gerçekleştirdiğiniz yatırımlarda risk ve getiri dengesini sağlamak, başarılı bir yatırım stratejisi oluşturmanıza katkı sağlayabilir. Python yardımıyla hesaplama işlemini otomatikleştirerek zaman kazanabilir, verimli analizler yapabilirsiniz. Şimdi kendi projelerinizde bu bilgileri kullanarak yatırım performansınızı değerlendirmeye başlayabilirsiniz!

Scroll to Top