/*
* Copyright (c) 2013 AWOLart.com
*/
package com.awolart.fin.cu.ps2;
import java.text.NumberFormat;
/**
* Suppose the current term structure of interest rates, assuming
* annual compounding, is as follows:
* s1 s2 s3 s4 s5 s6
* 7.0% 7.3% 7.7% 8.1% 8.4% 8.8%
*
* What is the discount rate d(0,4)?
*
* (Recall that interest rates are always quoted on an annual basis
* unless stated otherwise.)
*
* Please submit your answer rounded to three decimal places;
* i.e., if your answer is 0.4567 then you should submit 0.457.
*/
public class TermStructureForwardRate {
}
/**
* Convenience main method to facilitate command line/ide testing.
*
* @param args
*/
public static void main
(String[] args
) {
formatter.setMaximumFractionDigits(2);
formatter.setMinimumFractionDigits(4);
/* PS1/Q3 */
double t = 2.0;
double s1 = 0.063;
double s2 = 0.069;
double d_0_2 = TermStructureForwardRate.discountRate(s2, t);
System.
out.
println("d(0,2) = " + formatter.
format(d_0_2
));
/* PS2/Q1 */
double[] s = { 0.070, 0.073, 0.077, 0.081, 0.084, 0.088 };
t = 4;
double d_0_4 = TermStructureForwardRate.discountRate(s[3], t);
System.
out.
println("d(0,4) = " + formatter.
format(d_0_4
));
}
}
LyoKICogIENvcHlyaWdodCAoYykgMjAxMyBBV09MYXJ0LmNvbQogKi8KCnBhY2thZ2UgY29tLmF3b2xhcnQuZmluLmN1LnBzMjsKCmltcG9ydCBqYXZhLnRleHQuTnVtYmVyRm9ybWF0OwoKLyoqCiAqIFN1cHBvc2UgdGhlIGN1cnJlbnQgdGVybSBzdHJ1Y3R1cmUgb2YgaW50ZXJlc3QgcmF0ZXMsIGFzc3VtaW5nCiAqIGFubnVhbCBjb21wb3VuZGluZywgaXMgYXMgZm9sbG93czoKICogczEJICAgIHMyCSAgICAgczMJICAgIHM0CSAgICBzNQkgICAgIHM2CiAqIDcuMCUgCTcuMyUJNy43JQk4LjElCTguNCUJOC44JQogKgogKiBXaGF0IGlzIHRoZSBkaXNjb3VudCByYXRlIGQoMCw0KT8KICoKICogKFJlY2FsbCB0aGF0IGludGVyZXN0IHJhdGVzIGFyZSBhbHdheXMgcXVvdGVkIG9uIGFuIGFubnVhbCBiYXNpcwogKiB1bmxlc3Mgc3RhdGVkIG90aGVyd2lzZS4pCiAqCiAqIFBsZWFzZSBzdWJtaXQgeW91ciBhbnN3ZXIgcm91bmRlZCB0byB0aHJlZSBkZWNpbWFsIHBsYWNlczsKICogaS5lLiwgaWYgeW91ciBhbnN3ZXIgaXMgMC40NTY3IHRoZW4geW91IHNob3VsZCBzdWJtaXQgMC40NTcuCiAqLwpwdWJsaWMgY2xhc3MgVGVybVN0cnVjdHVyZUZvcndhcmRSYXRlIHsKCiAgICAKCgogICAgfQoKCgoKICAgIC8qKgogICAgICogQ29udmVuaWVuY2UgbWFpbiBtZXRob2QgdG8gZmFjaWxpdGF0ZSBjb21tYW5kIGxpbmUvaWRlIHRlc3RpbmcuCiAgICAgKgogICAgICogQHBhcmFtIGFyZ3MKICAgICAqLwogICAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oU3RyaW5nW10gYXJncykgewoKICAgICAgICBOdW1iZXJGb3JtYXQgZm9ybWF0dGVyID0gTnVtYmVyRm9ybWF0LmdldE51bWJlckluc3RhbmNlKCk7CiAgICAgICAgZm9ybWF0dGVyLnNldE1heGltdW1GcmFjdGlvbkRpZ2l0cygyKTsKICAgICAgICBmb3JtYXR0ZXIuc2V0TWluaW11bUZyYWN0aW9uRGlnaXRzKDQpOwoKICAgICAgICAvKiBQUzEvUTMgKi8KICAgICAgICBkb3VibGUgdCA9IDIuMDsKICAgICAgICBkb3VibGUgczEgPSAwLjA2MzsKICAgICAgICBkb3VibGUgczIgPSAwLjA2OTsKICAgICAgICBkb3VibGUgZF8wXzIgPSBUZXJtU3RydWN0dXJlRm9yd2FyZFJhdGUuZGlzY291bnRSYXRlKHMyLCB0KTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oImQoMCwyKSA9ICIgKyBmb3JtYXR0ZXIuZm9ybWF0KGRfMF8yKSk7CgoKICAgICAgICAvKiBQUzIvUTEgKi8KICAgICAgICBkb3VibGVbXSBzID0geyAwLjA3MCwgMC4wNzMsIDAuMDc3LCAwLjA4MSwgMC4wODQsIDAuMDg4IH07CiAgICAgICAgdCA9IDQ7CiAgICAgICAgZG91YmxlIGRfMF80ID0gVGVybVN0cnVjdHVyZUZvcndhcmRSYXRlLmRpc2NvdW50UmF0ZShzWzNdLCB0KTsKICAgICAgICBTeXN0ZW0ub3V0LnByaW50bG4oImQoMCw0KSA9ICIgKyBmb3JtYXR0ZXIuZm9ybWF0KGRfMF80KSk7CgogICAgfQoKfQo=
Main.java:38: error: class, interface, or enum expected
public static void main(String[] args) {
^
Main.java:41: error: class, interface, or enum expected
formatter.setMaximumFractionDigits(2);
^
Main.java:42: error: class, interface, or enum expected
formatter.setMinimumFractionDigits(4);
^
Main.java:45: error: class, interface, or enum expected
double t = 2.0;
^
Main.java:46: error: class, interface, or enum expected
double s1 = 0.063;
^
Main.java:47: error: class, interface, or enum expected
double s2 = 0.069;
^
Main.java:48: error: class, interface, or enum expected
double d_0_2 = TermStructureForwardRate.discountRate(s2, t);
^
Main.java:49: error: class, interface, or enum expected
System.out.println("d(0,2) = " + formatter.format(d_0_2));
^
Main.java:53: error: class, interface, or enum expected
double[] s = { 0.070, 0.073, 0.077, 0.081, 0.084, 0.088 };
^
Main.java:54: error: class, interface, or enum expected
t = 4;
^
Main.java:55: error: class, interface, or enum expected
double d_0_4 = TermStructureForwardRate.discountRate(s[3], t);
^
Main.java:56: error: class, interface, or enum expected
System.out.println("d(0,4) = " + formatter.format(d_0_4));
^
Main.java:58: error: class, interface, or enum expected
}
^
13 errors