MulaiMulai sekarang secara gratis

lapply() pada data frame

Jika, alih-alih sebuah list, Anda memiliki data frame berisi return saham, apakah Anda tetap bisa menggunakan lapply()? Ya! Mungkin mengejutkan, data frame sebenarnya adalah list di balik layar, dan pemanggilan lapply() akan menerapkan fungsi ke setiap kolom dalam data frame.

df
  a b
1 1 4
2 2 6

class(df)
[1] "data.frame"

lapply(df, FUN = sum)
$a
[1] 3

$b
[1] 10

lapply() menjumlahkan setiap kolom dalam data frame, tetapi tetap mengikuti konvensinya untuk selalu mengembalikan sebuah list. Sebuah data frame berisi return harian saham dalam bentuk desimal bernama stock_return telah disediakan.

Latihan ini adalah bagian dari kursus

R Tingkat Menengah untuk Keuangan

Lihat Kursus

Petunjuk latihan

  • Cetak stock_return untuk melihat data frame.
  • Gunakan lapply() untuk mendapatkan rata-rata (mean) dari setiap kolom.
  • Buat fungsi untuk rasio Sharpe. Fungsi ini harus mengambil rata-rata return, menguranginya dengan tingkat bebas risiko (.03%), lalu membaginya dengan simpangan baku (standard deviation) dari return.
  • Gunakan lapply() untuk menghitung rasio Sharpe dari setiap kolom.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Print stock_return
___

# lapply to get the average returns
___

# Sharpe ratio
sharpe <- function(returns) {
    (___ - .0003) / ___
}

# lapply to get the sharpe ratio
___
Edit dan Jalankan Kode