; 10.7.scm ; 2025-6-28 ; $Id: 10.7.scm 1.1 2025/06/28 08:59:35 s Exp $ ; 現在価格 s ; 先渡価格 f ; クーポン c ; 利子率 r1 ; 利子率 r2 ; キャッシュフロー流列 x ; 割引係数配列 d ; 現在価値 pv ; procedure (define (sum x) (fold + 0 x)) ; input (define s 920) (define c 80) (define f 940) (define m 2) (define r1 0.07) (define r2 0.08) (define x (let ((x1 (list (- s) 0 0)) ; 初期支出 (x2 (list 0 c c)) ; クーポン収入 (x3 (list 0 0 f))) ; 満期時収入 (map (lambda (x1k x2k x3k) (+ x1k x2k x3k)) x1 x2 x3) ) ) ; calculation (define d (let ((d0 0) (d1 (/ 1 (+ 1 (/ r1 m)) )) (d2 (/ 1 (expt (+ 1 (/ r2 m)) 2)))) (list d0 d1 d2) ) ) (define xd (map(lambda (xk dk) (* xk dk)) x d)) (define pv (sum xd)) ; output (print "10.7.scm") (print "x " x) (print "d " d) (print "xd " xd) (print "pv " pv) ; end