2020年11月22日 星期日

第12週 蔣姿如 教你金融計算

躉繳第1期第2期第3期第4期

注意,包含首期躉繳的現金流量都大於0。

報酬率:

淨現值:

迴圈次數:

蔣姿如向劉任昌學習的程式碼

<head> <style> .pmt { width: 80pt; height: 20pt; background-color: coral; color: black; font-weight: bold; text-align: right; } .pig { width: 80pt; height: 20pt; background-color: lightblue; color: black; font-weight: bold; text-align: right; </style> <!--寬度width,高度height,背景珊瑚色background-color: coral,顏色color,文字排列text-align--> </head> <table border="1"> <tbody><tr align="center"><td>躉繳</td><td>第1期</td><td>第2期</td><td>第3期</td><td>第4期</td></tr> <tr><td><input class="pmt" type="number" /></td> <td><input class="pmt" type="number" /></td> <td><input class="pmt" type="number" /></td> <td><input class="pmt" type="number" /></td> <td><input class="pmt" type="number" /></td></tr> </tbody></table><br /> 注意,包含首期躉繳的現金流量都大於0。 <p><input onclick="IRR()" type="button" value="計算內部報酬率" /></p> <!--按下 button 去執行 JavaScript IRR( )--> <p>報酬率: <b class="pig" id="irr"></b></p> <p>淨現值: <b class="pig" id="npv"></b></p> <p>迴圈次數: <b class="pig" id="loopNumber"></b></p> <!--paragragh 輸出計算結果--> <script> const period=5; //pmt class 被array 儲存0,1,2,3,4 constant常數 const maxerror = 0.000001; var payment = new Array(period); function IRR() { var a = 0; var b = 1; var c; var f; var gap=10; var loopNumber = 0; for (var i=0; i<period; i++) payment[i]=document.getElementsByClassName("pmt")[i].value; f = npv(a); if ( f==0 ) document.getElementById("irr").innerHTML = "內部報酬率等於0."; else if ( f<0 ) document.getElementById("irr").innerHTML = "內部報酬率小於0."; else { while ( gap > maxerror && Math.abs(f) > maxerror && loopNumber < 100) { loopNumber++; c = (a+b)/2; f = npv(c); if ( Math.abs(f) > maxerror && gap > maxerror) { if ( f>0 ) a = c; else b = c; gap = b-a; } } //迴圈while結束 } document.getElementById("irr").innerHTML= c; //輸出報酬率 document.getElementById("npv").innerHTML= f; //輸出淨現值 document.getElementById("loopNumber").innerHTML = loopNumber; //迴圈次數 } var npv=function(rate) { var y= -payment[0]; for (var j=1; j<period; j++) y = y + payment[j]/(1+rate)**j; return y; } </script>

沒有留言:

張貼留言

電子試算表發明人

 1978年,哈佛大學EMBA學生在教室中發明電子試算表(electronic spreadsheet),這個發明永遠改變人們利用電腦在商業應用的方式(forever changed how people use computers in business.)。後來,賈伯斯請比爾...