⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.java

📁 一个期货的类, 可以自由拓展
💻 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 + -