📄 test.java
字号:
package edu.nyu.cims.hw4;
import edu.nyu.cims.hw4.*;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.*;
public class Test {
public static void main(String[] args) throws Exception{
Bond Bond1 = new Bond();
Bond Bond2 = new Bond();
Bond1.setFaceValue(100);
Bond1.setPrice(95);
Bond1.setMaturity(0.5);
Bond2.setFaceValue(1000);
Bond2.setPrice(895);
Bond2.setMaturity(1);
LinkedList<Bond> BondList = new LinkedList();
BondList.add(Bond1);
BondList.add(Bond2);
YieldCurve yc = new YieldCurve(BondList);
//1
System.out.print(yc.toString() + "\n\n");
//2
TreeMap<Double,Double> yieldCurve = yc.buildYieldCurve();
yc.printYieldCurve();
double rate = yc.getInterestRate(0.75);
//System.out.print("Year | r\n");
NumberFormat fmt = DecimalFormat.getInstance();
fmt.setMaximumFractionDigits(2);
System.out.print("\nRate is for time 0.75 is :"+fmt.format(rate*100)+"%\n");
//3
Bond Bond3 = new Bond();
Coupon coupon = new Coupon(0.05,0.5);
Bond3.setCoupon(coupon);
Bond3.setFaceValue(500);
Bond3.setMaturity(1);
double price = Bond3.getFairPrice(yieldCurve,Bond3);
Bond3.setPrice(price);
System.out.print("\nBond's fair price is: "+fmt.format(price)+"\n");
double YTM = Bond3.getYTM(yieldCurve, Bond3);
System.out.print("Bond's YTM is: "+fmt.format(YTM*100) +"%\n");
//Forward rate test
double fr = yc.getForwardRate(0.5, 1.0);
System.out.print("\nForward rate is :"+fmt.format(fr*100) + "%\n");
//Discount factor
double df = yc.getDiscountFactor(1.0);
System.out.print("\nDiscount factor is :"+fmt.format(df) + "\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -