CENA
Dotyczy:kolumna obliczeniowatabela obliczeniowaMiarawizualizacji
Zwraca cenę za \$100 wartość nominalną zabezpieczenia, które płaci okresowe odsetki.
Składnia
PRICE(<settlement>, <maturity>, <rate>, <yld>, <redemption>, <frequency>[, <basis>])
Parametry
Termin | Definicja |
---|---|
settlement |
Data rozliczenia papieru wartościowego. Data rozliczenia papieru wartościowego to data po dacie emisji, w przypadku gdy zabezpieczenie jest przedmiotem obrotu na nabywcę. |
maturity |
Data zapadalności zabezpieczeń. Data zapadalności to data wygaśnięcia zabezpieczeń. |
rate |
Roczna stopa kuponowa zabezpieczeń. |
yld |
Roczna rentowność zabezpieczenia. |
redemption |
Wartość wykupu zabezpieczeń na wartość nominalną \$100. |
frequency |
Liczba płatności kuponowych rocznie. W przypadku płatności rocznych częstotliwość = 1; dla częściowej częstotliwości = 2; dla kwartalnych, częstotliwość = 4. |
basis |
(Opcjonalnie) Typ podstawy liczby dni do użycia. Jeśli podstawa zostanie pominięta, przyjmuje się, że ma wartość 0. Zaakceptowane wartości są wymienione poniżej tej tabeli. |
Parametr basis
akceptuje następujące wartości:
Basis |
podstawie liczby dni |
---|---|
0 lub pominięte | US (NASD) 30/360 |
1 | Wartość rzeczywista/rzeczywista |
2 | Wartość rzeczywista/360 |
3 | Wartość rzeczywista/365 |
4 | Europejska 30/360 |
Wartość zwracana
Cena za wartość nominalną \$100.
Uwagi
Daty są przechowywane jako sekwencyjne numery seryjne, dzięki czemu mogą być używane w obliczeniach. W języku DAX, 30 grudnia 1899 r. to dzień 0, a 1 stycznia 2008 r. to 39448, ponieważ wynosi 39 448 dni po 30 grudnia 1899 r.
Data rozliczenia to data zakupu kuponu przez kupującego, takiego jak obligacja. Data zapadalności to data wygaśnięcia kuponu. Załóżmy na przykład, że obligacja 30-letnia jest emitowana 1 stycznia 2008 r. i jest kupowana przez kupującego sześć miesięcy później. Data emisji to 1 stycznia 2008 r., data rozliczenia to 1 lipca 2008 r., a data zapadalności to 1 stycznia 2038 r., czyli 30 lat po 1 stycznia 2008 r., data emisji.
rozliczenia i dojrzałości są obcinane do liczb całkowitych.
basis i frequency są zaokrąglane do najbliższej liczby całkowitej.
Zwracany jest błąd, jeśli:
- rozliczenia lub dojrzałości nie jest prawidłową datą.
- rozliczenia ≥ dojrzałości.
- rate < 0.
- yld < 0.
- wykup ≤ 0.
- frequency jest dowolną liczbą inną niż 1, 2 lub 4.
- basis < 0 lub basis > 4.
Ta funkcja nie jest obsługiwana w trybie DirectQuery w przypadku użycia w kolumnach obliczeniowych lub regułach zabezpieczeń na poziomie wiersza.
ważne :
Gdy N > 1 (N jest liczbą kuponów płatnych między datą rozliczenia a datą wykupu), price jest obliczana w następujący sposób:
$$\text{PRICE} = \bigg[ \frac{\text{redemption}}{(1 + \frac{\text{yld}}{\text{frequency}})^{(N - 1 + \frac{\text{DSC}}{\text{E}})})} \bigg] + \bigg[ \sum^{N}_{k=1} \frac{100 \times \frac{\text{rate}}{{}\text{frequency}}}{(1 + \frac{\text{yld}}{\text{frequency}})^{(k - 1 + \frac{\text{DSC}}{\text{E}})}}}} \bigg] - \bigg[ 100 \times \frac{\text{rate}}{\text{frequency}} \times \frac{\text{A}}{\text{E}} \bigg]$$
Gdy N = 1 (N jest liczbą kuponów płatnych między datą rozliczenia a datą wykupu), cena jest obliczana w następujący sposób:
$$\text{DSR} = \text{E} - \text{A}$$
$$\text{T1} = 100 \times \frac{\text{rate}}{\text{frequency}} + \text{redemption}$$
$$\text{T2} = \frac{\text{yld}}{\text{frequency}} \times \frac{\text{DSR}}{\text{E}} + 1$$
$$\text{T3} = 100 \times \frac{\text{rate}}{\text{frequency}} \times \frac{\text{A}}{\text{E}}$$
$$\text{PRICE} = \frac{\text{T1}}{\text{T2}} - \text{T3}$$
gdzie:
- $\text{DSC}$ = liczba dni od rozliczenia do daty następnego kuponu.
- $\text{E}$ = liczba dni w okresie kuponu, w którym przypada data rozliczenia.
- $\text{A}$ = liczba dni od początku okresu kuponu do daty rozliczenia.
Przykład
data | opis argumentu |
---|---|
2/15/2008 | Data rozliczenia |
11/15/2017 | Data zapadalności |
5.75% | Procent półwydajnych kuponów |
6.50% | Rentowność procentowa |
\$100 | Wartość wykupu |
2 | Częstotliwość jest średni |
0 | Podstawa 30/360 |
Następujące zapytanie języka DAX:
EVALUATE
{
PRICE(DATE(2008,2,15), DATE(2017,11,15), 0.0575, 0.065, 100, 2, 0)
}
Zwraca cenę obligacji dla obligacji przy użyciu warunków określonych powyżej.
[wartość] |
---|
94.6343616213221 |