เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

FUN arguments

บ่อยครั้งที่ฟังก์ชันที่ต้องการนำไปใช้จะมี argument แบบ optional อื่น ๆ ที่สามารถปรับแต่งได้ ลองพิจารณาฟังก์ชัน percent_to_decimal() ที่ให้ผู้ใช้ระบุจำนวนตำแหน่งทศนิยมได้

percent_to_decimal(5.4, digits = 3)
[1] 0.054

เมื่อเรียกใช้ lapply() สามารถระบุ named optional arguments ต่อจาก argument FUN ได้ โดย arguments เหล่านั้นจะถูกส่งต่อไปยังฟังก์ชันที่นำไปใช้

my_list
$a
[1] 2.444 3.500

$b
[1] 1.100 2.678 3.450

lapply(my_list, FUN = percent_to_decimal, digits = 4)
$a
[1] 0.0244 0.0350

$b
[1] 0.0110 0.0268 0.0345

ในแบบฝึกหัดนี้ จะได้ขยายความสามารถของฟังก์ชัน Sharpe ratio ให้รับอัตราผลตอบแทนปลอดความเสี่ยง (risk free rate) เป็น argument จากผู้ใช้ได้ แล้วนำฟังก์ชันนี้ไปใช้กับ lapply() โดยมี data frame ของผลตอบแทนรายวันของหุ้น ในรูปทศนิยม ชื่อ stock_return เตรียมไว้ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

R ระดับกลางสำหรับการเงิน

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ขยายฟังก์ชัน sharpe ให้รับอัตราผลตอบแทนปลอดความเสี่ยงเป็น optional argument โดยกำหนดค่าเริ่มต้นไว้ที่ .0003
  • ใช้ lapply() กับ stock_return เพื่อคำนวณ Sharpe ratio เมื่ออัตราผลตอบแทนปลอดความเสี่ยงเท่ากับ .0004
  • ใช้ lapply() กับ stock_return เพื่อคำนวณ Sharpe ratio เมื่ออัตราผลตอบแทนปลอดความเสี่ยงเท่ากับ .0009

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Extend sharpe() to allow optional argument
sharpe <- function(returns, rf = ___) {
    (mean(returns) - ___) / sd(returns)
}

# First lapply()
___

# Second lapply()
___
แก้ไขและรันโค้ด