Skip to content

Commit 251db51

Browse files
authored
Merge pull request #1036 from syncfusion-content/Volume3Formulas_Dev
905033-Added UG documentation of newly implemented Financial formulas in Calculate
2 parents 092c17b + ab2002a commit 251db51

File tree

1 file changed

+354
-0
lines changed

1 file changed

+354
-0
lines changed

WindowsForms/Calculation-Engine/Supported-Formulas/Financial-Formulas.md

Lines changed: 354 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -744,3 +744,357 @@ _INTRATE(settlement, maturity, investment, redemption, [basis])_
744744
* Redemption :The amount to be received at maturity.
745745

746746
* Basis : The type of specifies the day count basis to used in the calculation.
747+
748+
749+
750+
## NOMINAL
751+
752+
The `NOMINAL` function returns the nominal annual interest rate, given the effective rate and the number of compounding periods per year.
753+
754+
**Syntax:**
755+
756+
_NOMINAL(effect_rate, npery)_
757+
758+
**Where:**
759+
760+
* effect_rate: The effective interest rate.
761+
762+
* npery: The number of compounding periods per year.
763+
764+
**Remarks:**
765+
766+
* npery is truncated to an integer.
767+
768+
* If either argument is non-numeric, `NOMINAL` returns the `#VALUE!` error.
769+
770+
* If effect_rate is less than or equal to 0 or if npery is less than 1, `NOMINAL` returns the `#NUM!` error value.
771+
772+
* The `NOMINAL` function is related to the `EFFECT` function, which calculates the effective annual interest rate based on the nominal rate and the number of compounding periods.
773+
774+
775+
776+
## MDURATION
777+
778+
The `MDURATION` function returns the modified Macaulay duration for a security with an assumed par value of $100.
779+
780+
**Syntax:**
781+
782+
_MDURATION(settlement, maturity, coupon, yld, frequency, [basis])_
783+
784+
**Where:**
785+
786+
* settlement: The security's settlement date.
787+
788+
* maturity: The security's maturity date.
789+
790+
* coupon: The security's annual coupon rate.
791+
792+
* yld: The security's annual yield.
793+
794+
* frequency: The number of coupon payments per year (1 for annual, 2 for semiannual, 4 for quarterly).
795+
796+
* basis (Optional): The day-count convention to use (default is 0: US (NASD) 30/360):
797+
798+
* 0 or omitted: US (NASD) 30/360
799+
800+
* 1: Actual/actual
801+
802+
* 2: Actual/360
803+
804+
* 3: Actual/365
805+
806+
* 4: European 30/360
807+
808+
**Remarks:**
809+
810+
* Dates are stored as serial numbers. (e.g., January 1, 1900, is represented as 1).
811+
812+
* If settlement or maturity is a not valid date, `MDURATION` returns the `#VALUE!` error.
813+
814+
* If yld or coupon less than 0, or if frequency is not 1, 2, or 4, `MDURATION` returns the `#NUM!` error.
815+
816+
* If basis is outside the range 0-4, it returns the `#NUM!` error.
817+
818+
* If settlement is greater than or equal to maturity, `MDURATION` returns the `#NUM!` error.
819+
820+
* `MDURATION` adjusts the Macaulay duration to account for changes in interest rates.
821+
822+
823+
824+
## PDURATION
825+
826+
The `PDURATION` function returns the number of periods required by an investment to reach a specified value.
827+
828+
**Syntax:**
829+
830+
_PDURATION(rate, pv, fv)_
831+
832+
**Where:**
833+
834+
* rate: The interest rate per period.
835+
836+
* pv: The present value of the investment.
837+
838+
* fv: The desired future value of the investment.
839+
840+
**Remarks:**
841+
842+
* If rate is less than or equal to 0, or if pv or fv is less than or equal to 0, `PDURATION` returns the `#NUM!` error.
843+
844+
* If any argument is non-numeric, `PDURATION` returns the `#VALUE!` error.
845+
846+
* `PDURATION` calculates how many periods are needed for an investment to grow from its present value to the desired future value, based on the specified interest rate.
847+
848+
849+
850+
## COUPDAYS
851+
852+
The `COUPDAYS` function returns the number of days in the coupon period that contains the settlement date.
853+
854+
**Syntax:**
855+
856+
_COUPDAYS(settlement, maturity, frequency, [basis])_
857+
858+
**Where:**
859+
860+
* settlement: The security's settlement date.
861+
862+
* maturity: The security's maturity date.
863+
864+
* frequency: The number of coupon payments per year (1 for annual, 2 for semiannual, 4 for quarterly).
865+
866+
* basis (Optional): The day count basis to use:
867+
868+
* 0 or omitted: US (NASD) 30/360
869+
870+
* 1: Actual/actual
871+
872+
* 2: Actual/360
873+
874+
* 3: Actual/365
875+
876+
* 4: European 30/360
877+
878+
**Remarks:**
879+
880+
* Dates are stored as serial numbers. (e.g., January 1, 1900, is represented as 1).
881+
882+
* If settlement or maturity is not a valid date, `COUPDAYS` returns `#VALUE!`.
883+
884+
* If frequency is any number other than 1, 2, or 4, `COUPDAYS` returns `#NUM!`.
885+
886+
* If basis is outside the range 0-4, `COUPDAYS` returns `#NUM!`.
887+
888+
* If settlement is greater than or equal to maturity, `COUPDAYS` returns `#NUM!`.
889+
890+
891+
892+
## COUPDAYBS
893+
894+
The `COUPDAYBS` function returns the number of days from the beginning of a coupon period until its settlement date.
895+
896+
**Syntax:**
897+
898+
_COUPDAYBS(settlement, maturity, frequency, [basis])_
899+
900+
**Where:**
901+
902+
* settlement: The security's settlement date.
903+
904+
* maturity: The security's maturity date.
905+
906+
* frequency: The number of coupon payments per year (1 for annual, 2 for semiannual, 4 for quarterly).
907+
908+
* basis (Optional): The day count basis to use (default is 0: US (NASD) 30/360):
909+
910+
* 0 or omitted: US (NASD) 30/360
911+
912+
* 1: Actual/actual
913+
914+
* 2: Actual/360
915+
916+
* 3: Actual/365
917+
918+
* 4: European 30/360
919+
920+
**Remarks:**
921+
922+
* Dates are stored as serial numbers. (e.g., January 1, 1900, is represented as 1).
923+
924+
* If settlement or maturity is not a valid date, `COUPDAYBS` returns `#VALUE!`.
925+
926+
* If frequency is any number other than 1, 2, or 4, `COUPDAYBS` returns `#NUM!`.
927+
928+
* If basis is outside the range 0-4, it returns `#NUM!`.
929+
930+
* If settlement is greater than or equal to maturity, it returns `#NUM!`.
931+
932+
933+
934+
## COUPDAYSNC
935+
936+
The function `COUPDAYSNC` returns the number of days from the settlement date to the next coupon date.
937+
938+
**Syntax:**
939+
940+
_COUPDAYSNC(settlement, maturity, frequency, [basis])_
941+
942+
**Where:**
943+
944+
* settlement: The security's settlement date.
945+
946+
* maturity: The security's maturity date.
947+
948+
* frequency: The number of coupon payments per year (1 for annual, 2 for semiannual, 4 for quarterly).
949+
950+
* basis (Optional): The day count basis to use (default is 0: US (NASD) 30/360):
951+
952+
* 0 or omitted: US (NASD) 30/360
953+
954+
* 1: Actual/actual
955+
956+
* 2: Actual/360
957+
958+
* 3: Actual/365
959+
960+
* 4: European 30/360
961+
962+
**Remarks:**
963+
964+
* Dates are stored as serial numbers. (e.g., January 1, 1900, is represented as 1).
965+
966+
* If settlement or maturity is not a valid date, `COUPDAYSNC` returns `#VALUE!`.
967+
968+
* If frequency is any number other than 1, 2, or 4, `COUPDAYSNC` returns `#NUM!`.
969+
970+
* If basis is outside the range 0-4, it returns `#NUM!`.
971+
972+
* If settlement is greater than or equal to maturity, it returns `#NUM!`.
973+
974+
975+
976+
## COUPPCD
977+
978+
The function `COUPPCD` returns a number that represents the previous coupon date before the settlement date.
979+
980+
**Syntax:**
981+
982+
_COUPPCD(settlement, maturity, frequency, [basis])_
983+
984+
**Where:**
985+
986+
* settlement: The security's settlement date.
987+
988+
* maturity: The security's maturity date.
989+
990+
* frequency: The number of coupon payments per year (1 for annual, 2 for semiannual, 4 for quarterly).
991+
992+
* basis (Optional): The day count basis to use (default is 0: US (NASD) 30/360):
993+
994+
* 0 or omitted: US (NASD) 30/360
995+
996+
* 1: Actual/actual
997+
998+
* 2: Actual/360
999+
1000+
* 3: Actual/365
1001+
1002+
* 4: European 30/360
1003+
1004+
**Remarks:**
1005+
1006+
* Dates are stored as serial numbers. (e.g., January 1, 1900, is represented as 1).
1007+
1008+
* If settlement or maturity is not a valid date, `COUPPCD` returns `#VALUE!`.
1009+
1010+
* If frequency is any number other than 1, 2, or 4, `COUPPCD` returns `#NUM!`.
1011+
1012+
* If basis is outside the range 0-4, it returns `#NUM!`.
1013+
1014+
* If settlement is greater than or equal to maturity, it returns `#NUM!`.
1015+
1016+
1017+
1018+
## COUPNCD
1019+
1020+
The function `COUPNCD` returns a number that represents the next coupon date after the settlement date.
1021+
1022+
**Syntax:**
1023+
1024+
_COUPNCD(settlement, maturity, frequency, [basis])_
1025+
1026+
**Where:**
1027+
1028+
* settlement: The security's settlement date.
1029+
1030+
* maturity: The security's maturity date.
1031+
1032+
* frequency: The number of coupon payments per year (1 for annual, 2 for semiannual, 4 for quarterly).
1033+
1034+
* basis (Optional): The day count basis to use (default is 0: US (NASD) 30/360):
1035+
1036+
* 0 or omitted: US (NASD) 30/360
1037+
1038+
* 1: Actual/actual
1039+
1040+
* 2: Actual/360
1041+
1042+
* 3: Actual/365
1043+
1044+
* 4: European 30/360
1045+
1046+
**Remarks:**
1047+
1048+
* Dates are stored as serial numbers. (e.g., January 1, 1900, is represented as 1).
1049+
1050+
* If settlement or maturity is not a valid date, `COUPNCD` returns `#VALUE!`.
1051+
1052+
* If frequency is any number other than 1, 2, or 4, `COUPNCD` returns `#NUM!`.
1053+
1054+
* If basis is outside the range 0-4, it returns `#NUM!`.
1055+
1056+
* If settlement is greater than or equal to maturity, it returns `#NUM!`.
1057+
1058+
1059+
1060+
## COUPNUM
1061+
1062+
The function `COUPNUM` returns the number of coupons payable between the settlement date and maturity date, rounded up to the nearest whole coupon.
1063+
1064+
**Syntax:**
1065+
1066+
_COUPNUM(settlement, maturity, frequency, [basis])_
1067+
1068+
**Where:**
1069+
1070+
* settlement: The security's settlement date.
1071+
1072+
* maturity: The security's maturity date.
1073+
1074+
* frequency: The number of coupon payments per year (1 for annual, 2 for semiannual, 4 for quarterly).
1075+
1076+
* basis (Optional): The day count basis to use (default is 0: US (NASD) 30/360):
1077+
1078+
* 0 or omitted: US (NASD) 30/360
1079+
1080+
* 1: Actual/actual
1081+
1082+
* 2: Actual/360
1083+
1084+
* 3: Actual/365
1085+
1086+
* 4: European 30/360
1087+
1088+
**Remarks:**
1089+
1090+
* Dates are stored as serial numbers. (e.g., January 1, 1900, is represented as 1).
1091+
1092+
* If settlement or maturity is not a valid date, `COUPNUM` returns `#VALUE!`.
1093+
1094+
* If frequency is any number other than 1, 2, or 4, `COUPNUM` returns `#NUM!`.
1095+
1096+
* If basis is outside the range 0-4, `COUPNUM` returns `#NUM!`.
1097+
1098+
* If settlement is greater than or equal to maturity, `COUPNUM` returns `#NUM!`.
1099+
1100+
* The argument is non-numeric, it returns the `#VALUE!` error message.

0 commit comments

Comments
 (0)