[Home] [Help]
PACKAGE BODY: APPS.QRM_EQ_FORMULAS
Source
1 PACKAGE BODY QRM_EQ_FORMULAS AS
2 /* $Header: qrmeqflb.pls 115.5 2003/11/22 00:36:20 prafiuly noship $ */
3
4
5
6
7 PROCEDURE fv_stock(p_price_model IN VARCHAR2,
8 p_ccy IN VARCHAR2,
9 p_issue_code IN VARCHAR2,
10 p_market_set IN VARCHAR2,
11 p_share_price IN NUMBER,
12 p_shares_rem IN NUMBER,
13 p_date IN DATE,
14 p_fair_value IN OUT NOCOPY NUMBER,
15 p_reval_rate IN OUT NOCOPY NUMBER) IS
16
17 p_md_in XTR_MARKET_DATA_P.md_from_set_in_rec_type;
18 p_md_out XTR_MARKET_DATA_P.md_from_set_out_rec_type;
19 l_ric_code XTR_STOCK_ISSUES.ric_code%TYPE;
20 BEGIN
21 IF (g_proc_level>=g_debug_level) THEN
22 XTR_RISK_DEBUG_PKG.dpush(null,'QRM_EQ_FORMULAS.fv_stock');
23 END IF;
24 IF (p_price_model = 'MARKET') THEN
25
26 select RIC_CODE
27 into l_ric_code
28 from XTR_STOCK_ISSUES
29 where stock_issue_code = p_issue_code;
30
31
32 p_md_in.p_md_set_code := p_market_set;
33 p_md_in.p_source := 'C';
34 p_md_in.p_indicator := 'T';
35 p_md_in.p_spot_date := p_date;
36 p_md_in.p_future_date := p_date;
37 p_md_in.p_ccy := p_ccy;
38 p_md_in.p_contra_ccy := NULL;
39 p_md_in.p_day_count_basis_out := NULL;
40 p_md_in.p_interpolation_method := NULL;
41 p_md_in.p_side := 'B'; -- Always Buy deal, use bid
42 p_md_in.p_batch_id := NULL;
43 p_md_in.p_bond_code := l_ric_code;
44
45 XTR_MARKET_DATA_P.get_md_from_set(p_md_in, p_md_out);
46
47 p_reval_rate := p_md_out.p_md_out;
48 IF (g_proc_level>=g_debug_level) THEN
49 XTR_RISK_DEBUG_PKG.dlog('fv_stock: ' || 'Stock price: '||p_reval_rate);
50 END IF;
51
52 p_fair_value := p_reval_rate * p_shares_rem;
53 IF (g_proc_level>=g_debug_level) THEN
54 XTR_RISK_DEBUG_PKG.dlog('fv_stock: ' || 'Fair value: '||p_fair_value);
55 XTR_RISK_DEBUG_PKG.dpop(null,'QRM_EQ_FORMULAS.fv_stock');
56 END IF;
57
58 END IF;
59 END fv_stock;
60
61 END;