Einführung in die Portfolioanalyse mit Python
Charlotte Werger
Data Scientist

$$
$$

# Risikofreien Zins und Zielrendite 0 festlegen
rfr = 0
target_return = 0
# Tägliche Renditen aus Preisdaten berechnen
apple_returns=pd.DataFrame(apple_price.pct_change())
# Nur negative Renditen auswählen
negative_returns = apple_returns.loc[apple_returns['AAPL'] < target]
# Erwartete Rendite und Stdabw. der Downside-Renditen berechnen
expected_return = apple_returns['AAPL'].mean()
down_stdev = negative_returns.std()
# Sortino Ratio berechnen
sortino_ratio = (expected_return - rfr)/down_stdev
print(sortino_ratio)
0.07887683763760528

# Maximalen Preis mit rolling().max() berechnen roll_max = apple_price.rolling(min_periods=1,window=250).max()# Täglichen Drawdown vom Roll-Max berechnen daily_drawdown = apple_price/roll_max - 1.0# Maximalen täglichen Drawdown berechnen max_daily_drawdown = daily_drawdown.rolling(min_periods=1,window=250).min()# Ergebnisse plotten daily_drawdown.plot() max_daily_drawdown.plot() plt.show()

Einführung in die Portfolioanalyse mit Python