การคำนวณผลตอบแทนการลงทุนด้วย Python

Python for Quant CU

NUTHDANAI WANGPRATHAM
Quant CU
Published in
2 min readJun 16, 2024

--

การลงทุนอย่างชาญฉลาดเป็นกุญแจสำคัญในการสร้างความมั่งคั่ง และการเข้าใจวิธีการคำนวณผลตอบแทนการลงทุนเป็นสิ่งสำคัญในการเดินทางนี้ Python พร้อมด้วยไลบรารีที่ทรงพลังและไวยากรณ์ที่เข้าใจง่าย ช่วยให้การคำนวณเหล่านี้มีประสิทธิภาพและสนุกสนานมากขึ้น ในบทความนี้ เราจะสำรวจความซับซ้อนของการคำนวณผลตอบแทนการลงทุนด้วย Python แล้วรู้ไหมผลตอบแทนไม่ได้มีแบบเดียว

ชนิดของผลตอบแทนการลงทุน

ผลตอบแทนการลงทุนวัดการเพิ่มขึ้นหรือลดลงของการลงทุนในช่วงเวลาที่กำหนด การเข้าใจประเภทต่างๆ ของผลตอบแทนเป็นสิ่งสำคัญ

ผลตอบแทนแบบง่าย:

การเปลี่ยนแปลงเป็นเปอร์เซ็นต์ของมูลค่าการลงทุนในช่วงเวลาเดียว

ผลตอบแทนแบบง่ายให้วิธีที่ตรงไปตรงมาในการวัดประสิทธิภาพของการลงทุนในช่วงเวลาเดียว สูตรสำหรับผลตอบแทนแบบง่ายคือ:

คือตัวอย่างโค้ด Python สำหรับคำนวณผลตอบแทนแบบง่าย:

import pandas as pd
def calculate_simple_return(start_price, end_price):
return (end_price - start_price) / start_price
# ตัวอย่างการใช้งาน
start_price = 100
end_price = 150
simple_return = calculate_simple_return(start_price, end_price)
print(f"Simple Return: {simple_return * 100:.2f}%")

ผลตอบแทนทบต้น(cumulative return):

ผลตอบแทนจากการลงทุนในหลายช่วงเวลา โดยคำนึงถึงการนำรายได้กลับมาลงทุนใหม่ ผลตอบแทนทบต้นคำนึงถึงการนำรายได้กลับมาลงทุนใหม่ ทำให้เป็นการวัดการเติบโตของการลงทุนในหลายช่วงเวลาได้แม่นยำขึ้น สูตรสำหรับผลตอบแทนทบต้นคือ:

มีความสามารถคำนวณผ่านช่วงเวลาได้เพื่อให้เห็นปัญหาของ ผลตอบแทนแบบง่าย ขอยกตัวอย่างดังนี้ สมมุติถ้าเราลงทุนหนึ่งล้านบาท ในปีแรกเรากำไร 100 % ปีที่สองขาดทุน 50% ผลตอบแทนเฉลี่ยจะเท่ากับเท่าไหร่

.

.

.

หลายคนคงตอบ 25% = (100 -50 )/2 ใช่ไหมครับ แล้วเรามีเงินเท่าไหร่หลังปีที่ 2

1 ล้านปีแรกกำไร 100 % สิ้นปีแรกเราจะมีเงิน 2 ล้าน

หลังจากนั้นเราขาดทุน 50 % เราจะเหลือ เงิน 1 ล้าน

.

.

นี้แหละครับปัญหาของผลตอบแทนแบบง่ายผลมันไม่สามารถผ่านเวลาได้ ข้อมูลทางการเงินส่วนใหญ่เกี่ยวกับเวลา เราเลยมักใช้ cumulative return

นี่คือตัวอย่างโค้ด Python สำหรับคำนวณผลตอบแทนทบต้น:

import numpy as np
def calculate_compound_return(start_price, end_price, periods):
return (end_price / start_price) ** (1 / periods) - 1

# ตัวอย่างการใช้งาน
start_price = 100
end_price = 150
periods = 3
compound_return = calculate_compound_return(start_price, end_price, periods)
print(f"Compound Return: {compound_return * 100:.2f}%")

ผลตอบแทนทบต้นต่อปี:

ค่าเฉลี่ยเรขาคณิตของจำนวนเงินที่ได้รับจากการลงทุนในแต่ละปีในช่วงเวลาที่กำหนด ผลตอบแทนทบต้นต่อปีให้การวัดผลตอบแทนต่อปีที่ปกติ ทำให้สามารถเปรียบเทียบการลงทุนที่ถือครองในช่วงเวลาต่างๆ ได้ง่ายขึ้น สูตรสำหรับผลตอบแทนทบต้นต่อปีคือ:

ฟังก์ชันนี้ให้ผลตอบแทนทบต้นต่อปีประ

def calculate_annualized_return(start_price, end_price, years):
return (end_price / start_price) ** (1 / years) - 1

# ตัวอย่างการใช้งาน
start_price = 100
end_price = 150
years = 3
annualized_return = calculate_annualized_return(start_price, end_price, years)
print(f"Annualized Return: {annualized_return * 100:.2f}%")

สรุป

การคำนวณผลตอบแทนการลงทุนเป็นสิ่งสำคัญในการประเมินประสิทธิภาพของการลงทุนของคุณ ด้วย Python คุณสามารถดำเนินการคำนวณเหล่านี้ได้อย่างง่ายดาย ไม่ว่าคุณจะกำลังจัดการกับผลตอบแทนแบบง่าย ผลตอบแทนทบต้น หรือผลตอบแทนทบต้นต่อปี โดยการใช้ไลบรารีเช่น pandas และ numpy คุณยังสามารถทำงานกับข้อมูลย้อนหลังเพื่อวิเคราะห์ประสิทธิภาพที่ผ่านมาและตัดสินใจลงทุนอย่างมีข้อมูล

--

--

NUTHDANAI WANGPRATHAM
Quant CU

I am a learner and have a multipotential life. You can contact me at nutdnuy@gmail.com