Mulai sekarangMulai gratis

Buat fitur dan target

Untuk menggunakan Machine Learning dalam memilih portofolio terbaik, kita perlu membuat fitur dan target. Fitur kita baru saja dibuat pada latihan sebelumnya – exponentially weighted moving averages dari harga. Target kita adalah portofolio terbaik yang ditemukan dari Sharpe ratio tertinggi.

Kita akan menggunakan metode .iterrows() milik pandas untuk mendapatkan pasangan index, value dari DataFrame ewma_monthly. Kita akan menetapkan nilai ewma_monthly saat ini di dalam loop sebagai fitur. Lalu kita akan menggunakan indeks dari Sharpe ratio terbaik (dari max_sharpe_idxs) untuk mendapatkan portfolio_weights terbaik untuk setiap bulan dan menetapkannya sebagai target.

Latihan ini merupakan bagian dari kursus

Machine Learning untuk Keuangan dengan Python

Lihat Kursus

Instruksi latihan

  • Gunakan metode .iterrows() dengan ewma_monthly untuk melakukan iterasi melalui index, value di dalam loop.
  • Gunakan date dalam loop dan best_idx untuk mengindeks portfolio_weights guna memperoleh bobot portofolio ideal berdasarkan Sharpe ratio terbaik.
  • Tambahkan ewma ke dalam fitur.

Latihan interaktif langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

targets, features = [], []

# Create features from price history and targets as ideal portfolio
for date, ewma in ewma_monthly.____:

    # Get the index of the best sharpe ratio
    best_idx = max_sharpe_idxs[date]
    targets.append(portfolio_weights[____][____])
    features.append(____)  # add ewma to features

targets = np.array(targets)
features = np.array(features)
print(targets[-5:])
Edit dan Jalankan Kode