79 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			79 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | 
 | ||
|  | // Result, Settlement, Maturity, Rate, Yield, Redemption, Frequency, Basis
 | ||
|  | // On the result line, the value is ODS's calculation.
 | ||
|  | //     This agrees with Gnumeric, PhpSpreadsheet, and the published algorithm at:
 | ||
|  | //https://support.office.com/en-us/article/price-function-3ea9deac-8dfa-436f-a7c8-17ea02c21b0a.
 | ||
|  | // The commented-out value on the next line is Excel's result.
 | ||
|  | // I do not know how best to reconcile the different results.
 | ||
|  | // The problem seems restricted to basis codes 2 and 3.
 | ||
|  | 
 | ||
|  | return [ | ||
|  |     [ | ||
|  |         94.60241717687768, | ||
|  |         // 94.636564030025099,
 | ||
|  |         '15-Feb-2008', | ||
|  |         '15-Nov-2017', | ||
|  |         0.0575, | ||
|  |         0.065, | ||
|  |         100, | ||
|  |         2, | ||
|  |         2, | ||
|  |     ], | ||
|  |     [ | ||
|  |         94.643594548258, | ||
|  |         // 94.635174796784497,
 | ||
|  |         '15-Feb-2008', | ||
|  |         '15-Nov-2017', | ||
|  |         0.0575, | ||
|  |         0.065, | ||
|  |         100, | ||
|  |         2, | ||
|  |         3, | ||
|  |     ], | ||
|  |     [ | ||
|  |         110.74436592216529, | ||
|  |         // 110.83448359321601,
 | ||
|  |         '01-Apr-2012', | ||
|  |         '31-Mar-2020', | ||
|  |         0.12, | ||
|  |         0.10, | ||
|  |         100, | ||
|  |         2, | ||
|  |         2, | ||
|  |     ], | ||
|  |     [ | ||
|  |         110.81970970927745, | ||
|  |         // 110.83452855143901,
 | ||
|  |         '01-Apr-2012', | ||
|  |         '31-Mar-2020', | ||
|  |         0.12, | ||
|  |         0.10, | ||
|  |         100, | ||
|  |         2, | ||
|  |         3, | ||
|  |     ], | ||
|  |     [ | ||
|  |         110.8912556, | ||
|  |         // 110.9216934,
 | ||
|  |         '01-Apr-2012', | ||
|  |         '31-Mar-2020', | ||
|  |         0.12, | ||
|  |         0.10, | ||
|  |         100, | ||
|  |         4, | ||
|  |         2, | ||
|  |     ], | ||
|  |     [ | ||
|  |         110.9292394066714, | ||
|  |         // 110.921732963198,
 | ||
|  |         '01-Apr-2012', | ||
|  |         '31-Mar-2020', | ||
|  |         0.12, | ||
|  |         0.10, | ||
|  |         100, | ||
|  |         4, | ||
|  |         3, | ||
|  |     ], | ||
|  | ]; |