- İstiqrazin Faiz Ödənilmə Tarixləri
- İstiqrazin Aliş Sifarişinin Yaradilmasi
- İstiqrazin Sifarişinin Faiz Ödənişləri
hesablayıb göstərilməsi üçün kiçik bir layihəni həyata keçirməlisiniz. Layihə çərçivəsində üç API yaratmalısınız.
- Zəhmət olmasa müasir PHP framework-dən istifadə etməklə istiqraz layihəsini tətbiq edin.
- Hər tapşırığı bitirdikdən sonra, dəyişiklikləri commit etməyi unutmayın.
- Proyektin içərisində database yaratmaq üçün SQL script və ya migrasiya scripti olmalıdır. Layihə üçün database cədvəl strukturunu özünüz yaratmalısınız.
- Bütün PHP asılılıqlar “composer”-in köməyi ilə yüklənməlidir (bu halda composer.json repozitoriyaya əlavə etməyi unutmayın)
- Layihəni başlatmaq üçün təlimatı (INSTALL.MD) yazmağı unutmayın.
- API istifadəsi ilə bağlı misalları README.MD yazmağı unutmayın.
İstiqrazın aşağıdakı xüsusiyyətləri vardır
Xüsusiyyət | Qəbul edilən dəyər |
---|---|
Emissiya tarixi | Y-m-d |
Son tədavül tarixi | Y-m-d |
Nominal Qiymət | digit |
Kuponların ödənilmə tezliyi | 1, 2, 4, 12 |
Faizlərin hesablanma periodu | 360, 364, 365 |
Kupon faizi | 0-100 |
İstiqraz alış sifarişin aşağıdakı xüsusiyyətləri vardır:
Xüsusiyyət | Qəbul edilən dəyər |
---|---|
Sifariş tarixi | Y-m-d |
Alınan istiqraz sayı | digit |
İstiqrazın faiz ödəniş tarixlərini göstərən API hazırlamaq lazımdır.
GET /bond/<id>/payouts
Tarixləri müəyyən etmək üçün ilk öncə periodları hesablamaq lazımdır.
Period "Kuponların ödənilmə tezliyi" və "Faizlərin hesablanma periodu" əsasında hesablanır.
Aşağıdaki formuladan istifadə edin.
switch ($FaizlərinHesablanmaPeriodu) {
case 360:
$periodunMüddətiniGünİlə = 12 / “Kuponların ödənilmə tezliyi” * 30;
break;
case 364:
$periodunMüddətiniGünİlə = 364 / “Kuponların ödənilmə tezliyi”;
break;
case 365:
$periodunMüddətiniAyİlə = 12 / “Kuponların ödənilmə tezliyi”;
break;
}
Faiz Ödənilmə Tarixləri "Emissiya tarixi" və "Son tədavül tarixi" aralarında olur.
Tarixləri hesablamaq üçün "Emissiya tarixi" üzərinə period əlavə etmək lazımdır.
Ödəniş tarixləri şənbə və bazar günləri düşməməlidir.
Düşdüyü halda gələn bazar ertəsi istifadə olunmalıdır.
{
"dates":[
{
"date":"2020-10-15"
},
{
"date":"2020-11-16"
},
{
"date":"2020-12-16"
}
]
}
POST /bond/<id>/order
Aşağıdaki yoxlamaları təmin etmək lazımdır:
- Alış tarixi “Emissiya tarixi”-dən az ola bilməz.
- Alış tarix “Son tədavül tarixi”-dən cox ola bilməz.
API aşağıdaki məlumatları POST ilə almalıdır:
- Sifariş tarixi | Y-m-d
- Alınan istiqraz sayı | digit
İstiqraz sifarişin faiz ödənişlərinin məbləğlərini göstərən API hazırlamaq lazımdır.
POST /bond/order/<order_id>
Burada siz İstiqrazdan faiz ödənilmə tarixlərini almalısınız, daha sonra aşağıdakı hesablamanı etməlisiniz:
Yığılmış faizlər = (Nominal Qiymət / 100 * Kupon faizi) / Faizlərin hesablanma periodu * Keçmiş gün sayı * Sifariş sayı;
Misal üçün “Sifariş tarixi” = 14.01.2021, növbəti faiz ödənişi isə 07.02.2021, o zaman:
“Keçmiş gün sayı” = (07.02.2021 - 14.01.2021) = 24 gün.
Misal üçün “Öncəki faiz hesablama tarixi” = 06.02.2021, növbəti faiz ödənişi isə 08.03.2021, o zaman:
“Keçmiş gün sayı” = (08.03.2021 - 06.02.2021) = 30 gün.
{
"payouts":[
{
"date":"2020-10-15",
"amount":135.6164
},
{
"date":"2020-11-16",
"amount":144.6575
},
{
"date":"2020-12-16",
"amount":135.6164
}
]
}
Siz minimum üç ədəd istiqraz və hər istiqraz üçün minimum bir ədəd sifariş yaradmalısınız.
Emissiya tarixi: 2021-11-08
Son tədavül tarixi 2022-11-03
Nominal Qiymət: 100
Kuponların ödənilmə tezliyi: 4
Faizlərin hesablanma periodu: 360
Kupon faizi: 10%
Emissiya tarixi: 2021-11-08
Son tədavül tarixi 2022-11-07
Nominal Qiymət: 200
Kuponların ödənilmə tezliyi: 4
Faizlərin hesablanma periodu: 364
Kupon faizi: 20%
Emissiya tarixi: 2021-11-08
Son tədavül tarixi 2022-11-08
Nominal Qiymət: 300
Kuponların ödənilmə tezliyi: 4
Faizlərin hesablanma periodu: 365
Kupon faizi: 30%
Sifariş xüsusiyyətləri.
Sifariş tarixi:2021-11-23
Alınan istiqraz sayı:10