احسب مبالغ سداد الرهن العقاري، وإجمالي الفائدة المدفوعة، والرصيد المتبقي بناءً على المبلغ الأساسي، ومعدل الفائدة، ومدة القرض، وتكرار السداد. ضروري لمشتري المنازل، وإعادة التمويل، والتخطيط المالي.
حاسبة الرهن العقاري هي أداة أساسية لأي شخص يفكر في شراء منزل أو إعادة تمويل رهن عقاري قائم. تساعد المقترضين في تقدير مدفوعاتهم الشهرية، وإجمالي الفائدة المدفوعة، والرصيد المتبقي على مدى فترة القرض. تأخذ هذه الحاسبة في الاعتبار المبلغ الأساسي، ومعدل الفائدة، ومدة القرض، وتكرار السداد لتوفير حسابات دقيقة.
الصيغة الأساسية لحساب مدفوعات الرهن العقاري هي:
حيث:
بالنسبة لتكرارات السداد المختلفة، يتم تعديل الصيغة وفقًا لذلك:
تستند صيغة الرهن العقاري إلى مفهوم القيمة الحالية والقيمة المستقبلية للمال. إليك شرح خطوة بخطوة:
القيمة الحالية (PV) لسلسلة من المدفوعات المتساوية (M) على مدى n فترة بمعدل فائدة r تُعطى بواسطة:
في الرهن العقاري، القيمة الحالية تساوي المبلغ الأساسي (P)، لذا يمكننا كتابة:
لحل M، نضرب كلا الجانبين في r:
ثم نقسم كلا الجانبين على :
نضرب البسط والمقام في :
هذا الشكل النهائي هو صيغة مدفوعات الرهن العقاري القياسية.
تقوم حاسبة الرهن العقاري بتنفيذ الخطوات التالية:
تتعامل الحاسبة مع عدة حالات حافة:
تخطيط شراء المنزل: يمكن لمشتري المنازل المحتملين تقدير مدفوعاتهم الشهرية بناءً على أسعار المنازل المختلفة ومدفوعات الدفعة الأولى.
تحليل إعادة التمويل: يمكن لأصحاب المنازل مقارنة شروط رهنهم الحالية مع خيارات إعادة التمويل المحتملة.
الميزانية: تساعد الأفراد على فهم كيف تتناسب مدفوعات الرهن العقاري مع ميزانيتهم العامة.
مقارنة القروض: تتيح للمستخدمين مقارنة عروض القروض المختلفة من خلال إدخال معدلات الفائدة والشروط المختلفة.
تأثير المدفوعات الإضافية: يمكن للمستخدمين رؤية كيف يمكن أن تقلل المدفوعات الإضافية من مدة القرض وإجمالي الفائدة المدفوعة.
بينما تعتبر الرهون العقارية ذات المعدل الثابت شائعة، هناك بدائل يجب أخذها في الاعتبار:
الرهون العقارية ذات المعدل القابل للتعديل (ARMs): تتغير معدلات الفائدة بشكل دوري، مما قد يؤدي إلى مدفوعات أولية أقل ولكن بمخاطر أعلى.
الرهون العقارية ذات الفائدة فقط: يدفع المقترضون فقط الفائدة لفترة محددة، مما يؤدي إلى مدفوعات أولية أقل ولكن مدفوعات أعلى لاحقًا.
الرهون العقارية بالبالون: مدفوعات شهرية أقل مع دفعة "بالون" كبيرة مستحقة في نهاية المدة.
القروض المدعومة من الحكومة: برامج مثل قروض FHA وVA أو USDA غالبًا ما تكون لها شروط ومتطلبات مختلفة.
تعود فكرة الرهون العقارية إلى آلاف السنين، لكن حسابات الرهن العقاري الحديثة أصبحت أكثر تعقيدًا مع ظهور تكنولوجيا الحوسبة.
معدل النسبة السنوية (APR): يتضمن هذا المعدل معدل الفائدة بالإضافة إلى تكاليف أخرى مثل تأمين الرهن العقاري، وتكاليف الإغلاق، ورسوم إنشاء القرض. يوفر رؤية أكثر شمولاً لتكلفة القرض مقارنة بمعدل الفائدة وحده.
الضرائب العقارية والتأمين: تُعتبر هذه التكاليف الإضافية غالبًا جزءًا من المدفوعات الشهرية للرهن العقاري وتُحتفظ في حساب الضمان. على الرغم من أنها ليست جزءًا من القرض نفسه، إلا أنها تؤثر بشكل كبير على إجمالي تكلفة الإسكان الشهرية.
تأمين الرهن العقاري الخاص (PMI): مطلوب للقروض التقليدية التي تقل فيها الدفعة الأولى عن 20%، ويضيف PMI إلى التكلفة الشهرية حتى يصل نسبة القرض إلى القيمة إلى 80%.
غرامات السداد المبكر: تتضمن بعض الرهون العقارية رسومًا لدفع القرض قبل الأوان، مما قد يؤثر على القرارات بشأن إجراء مدفوعات إضافية أو إعادة التمويل.
إليك بعض أمثلة الشيفرة لحساب مدفوعات الرهن العقاري:
1def calculate_mortgage_payment(principal, annual_rate, years, frequency='monthly'):
2 monthly_rate = annual_rate / 100 / 12
3 num_payments = years * (12 if frequency == 'monthly' else 26 if frequency == 'biweekly' else 52)
4
5 if monthly_rate == 0:
6 return principal / num_payments
7
8 payment = principal * (monthly_rate * (1 + monthly_rate) ** num_payments) / ((1 + monthly_rate) ** num_payments - 1)
9
10 if frequency == 'biweekly':
11 return payment * 12 / 26
12 elif frequency == 'weekly':
13 return payment * 12 / 52
14 else:
15 return payment
16
17## مثال على الاستخدام
18principal = 200000
19annual_rate = 3.5
20years = 30
21monthly_payment = calculate_mortgage_payment(principal, annual_rate, years)
22print(f"المدفوعات الشهرية: ${monthly_payment:.2f}")
23
1function calculateMortgagePayment(principal, annualRate, years, frequency = 'monthly') {
2 const monthlyRate = annualRate / 100 / 12;
3 const numPayments = years * (frequency === 'monthly' ? 12 : frequency === 'biweekly' ? 26 : 52);
4
5 if (monthlyRate === 0) {
6 return principal / numPayments;
7 }
8
9 let payment = principal * (monthlyRate * Math.pow(1 + monthlyRate, numPayments)) / (Math.pow(1 + monthlyRate, numPayments) - 1);
10
11 if (frequency === 'biweekly') {
12 return payment * 12 / 26;
13 } else if (frequency === 'weekly') {
14 return payment * 12 / 52;
15 } else {
16 return payment;
17 }
18}
19
20// مثال على الاستخدام
21const principal = 200000;
22const annualRate = 3.5;
23const years = 30;
24const monthlyPayment = calculateMortgagePayment(principal, annualRate, years);
25console.log(`المدفوعات الشهرية: $${monthlyPayment.toFixed(2)}`);
26
1public class MortgageCalculator {
2 public static double calculateMortgagePayment(double principal, double annualRate, int years, String frequency) {
3 double monthlyRate = annualRate / 100 / 12;
4 int numPayments = years * ("monthly".equals(frequency) ? 12 : "biweekly".equals(frequency) ? 26 : 52);
5
6 if (monthlyRate == 0) {
7 return principal / numPayments;
8 }
9
10 double payment = principal * (monthlyRate * Math.pow(1 + monthlyRate, numPayments)) / (Math.pow(1 + monthlyRate, numPayments) - 1);
11
12 if ("biweekly".equals(frequency)) {
13 return payment * 12 / 26;
14 } else if ("weekly".equals(frequency)) {
15 return payment * 12 / 52;
16 } else {
17 return payment;
18 }
19 }
20
21 public static void main(String[] args) {
22 double principal = 200000;
23 double annualRate = 3.5;
24 int years = 30;
25 double monthlyPayment = calculateMortgagePayment(principal, annualRate, years, "monthly");
26 System.out.printf("المدفوعات الشهرية: $%.2f%n", monthlyPayment);
27 }
28}
29
1Function CalculateMortgagePayment(principal As Double, annualRate As Double, years As Integer, Optional frequency As String = "monthly") As Double
2 Dim monthlyRate As Double
3 Dim numPayments As Integer
4
5 monthlyRate = annualRate / 100 / 12
6
7 Select Case LCase(frequency)
8 Case "monthly"
9 numPayments = years * 12
10 Case "biweekly"
11 numPayments = years * 26
12 Case "weekly"
13 numPayments = years * 52
14 Case Else
15 numPayments = years * 12
16 End Select
17
18 If monthlyRate = 0 Then
19 CalculateMortgagePayment = principal / numPayments
20 Else
21 Dim payment As Double
22 payment = principal * (monthlyRate * (1 + monthlyRate) ^ numPayments) / ((1 + monthlyRate) ^ numPayments - 1)
23
24 Select Case LCase(frequency)
25 Case "biweekly"
26 CalculateMortgagePayment = payment * 12 / 26
27 Case "weekly"
28 CalculateMortgagePayment = payment * 12 / 52
29 Case Else
30 CalculateMortgagePayment = payment
31 End Select
32 End If
33End Function
34
35' مثال على الاستخدام:
36' =CalculateMortgagePayment(200000, 3.5, 30, "monthly")
37
1calculate_mortgage_payment <- function(principal, annual_rate, years, frequency = "monthly") {
2 monthly_rate <- annual_rate / 100 / 12
3 num_payments <- years * switch(frequency,
4 "monthly" = 12,
5 "biweekly" = 26,
6 "weekly" = 52,
7 12)
8
9 if (monthly_rate == 0) {
10 return(principal / num_payments)
11 }
12
13 payment <- principal * (monthly_rate * (1 + monthly_rate)^num_payments) / ((1 + monthly_rate)^num_payments - 1)
14
15 switch(frequency,
16 "biweekly" = payment * 12 / 26,
17 "weekly" = payment * 12 / 52,
18 payment)
19}
20
21## مثال على الاستخدام:
22principal <- 200000
23annual_rate <- 3.5
24years <- 30
25monthly_payment <- calculate_mortgage_payment(principal, annual_rate, years)
26cat(sprintf("المدفوعات الشهرية: $%.2f\n", monthly_payment))
27
توضح هذه الأمثلة كيفية حساب مدفوعات الرهن العقاري لتكرارات مختلفة باستخدام لغات برمجة متنوعة. يمكنك تعديل هذه الوظائف لتناسب احتياجاتك الخاصة أو دمجها في أنظمة تحليل مالية أكبر.
عند استخدام حاسبة الرهن العقاري، من المهم فهم النتائج:
المدفوعات الشهرية: هذا هو المبلغ الذي ستدفعه كل شهر، بما في ذلك المبلغ الأساسي والفائدة (وربما الضرائب والتأمين إذا تم تضمينها).
إجمالي الفائدة المدفوعة: يُظهر هذا المبلغ الإجمالي للفائدة التي ستدفعها على مدى حياة القرض. قد يكون من المدهش رؤية مقدار الفائدة المدفوعة على القروض طويلة الأجل.
جدول السداد: يُظهر كيف يتم تقسيم كل دفعة بين المبلغ الأساسي والفائدة مع مرور الوقت. في البداية، يذهب جزء أكبر من كل دفعة إلى الفائدة، لكن هذا يتغير نحو المبلغ الأساسي مع تقدم القرض.
رصيد القرض: يُظهر هذا المبلغ الذي لا يزال مستحقًا في أي نقطة خلال مدة القرض.
يمكن أن تساعدك فهم هذه النتائج في اتخاذ قرارات مستنيرة بشأن رهنك العقاري، مثل ما إذا كان يجب إجراء مدفوعات إضافية أو إعادة التمويل في المستقبل.
إليك مخطط SVG يوضح عملية السداد على مدى حياة رهن عقاري مدته 30 عامًا:
يوضح هذا المخطط كيف تتغير نسبة المبلغ الأساسي والفائدة في كل دفعة على مدى حياة رهن عقاري مدته 30 عامًا. في بداية القرض، يذهب جزء أكبر من كل دفعة نحو الفائدة (المنطقة الصفراء). مع مرور الوقت، يذهب المزيد من كل دفعة نحو المبلغ الأساسي (المنطقة الخضراء)، مما يبني حقوق الملكية في المنزل.
اكتشف المزيد من الأدوات التي قد تكون مفيدة لسير عملك