1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. R trung cấp cho Tài chính

Connected

Bài tập

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.

Hướng dẫn

100 XP
  • 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.