from sympy import symbols, Eq, solve
4 เงินรายงวดพื้นฐาน (Basic Annuities)
พื้นฐานบทนี้ใช้ความรู้เรื่องอนุกรมเรขาคณิต (Geometric Series)
- แบบจำกัดจำนวนพจน์ (Finite Geometric Series)
และ
= พจน์แรก = อัตราส่วนร่วม = จำนวนพจน์
- แบบอนันต์ (Infinite Geometric Series)
4.0.1 การใช้ซิมไพ สำหรับอนุกรมเรขาคณิต
อนุกรมเรขาคณิต (Geometric Series) คืออนุกรมที่พจน์ถัดไปแต่ละพจน์เกิดจากการคูณพจน์ก่อนหน้าด้วยค่าคงที่
อนุกรมเรขาคณิตแบบจำกัดจำนวนพจน์
from sympy import Sum, oo, symbols
# กำหนดตัวแปร
= symbols('a k r n')
a, k, r, n # อนุกรมเรขาคณิตแบบจำกัดจำนวนพจน์
= Sum(a * r**k, (k, 0, n - 1))
finite_sum # ไม่ต้องหาผลรวม finite_sum
คำสั่งด้านบนเป็นการสร้างอนุกรม .doit()
ซึ่งจะให้ผลลัพธ์ในรูปสมการปิด (closed-form) ตามสูตรทางคณิตศาสตร์
finite_sum.doit()
อนุกรมเรขาคณิตแบบอนันต์
กรณีที่จำนวนพจน์ไม่มีที่สิ้นสุด (อนุกรมอนันต์) เราสามารถกำหนดใน ซิมไพ ได้โดยใช้อักษร oo
ซึ่งแทนสัญลักษณ์ของอนันต์ (∞):
# อนุกรมเรขาคณิตแบบอนันต์
# เงื่อนไข: |r| < 1
= Sum(a * r**k, (k, 0, oo))
infinite_sum # ไม่ต้องหาผลรวม infinite_sum
ซิมไพจะแสดงอนุกรมในรูปแบบ symbolic โดยยังไม่คำนวณผลรวม
อนุกรมเรขาคณิตแบบอนันต์จะมีผลรวมจำกัด ก็ต่อเมื่ออัตราส่วนร่วมมีค่าสัมบูรณ์น้อยกว่า 1 หรือ .doit()
เช่นเดียวกัน
# หาผลรวม infinite_sum.doit()
4.1 เงินงวดสิ้นงวด (Ordinary Annuity)
Ordinary Annuity คือ การชำระเงินงวดเท่ากัน
4.1.1 มูลค่าปัจจุบันของเงินงวดสิ้นงวด (Present Value of Ordinary Annuity)
มูลค่าปัจจุบันของเงินงวดสิ้นงวด คือ มูลค่าของชุดการรับเงินที่เกิดขึ้นอย่างสม่ำเสมอ ณ สิ้นแต่ละงวด โดยมีจำนวนงวดที่แน่นอน และใช้ดอกเบี้ยคงที่ในการคิดลด (discount) ย้อนกลับไปยังมูลค่าในปัจจุบัน
ในสถานการณ์ทั่วไป เงินงวดสิ้นงวดหมายถึง การรับเงินจำนวนคงที่ เช่น 1 หน่วย ในทุกๆ สิ้นงวด เช่น ทุกสิ้นเดือน หรือสิ้นปี โดยจะได้รับเป็นระยะเวลาต่อเนื่องกันทั้งหมด
เพื่อให้สามารถเปรียบเทียบมูลค่าของชุดเงินงวดเหล่านี้กับมูลค่าเงินในปัจจุบันได้ เราจึงนำเงินแต่ละงวดในอนาคตมาคิดลดด้วยอัตราดอกเบี้ย
คือ มูลค่าปัจจุบันของเงินงวดสิ้นงวด งวด ที่ใช้อัตราดอกเบี้ย คือ ค่าคิดลด (discount factor) คือ จำนวนงวดทั้งหมด คือ อัตราดอกเบี้ยต่อช่วงเวลา
ดังนั้น
4.2 มูลค่าอนาคตของเงินงวดสิ้นงวด (Future Value of Ordinary Annuity)
มูลค่าอนาคตของเงินงวดสิ้นงวด คือ มูลค่ารวมในอนาคตของเงินที่ฝากหรือสะสมไว้เป็นงวดๆ อย่างสม่ำเสมอ ณ สิ้นแต่ละงวด โดยใช้สมมติฐานว่าเงินแต่ละงวดที่สะสมไว้สามารถนำไปลงทุนต่อด้วยอัตราดอกเบี้ยคงที่
ตัวอย่างของสถานการณ์เช่นนี้ ได้แก่ การออมเงินทุกสิ้นเดือนในบัญชีที่มีดอกเบี้ย หรือการฝากเงินเข้ากองทุนสะสมเป็นประจำในทุกสิ้นปี
การคำนวณมูลค่าอนาคตของเงินงวดสิ้นงวดสามารถใช้สมการดังนี้
โดยที่
คือ มูลค่าอนาคตของเงินงวดสิ้นงวดจำนวน งวด ที่ใช้อัตราดอกเบี้ย คือ อัตราดอกเบี้ยต่อช่วงเวลา คือ จำนวนงวดทั้งหมด
หากแต่ละงวดมีจำนวนเงินงวด (เงินออมรายงวด หรือเงินจ่ายประจำงวด) เท่ากับ
4.2.1 ความสัมพันธ์ระหว่าง และ
การคำนวณหาคำตอบด้วยซิมไพ
from sympy import symbols
# ประกาศตัวแปรพื้นฐาน
= symbols('n i', positive=True)
n, i # ใช้ชื่อแบบ LaTeX
= symbols('a_{\\overline{n}|i}', real=True)
a_ni = (1-(1+i)**-n)/i
a_ni a_ni
แทนค่าทั้งหมดลงไป
= 1000*a_ni.subs({i: 0.06, n: 5})
PV 6) PV.evalf(
วาดรูปหามูลค่าอนาคตที่เวลา 5 ปี
# ประกาศตัวแปรพื้นฐาน
= symbols('n i', positive=True)
n, i # ใช้ชื่อแบบ LaTeX
= symbols('a_{\\overline{n}|i}', real=True)
s_ni = ((1+i)**n-1)/i
s_ni s_ni
แทนค่าทั้งหมดลงไป
= 1000*s_ni.subs({i: 0.06, n: 5})
FV 6) FV.evalf(
4.3 เงินงวดต้นงวด (Annuity Due)
เงินงวดต้นงวด (Annuity Due) คือชุดของการชำระเงินที่เกิดขึ้นอย่างสม่ำเสมอโดยเริ่มจ่าย ตอนต้นงวด แทนที่จะจ่ายตอนปลายงวดเหมือนเงินงวดทั่วไป (Ordinary Annuity) เช่น การจ่ายค่าเช่าบ้านในต้นเดือน หรือการชำระเบี้ยประกันล่วงหน้าต้นปี ถือเป็นตัวอย่างของเงินงวดต้นงวด
คุณสมบัติของเงินงวดต้นงวด
การชำระเงินแต่ละงวดจะเกิดขึ้น ทันทีที่เริ่มต้นงวด
แต่ละงวดมีเวลาในการทบต้นมากกว่าหนึ่งงวด เมื่อเทียบกับเงินงวดปลายงวด
ส่งผลให้ มูลค่าปัจจุบัน (PV) และ มูลค่าในอนาคต (FV) ของ Annuity Due สูงกว่า แบบปลายงวดที่มีเงื่อนไขเหมือนกัน
เมื่อบุคคลชำระเงินจำนวนเท่ากันในช่วง ต้นของแต่ละงวด ติดต่อกันเป็นเวลา
ในกรณีที่เราต้องการหามูลค่าในอนาคตของเงินงวดต้นงวด ณ สิ้นงวดสุดท้าย (คือ ณ เวลาที่
มูลค่าปัจจุบันของเงินงวดต้นงวดสามารถแสดงได้โดยผลรวมของมูลค่าลดค่าของแต่ละงวด ซึ่งเริ่มตั้งแต่งวดแรก (งวดที่ 0) ไปจนถึงงวดที่
4.3.1 มูลค่าในอนาคตของเงินงวดต้นงวด (Future Value of Annuity Due)
เงินงวดต้นงวด (Annuity Due) คือการชำระเงินในแต่ละงวดที่เกิดขึ้น ตอนต้นงวด แทนที่จะเป็นปลายงวดเหมือนในกรณีของเงินงวดทั่วไป (Ordinary Annuity) ตัวอย่างเช่น การชำระค่าเช่าที่ต้องจ่ายล่วงหน้าก่อนเริ่มเดือน หรือเบี้ยประกันที่ชำระต้นปี
ในการวิเคราะห์ทางการเงิน หากเราต้องการทราบ มูลค่าในอนาคต ของเงินงวดต้นงวดเมื่อสิ้นสุดงวดสุดท้าย จำเป็นต้องคำนึงว่าเงินแต่ละงวดมีระยะเวลาสะสมดอกเบี้ยมากกว่าปกติหนึ่งงวด เพราะถูกจ่ายล่วงหน้าตั้งแต่ต้นงวด
ด้วยเหตุนี้ การคำนวณมูลค่าในอนาคตของเงินงวดต้นงวดจึงใช้หลักการเดียวกับเงินงวดปลายงวด แต่มีการปรับให้สะท้อนว่าเงินแต่ละงวดได้สะสมดอกเบี้ย นานขึ้นหนึ่งช่วงเวลา เมื่อเทียบกับเงินงวดปลายงวด จากหลักการข้างต้น สามารถแสดงสมการได้ดังนี้
สมการนี้แสดงว่า: มูลค่าในอนาคตของเงินงวดต้นงวดเท่ากับ มูลค่าในอนาคตของเงินงวดปลายงวด (Ordinary Annuity) คูณด้วย
ตัวอย่าง นายสมชายวางแผนออมเงินจำนวน 1,000 บาท ทุกต้นเดือน เป็นเวลา 5 เดือนในบัญชีออมทรัพย์ที่ให้ดอกเบี้ยร้อยละ 5 ต่อเดือน (คิดแบบทบต้นรายเดือน)
จงหามูลค่าปัจจุบันของแผนการออมนี้ ณ เวลาปัจจุบัน
จงหามูลค่าในอนาคตของเงินออมทั้งหมด ณ สิ้นเดือนที่ 5
วาดรูป
มูลค่าปัจจุบัน (Present Value)
from sympy import Sum
# ประกาศตัวแปรพื้นฐาน
= symbols('i k n v', positive=True)
i, k, n, v# ใช้ชื่อแบบ LaTeX
= symbols('\\ddot{a}_{\\overline{n}|i}', real=True)
adot_ni
= 1000*Sum(v**k, (k, 0, n - 1))
adot_ni adot_ni.doit()
# ดอกเบี้ยต่อเดือน .05/12
= adot_ni.subs({v: 1/(1+.05/12), n: 5})
PV 6) PV.evalf(
หามูลค่าสะสม วาดรูป
# สร้างนิพจน์สำหรับมูลค่าในอนาคต (Annuity Due)
# ใช้ชื่อแบบ LaTeX
= symbols('\\ddot{s}_{\\overline{n}|i}', real=True)
sdot_ni
= 1000*Sum((1+i)**k, (k, 1, n))
sdot_ni sdot_ni.doit()
# ดอกเบี้ยต่อเดือน .05/12
= sdot_ni.subs({i: .05/12, n: 5})
FV 6) FV.evalf(
ก่อนที่จะมีการใช้คอมพิวเตอร์ช่วยในการคำนวณ สูตรที่ผ่านมามีความสำคัญมาก เพราะทำให้การคำนวณมีความง่ายมากกว่าที่ใช้การคำนวณตรงโดยใช้ผลรวมของมูลค่าปัจจุบันทั้งหมด หรือผลรวมของมูลค่าอนาคตทั้งหมด ในหนังสือเล่มนี้ก็ยังคงใช้วิธีคำนวณโดยการจัดรูปให้เข้าสูตร เพื่อคงความสวยงามทางคณิตศาสตร์เอาไว้
จากหัวข้อที่ผ่านมา เราสามารถสังเกตุได้ว่า ถ้าเราสามารถเห็นรูปแบบการจ่ายที่มีโครงสร้างสร้างแบบการจ่ายรายงวด เราสามารถเขียนสมการแห่งมูลค่าใหม่ได้
ตัวอย่าง จงเขียนสมการแห่งมูลค่าจากแผนภาพต่อไปนี้
รายงวดสีเขียวสามารถเขียนให้เป็น
หลังจากนั้น กำหนดจุดที่ต้องการเพื่อเขียนสมการแห่งมูลค่าได้ทันที
สมมุติเลือก ที่จุด 0 จงหาอัตราดอกเบี้ยรายปี ที่ทำให้สมการแห่งมูลค่านี้เป็นจริง
= symbols('i v', positive = True, real=True)
i,v = symbols('s_{\\overline{5}|i}', real=True)
s_5i =1/(1+i)
v =((1+i)**5-1)/i
s_5i=Eq(1000*v**4*s_5i,1200*v**10*s_5i) #. สร้างสมการ
eq # แสดง equation of value eq
แก้สมการด้วยคำสั่ง solve()
= solve(eq,i)
solutions # แสดงคำตอบ
0].evalf(4) solutions[
สมการแห่งมูลค่าจะเป็นจริงเมื่ออัตราดอกเบี้ยเท่ากับ 3.09%
ตัวอย่าง ฝากเงินครั้งละ 10,000 ทุกต้นปีเป็นจำนวน 10 ครั้ง ถ้าธนาคารให้อัตราดอกเบี้ย 5% ต่อปี ต้องใช้เวลาเท่าไหร่ ถึงจะมีเงินสะสมเท่ากับ 200,000 บาท
วาดรูป
จัดรูปใหม่จะได้
สมการแห่งมูลค่าคือ
= symbols('i v t', positive = True, real=True)
i, v, t = symbols('s_{\\overline{10}|i}', real=True)
s_10i =0.05
i =1/(1+i)
v =((1+i)**10-1)/i
s_10i=Eq(1e4*v**9*s_10i,2e5*v**t) #. สร้างสมการ
eq # แสดง equation of value eq
แก้สมการด้วยคำสั่ง solve()
= solve(eq,t)
solutions # แสดงคำตอบ
0].evalf(4) solutions[
4.4 เงินรายงวดจ่าย ครั้งต่อปี (Annuities Payable m Times per Year)
ในทางคณิตศาสตร์การเงิน “annuities payable m times per year” หมายถึงเงินรายงวดที่จ่ายเป็นจำนวนครั้งเท่ากันในแต่ละปี โดยแบ่งปีออกเป็น
การวิเคราะห์มูลค่าปัจจุบัน (present value) และมูลค่าอนาคต (accumulated value) ของอนุกรมประเภทนี้ ต้องใช้ดอกเบี้ยต่อช่วงจ่าย (periodic interest rate) และจำนวนงวดทั้งหมดในรูปของ
สัญลักษณ์ที่ใช้
อัตราดอกเบี้ยรายปีที่จ่ายสิ้นปี (effective annual rate) อัตราดอกเบี้ยที่ใช้ต่อแต่ละงวดเมื่อมี งวดต่อปี (i.e., nominal rate compounded m times) อัตราดอกเบี้ยต่อหนึ่งงวดย่อย จำนวนปีที่จ่ายรายงวด จำนวนงวดทั้งหมด มูลค่าปัจจุบันของ annuity-immediate ที่จ่าย ครั้งต่อปี เป็นเวลา ปี
4.4.1 มูลค่าปัจจุบันของ Annuity-immediate ที่จ่าย ครั้งต่อปี
4.4.2 มูลค่าอนาคต (Sinking Fund Formula)
4.4.3 ตัวอย่างเชิงคำอธิบาย
หากมีการจ่ายเงิน 100 บาททุกเดือน เป็นเวลา 5 ปี โดยมีอัตราดอกเบี้ย 6% ต่อปี ทบต้นรายเดือน (
ซึ่งสะท้อนถึงมูลค่าปัจจุบันของการจ่ายเงิน 60 งวด (5 ปี
4.5 แบบฝึกหัดท้ายบท
- มูลค่าปัจจุบันของเงินรายงวดปลายงวด
ใช้ SymPy
สร้างสูตร
มูลค่าปัจจุบันของเงินรายงวดต้นงวด ใช้สูตร
และคำนวณด้วยSymPy
มูลค่าอนาคตของเงินรายงวดปลายงวด ใช้สูตร
และเขียนคำสั่งใน SymPy เพื่อคำนวณเมื่อ ,ความสัมพันธ์ระหว่าง
, , และ ให้พิสูจน์ว่าเขียนฟังก์ชัน Python ที่รับ
, แล้วคืนค่าวิเคราะห์ความไวของ
ต่อการเปลี่ยนแปลงของ ใช้diff()
หาค่าประมาณเปรียบเทียบเงินงวดปลายงวดและต้นงวด เขียนคำสั่ง
SymPy
คำนวณค่าเปรียบเทียบของ และ เมื่อ ,คำนวณเงินที่ต้องสะสมรายเดือนเพื่อให้ได้จำนวนเงิน
ภายใน ปี ใช้สูตรคำนวณมูลค่าปัจจุบันของการชำระหนี้รายปี
เป็นเวลา 8 ปี อัตราดอกเบี้ย 6% ใช้แสดงผลของการเปลี่ยนแปลง
ต่อ เป็นกราฟด้วย SymPy + matplotlib