Dapatkan rasio Sharpe terbaik
Kita perlu menemukan portofolio "ideal" untuk setiap tanggal agar dapat menggunakannya sebagai target untuk Machine Learning. Kita akan melakukan loop melalui setiap tanggal di portfolio_returns, lalu melakukan loop melalui portofolio yang kita hasilkan dengan portfolio_returns[date]. Selanjutnya, kita akan menghitung rasio Sharpe, yaitu imbal hasil dibagi volatilitas (dengan asumsi imbal hasil bebas risiko 0).
Kita menggunakan enumerate() untuk melakukan loop melalui imbal hasil pada tanggal saat ini (portfolio_returns[date]) dan melacak indeks dengan i. Lalu kita gunakan tanggal saat ini dan indeks saat ini untuk mendapatkan volatilitas setiap portofolio dengan portfolio_volatility[date][i]. Terakhir, kita mendapatkan indeks rasio Sharpe terbaik untuk setiap tanggal menggunakan np.argmax(). Kita akan segera menggunakan indeks ini untuk memperoleh bobot portofolio ideal.
Latihan ini merupakan bagian dari kursus
Machine Learning untuk Keuangan dengan Python
Instruksi latihan
- Dengan menggunakan
enumerate(), enumerasikanportfolio_returnsuntuk setiapdatedalam loop. - Untuk
datesaat ini dalam loop, tambahkan ke entri kamussharpe_ratiodengan imbal hasil (ret) dibagiportfolio_volatilityuntuk tanggal saat ini danisaat ini dalam loop. - Tetapkan nilai
max_sharpe_idxsuntukdatesaat ini sebagai indeks dari rasio Sharpe maksimum menggunakannp.argmax().
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# Empty dictionaries for sharpe ratios and best sharpe indexes by date
sharpe_ratio, max_sharpe_idxs = {}, {}
# Loop through dates and get sharpe ratio for each portfolio
for date in portfolio_returns.keys():
for i, ret in enumerate(portfolio_returns[____]):
# Divide returns by the volatility for the date and index, i
sharpe_ratio.setdefault(date, []).append(____ / portfolio_volatility[date][____])
# Get the index of the best sharpe ratio for each date
max_sharpe_idxs[date] = np.argmax(sharpe_ratio[____])
print(portfolio_returns[date][max_sharpe_idxs[date]])