I have chosen input values of cash flows and dates of cash flows for 10% yield. Each of these functions not only fail to return 10% as output but also each of them are producing different different values from that of each other's. PRICEDISC should return $100 as investment amount or the principal for 10% yield but it isn't. I have attached Excel file.
Sorry, finances is not my main field of expertise and I assume this is why you did not get an answer yet.
I suggest asking this question on a dedicated finances forum.
You've misunderstood the date parts. You should add a year for the maturity date, not 360 days. If you check the results of YEARFRAC(B2,B3) for example, you will see it is not 1.
Velouria, for basis argument of the function for basis of either 0 or 4, convention is 30/360. Which means day count of 30 for one month and day count of 360 for one year.
I know that. But if you simply add 360 days to a date, you have actually added 11 months plus a certain number of days. Each of those months will only be counted for 30 days for the calculation. So let's say you have 1/1/2023 as a start date and you add 360. You get 27 Dec 2023 as an end date. For a 360 day year calculation, you have 11 months at 30 days (Jan - Nov) plus 26 days in December, which is only 356 days. That's why your calculation is not returning what you expect - it's not treated as a full year.
For basis of 0/4 each subsequent 30 day completion will be considered as completion of 1 month and each subsequent 360 days from start date will be considered as completion of 1 year no matter what date of the month it belongs. For start date of 1/1/2023, 31 January will mark completion of 1 month, 2nd March will mark completion of 2nd month, 1st April will mark completion of 3rd month and so on 27 December will mark completion of 12 months that is 1 year. This is what I assume is the interpretation.
That is clearly not the case. If it were, then using YEARFRAC or DAYS360 on your dates would give you 1 and 360. They do not.
I have understood the basis part. 0 and 4 assign 30 day count to each month and 360 to a year no matter what is real day count of a month and year. This sounds very fullish. The basis 1 which is for actual/actual is more rational basis. I have digged deeper into each function and the formula it uses from the OpenOffice website for CALC. The outputs of functions differ because YIELDDISC calculates uncompounded returns and DISC applies the discount rate to redemption value (besides the uncompounded returns) which is very fullish thing. PRICEDISC uses same formula of DISC to calculate price with discount rate as input. INTRATE uses same formula as YIELDDISC which makes it a redundant function. I am attaching the modified Excel file. This post answers the question.