Bắt đầu ngayBắt đầu miễn phí

lapply() trên data frame

Nếu thay vì một list, bạn có một data frame các lợi nhuận cổ phiếu, bạn vẫn có thể dùng lapply() chứ? Có! Nghe có vẻ bất ngờ, nhưng data frame thực chất là các list ở bên dưới, và một lời gọi lapply() sẽ áp dụng hàm lên từng cột của 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() đã tính tổng từng cột trong data frame, nhưng vẫn theo quy ước luôn trả về một list. Một data frame lợi nhuận cổ phiếu theo ngày dưới dạng số thập phân có tên stock_return đã được cung cấp.

Bài tập này là một phần của khóa học

R trung cấp cho Tài chính

Xem khóa học

Hướng dẫn bài tập

  • In stock_return để xem data frame.
  • Dùng lapply() để lấy giá trị trung bình (mean) của từng cột.
  • Tạo một hàm cho sharpe ratio. Hàm này sẽ lấy trung bình lợi nhuận, trừ đi lãi suất phi rủi ro (.03%), rồi chia cho độ lệch chuẩn của lợi nhuận.
  • Dùng lapply() để tính sharpe ratio cho từng cột.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Print stock_return
___

# lapply to get the average returns
___

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

# lapply to get the sharpe ratio
___
Chỉnh sửa và Chạy Mã