// 4.11.js // 2024-08-31 // $Id: 4.11.js 1.1 2024/11/02 07:39:35 s Exp $ // // x, cash flow stream // s, spot rates // d, discount factor // pv, present value 'use strict' // function const sum = x => x.reduce((x, y) => x + y, 0); // input const x = [-40, 10, 10, 10, 10, 10, 10 ]; const s_percent = [ 0, 5.0, 5.3, 5.6, 5.8, 6.0, 6.1]; // calculation const s = s_percent.map((x) => x / 100); const d = s.map((_, i) => 1 / (1 + s[i]) ** i); const xd = x.map((_, i) => x[i] * d[i]); const pv = sum(xd); // output console.log('4.11.js'); console.log("k".padStart(10), "s".padStart(10), "d".padStart(10), "x".padStart(10), "x*d".padStart(10)); console.log("-".repeat(54)); for(let i=0; i