|
428 | 428 | <aside> |
429 | 429 | <h2>Fixed Variables</h2> |
430 | 430 | <form id="fixedVarsForm"> |
431 | | - <div class="form-row"><label for="cashAtHand">Cash at Hand (€)</label><input type="number" id="cashAtHand" value="100000"></div> |
432 | | - <div class="form-row"><label for="interestRate">Interest Rate (%/year)</label><input type="number" id="interestRate" step="0.01" value="3.0"></div> |
433 | | - <div class="form-row"><label for="monthlyAllowance">Max Investable Monthly Allowance (€)</label><input type="number" id="monthlyAllowance" value="2000"></div> |
434 | | - <div class="form-row"><label for="avgStockReturn">Avg. Stock Return (%/year)</label><input type="number" id="avgStockReturn" step="0.01" value="10.0"></div> |
| 431 | + <div class="form-row"><label for="cashAtHand">Cash at Hand (€)</label><input type="number" id="cashAtHand" value="80000"></div> |
| 432 | + <div class="form-row"><label for="interestRate">Loan Interest Rate (%/year)</label><input type="number" id="interestRate" step="0.01" value="3.0"></div> |
| 433 | + <div class="form-row"><label for="monthlyAllowance">Max Investable Monthly Allowance (€)</label><input type="number" id="monthlyAllowance" value="1500"></div> |
| 434 | + <div class="form-row"><label for="avgStockReturn">Avg. Stock Return (%/year)</label><input type="number" id="avgStockReturn" step="0.01" value="8.0"></div> |
435 | 435 | <div class="form-row"><label for="avgRealEstateReturn">Avg. Real Estate Return (%/year)</label><input type="number" id="avgRealEstateReturn" step="0.01" value="3.0"></div> |
436 | 436 | <div class="form-row"><label for="avgBondReturn">Avg. Bond Return (%/year)</label><input type="number" id="avgBondReturn" step="0.01" value="2.0"></div> |
437 | 437 | <div class="form-row"><label for="capitalGainsTax">Capital Gains Tax (%)</label><input type="number" id="capitalGainsTax" step="0.01" value="10.0"></div> |
438 | 438 | <div class="form-row"><label for="prepaymentPenalty">Prepayment Penalty (% of remaining loan)</label><input type="number" id="prepaymentPenalty" step="0.01" value="1.0"></div> |
439 | 439 | <div class="form-row"><label for="registrationTax">Registration Tax (% of house price)</label><input type="number" id="registrationTax" step="0.01" value="6.0"></div> |
440 | 440 | <div class="form-row"><label for="maintenanceCosts">Maintenance Costs (% of house price/year)</label><input type="number" id="maintenanceCosts" step="0.01" value="1.0"></div> |
441 | | - <div class="form-row"><label for="simulationYears">Simulation Years</label><input type="number" id="simulationYears" min="1" max="50" value="30"></div> |
| 441 | + <div class="form-row"><label for="simulationYears">Simulation Years</label><input type="number" id="simulationYears" min="1" max="50" value="15"></div> |
442 | 442 | </form> |
443 | 443 | </aside> |
444 | 444 | <main style="flex: 1;"> |
@@ -481,8 +481,8 @@ <h3 id="popupTitle">Edit Strategy</h3> |
481 | 481 | let strategyInputs = strategies.map((strategy, idx) => ({ |
482 | 482 | id: strategy.id, |
483 | 483 | mode: idx === 0 ? 'buy' : 'rent', |
484 | | - housePrice: 400000, |
485 | | - initialDeposit: 100000, |
| 484 | + housePrice: 300000, |
| 485 | + initialDeposit: 80000, |
486 | 486 | loanTerm: 25, |
487 | 487 | monthlyRent: 1500, |
488 | 488 | stocks: 90, |
@@ -663,8 +663,8 @@ <h3 id="popupTitle">Edit Strategy</h3> |
663 | 663 | const newStrategyInput = { |
664 | 664 | id: newStrategy.id, |
665 | 665 | mode: 'buy', |
666 | | - housePrice: 400000, |
667 | | - initialDeposit: 100000, |
| 666 | + housePrice: 300000, |
| 667 | + initialDeposit: 80000, |
668 | 668 | loanTerm: 25, |
669 | 669 | monthlyRent: 1500, |
670 | 670 | stocks: 90, |
@@ -873,11 +873,11 @@ <h3>Simulation Table</h3> |
873 | 873 | <div class="form-inputs"> |
874 | 874 | <div class="input-group"> |
875 | 875 | <label>House Price (€)</label> |
876 | | - <input type="number" name="housePrice" value="${strategyInput.housePrice || 400000}"> |
| 876 | + <input type="number" name="housePrice" value="${strategyInput.housePrice || 300000}"> |
877 | 877 | </div> |
878 | 878 | <div class="input-group"> |
879 | 879 | <label>Initial Deposit (€)</label> |
880 | | - <input type="number" name="initialDeposit" value="${strategyInput.initialDeposit || 100000}"> |
| 880 | + <input type="number" name="initialDeposit" value="${strategyInput.initialDeposit || 80000}"> |
881 | 881 | </div> |
882 | 882 | <div class="input-group calculated"> |
883 | 883 | <label class="calculated-label">Registration Costs (€)</label> |
@@ -1118,8 +1118,8 @@ <h3>Simulation Table</h3> |
1118 | 1118 | const remainderMsg = document.getElementById(`remainderMsg${idx}`); |
1119 | 1119 | if (remainder < 0) { |
1120 | 1120 | const errorText = mode === 'buy' |
1121 | | - ? 'Error: Monthly real estate payment plus maintenance exceeds max investable monthly allowance!' |
1122 | | - : 'Error: Monthly rent exceeds max investable monthly allowance!'; |
| 1121 | + ? 'Error: Monthly real estate payment plus maintenance exceeds max investable monthly allowance! This simulation will go into a debt spiral !!' |
| 1122 | + : 'Error: Monthly rent exceeds max investable monthly allowance! The simulation will go into a debt spiral !!'; |
1123 | 1123 | remainderMsg.textContent = errorText; |
1124 | 1124 | } else { |
1125 | 1125 | remainderMsg.textContent = ''; |
@@ -1212,8 +1212,8 @@ <h3>Simulation Table</h3> |
1212 | 1212 | } |
1213 | 1213 | } else { |
1214 | 1214 | // fallback to default strategy values if form not rendered yet |
1215 | | - housePrice = 400000; |
1216 | | - initialDeposit = 100000; |
| 1215 | + housePrice = 300000; |
| 1216 | + initialDeposit = 80000; |
1217 | 1217 | loanTerm = 30; |
1218 | 1218 | monthlyRE = 1200; |
1219 | 1219 | monthlyRemainder = 800; |
|
0 commit comments