DBA Data[Home] [Help]

APPS.QRM_MM_FORMULAS dependencies on XTR_RISK_DEBUG_PKG

Line 98: xtr_risk_debug_pkg.dpush(null,'QRM_MM_FORMULAS.BLACK_OPTION_SENS');

94:
95: BEGIN
96:
97: IF (g_proc_level>=g_debug_level) THEN --bug 3236479
98: xtr_risk_debug_pkg.dpush(null,'QRM_MM_FORMULAS.BLACK_OPTION_SENS');
99: END IF;
100:
101: IF (v_vol = 0) THEN
102: raise e_option_vol_zero;

Line 168: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'spot rate: '||v_spot);

164: v_ir := conv_out.p_rate_out/100;
165: END IF;
166:
167: IF (g_proc_level>=g_debug_level) THEN
168: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'spot rate: '||v_spot);
169: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 't1: '||v_t1);
170: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N(d1): '||v_n_d1);
171: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'forward: '||v_forward);
172: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N(d2): '||v_n_d2);

Line 169: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 't1: '||v_t1);

165: END IF;
166:
167: IF (g_proc_level>=g_debug_level) THEN
168: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'spot rate: '||v_spot);
169: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 't1: '||v_t1);
170: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N(d1): '||v_n_d1);
171: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'forward: '||v_forward);
172: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N(d2): '||v_n_d2);
173: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N''(d1): '||v_n_d1_a);

Line 170: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N(d1): '||v_n_d1);

166:
167: IF (g_proc_level>=g_debug_level) THEN
168: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'spot rate: '||v_spot);
169: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 't1: '||v_t1);
170: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N(d1): '||v_n_d1);
171: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'forward: '||v_forward);
172: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N(d2): '||v_n_d2);
173: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N''(d1): '||v_n_d1_a);
174: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'strike rate: '||v_ir);

Line 171: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'forward: '||v_forward);

167: IF (g_proc_level>=g_debug_level) THEN
168: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'spot rate: '||v_spot);
169: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 't1: '||v_t1);
170: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N(d1): '||v_n_d1);
171: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'forward: '||v_forward);
172: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N(d2): '||v_n_d2);
173: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N''(d1): '||v_n_d1_a);
174: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'strike rate: '||v_ir);
175: END IF;

Line 172: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N(d2): '||v_n_d2);

168: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'spot rate: '||v_spot);
169: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 't1: '||v_t1);
170: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N(d1): '||v_n_d1);
171: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'forward: '||v_forward);
172: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N(d2): '||v_n_d2);
173: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N''(d1): '||v_n_d1_a);
174: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'strike rate: '||v_ir);
175: END IF;
176:

Line 173: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N''(d1): '||v_n_d1_a);

169: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 't1: '||v_t1);
170: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N(d1): '||v_n_d1);
171: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'forward: '||v_forward);
172: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N(d2): '||v_n_d2);
173: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N''(d1): '||v_n_d1_a);
174: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'strike rate: '||v_ir);
175: END IF;
176:
177: -- sensitivities calculation

Line 174: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'strike rate: '||v_ir);

170: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N(d1): '||v_n_d1);
171: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'forward: '||v_forward);
172: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N(d2): '||v_n_d2);
173: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'N''(d1): '||v_n_d1_a);
174: XTR_RISK_DEBUG_PKG.dlog('black_option_sens: ' || 'strike rate: '||v_ir);
175: END IF;
176:
177: -- sensitivities calculation
178: p_out_rec.p_delta_cap := EXP(-v_spot*v_t1)*v_n_d1;

Line 195: xtr_risk_debug_pkg.dpop(null,'QRM_MM_FORMULAS.BLACK_OPTION_SENS');

191: p_out_rec.p_gamma := (v_n_d1_a*EXP(-v_spot*v_t1))/(v_forward*v_vol*SQRT(v_t1));
192: p_out_rec.p_vega := v_forward*SQRT(v_t1)*v_n_d1_a*EXP(-v_spot*v_t1);
193:
194: IF (g_proc_level>=g_debug_level) THEN --bug 3236479
195: xtr_risk_debug_pkg.dpop(null,'QRM_MM_FORMULAS.BLACK_OPTION_SENS');
196: END IF;
197:
198: END black_option_sens;
199:

Line 239: xtr_risk_debug_pkg.dpush(null,'QRM_MM_FORMULAS.DURATION');

235:
236: BEGIN
237:
238: IF (g_proc_level>=g_debug_level) THEN --bug 3236479
239: xtr_risk_debug_pkg.dpush(null,'QRM_MM_FORMULAS.DURATION');
240: END IF;
241:
242: -- fra or ni calculation if p_pvc_array is null
243: if (p_pvc_array is null) then

Line 268: xtr_risk_debug_pkg.dpop(null,'QRM_MM_FORMULAS.DURATION');

264: RETURN p_num_sum/p_denom_sum;
265: end if;
266:
267: IF (g_proc_level>=g_debug_level) THEN --bug 3236479
268: xtr_risk_debug_pkg.dpop(null,'QRM_MM_FORMULAS.DURATION');
269: END IF;
270:
271: END duration;
272:

Line 304: xtr_risk_debug_pkg.dpush(null,'QRM_MM_FORMULAS.MOD_DURATION');

300:
301: BEGIN
302:
303: IF (g_proc_level>=g_debug_level) THEN --bug 3236479
304: xtr_risk_debug_pkg.dpush(null,'QRM_MM_FORMULAS.MOD_DURATION');
305: END IF;
306:
307: if (p_num_payments = 0) then
308: RAISE_APPLICATION_ERROR

Line 315: xtr_risk_debug_pkg.dpop(null,'QRM_MM_FORMULAS.MOD_DURATION');

311: RETURN p_duration/(1 + p_yld/p_num_payments);
312: end if;
313:
314: IF (g_proc_level>=g_debug_level) THEN --bug 3236479
315: xtr_risk_debug_pkg.dpop(null,'QRM_MM_FORMULAS.MOD_DURATION');
316: END IF;
317:
318: END mod_duration;
319:

Line 352: xtr_risk_debug_pkg.dpush(null,'QRM_MM_FORMULAS.BOND_CONVEXITY');

348: p_yld NUMBER := p_yield/100;
349:
350: BEGIN
351: IF (g_proc_level>=g_debug_level) THEN --bug 3236479
352: xtr_risk_debug_pkg.dpush(null,'QRM_MM_FORMULAS.BOND_CONVEXITY');
353: END IF;
354: -- arrays should be the same size
355: if (p_cf_array.count <> p_days_array.count) then
356: -- do exception handling here

Line 374: XTR_RISK_DEBUG_PKG.dlog('convexity before 100: '||p_num_sum/p_dirty_price);

370: p_cf_array(i)/(1 + p_yld/p_num_payments)**(p_num_payments*p_days_array(i)/p_days_in_year + 2)*(p_days_array(i)/p_days_in_year)*(p_days_array(i)/p_days_in_year + 1/p_num_payments);
371: --modified from - to + above
372: END LOOP;
373: -- now divide numerator and denominator
374: XTR_RISK_DEBUG_PKG.dlog('convexity before 100: '||p_num_sum/p_dirty_price);
375: IF (g_proc_level>=g_debug_level) THEN --bug 3236479
376: xtr_risk_debug_pkg.dpop(null,'QRM_MM_FORMULAS.BOND_CONVEXITY');
377: END IF;
378: RETURN p_num_sum/p_dirty_price;

Line 376: xtr_risk_debug_pkg.dpop(null,'QRM_MM_FORMULAS.BOND_CONVEXITY');

372: END LOOP;
373: -- now divide numerator and denominator
374: XTR_RISK_DEBUG_PKG.dlog('convexity before 100: '||p_num_sum/p_dirty_price);
375: IF (g_proc_level>=g_debug_level) THEN --bug 3236479
376: xtr_risk_debug_pkg.dpop(null,'QRM_MM_FORMULAS.BOND_CONVEXITY');
377: END IF;
378: RETURN p_num_sum/p_dirty_price;
379: end if;
380: END bond_convexity;

Line 409: xtr_risk_debug_pkg.dpush(null,'QRM_MM_FORMULAS.DELTA_MD');

405:
406: p_delta_yield NUMBER := 0.01;
407: BEGIN
408: IF (g_proc_level>=g_debug_level) THEN --bug 3236479
409: xtr_risk_debug_pkg.dpush(null,'QRM_MM_FORMULAS.DELTA_MD');
410: END IF;
411: if (p_out = 'DELTA') then
412: RETURN -1 * p_dirty_price * p_delta_yield * p_mod_duration;
413: elsif (p_out = 'DOLLAR') then

Line 420: xtr_risk_debug_pkg.dpop(null,'QRM_MM_FORMULAS.DELTA_MD');

416: RAISE_APPLICATION_ERROR
417: (-20001,'p_OUT must be ''DELTA'' or ''DOLLAR''.');
418: end if;
419: IF (g_proc_level>=g_debug_level) THEN --bug 3236479
420: xtr_risk_debug_pkg.dpop(null,'QRM_MM_FORMULAS.DELTA_MD');
421: END IF;
422: END delta_md;
423:
424: -- addition by fhu 6/13/01

Line 625: xtr_risk_debug_pkg.dpush(null,'QRM_MM_FORMULAS.CALCULATE_IMPLIED_VOL');

621: iro_option_price_out XTR_MM_COVERS.BLACK_OPT_CV_OUT_REC_TYPE;
622:
623: BEGIN
624: IF (g_proc_level>=g_debug_level) THEN --bug 3236479
625: xtr_risk_debug_pkg.dpush(null,'QRM_MM_FORMULAS.CALCULATE_IMPLIED_VOL');
626: END IF;
627: if (p_indicator='FXO') THEN
628: fx_option_price_in.p_SPOT_DATE:= p_spot_date;
629: fx_option_price_in.p_MATURITY_DATE := p_expiration_date;

Line 783: xtr_risk_debug_pkg.dpop(null,'QRM_MM_FORMULAS.CALCULATE_IMPLIED_VOL');

779: v_vol_high:= v_vol_mid;
780: end if;
781: END LOOP;
782: IF (g_proc_level>=g_debug_level) THEN --bug 3236479
783: xtr_risk_debug_pkg.dpop(null,'QRM_MM_FORMULAS.CALCULATE_IMPLIED_VOL');
784: END IF;
785: END calculate_implied_volatility;
786:
787:

Line 818: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.calculate_fwd_rate');

814:
815:
816: BEGIN
817: IF (g_proc_level>=g_debug_level) THEN
818: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.calculate_fwd_rate');
819: END IF;
820: if p_deal_subtype in ('BUY', 'FUND', 'BCAP', 'SCAP') then
821: p_side := 'A';
822: else

Line 829: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'spot date: '||p_spot_date);

825:
826:
827: -- get yield rate from spot to start date
828: IF (g_proc_level>=g_debug_level) THEN
829: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'spot date: '||p_spot_date);
830: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'start date: '||p_start_date);
831: END IF;
832: XTR_CALC_P.calc_days_run_c(p_spot_date, p_start_date,
833: p_day_count_basis, null, p_days1, p_annual_basis);

Line 830: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'start date: '||p_start_date);

826:
827: -- get yield rate from spot to start date
828: IF (g_proc_level>=g_debug_level) THEN
829: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'spot date: '||p_spot_date);
830: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'start date: '||p_start_date);
831: END IF;
832: XTR_CALC_P.calc_days_run_c(p_spot_date, p_start_date,
833: p_day_count_basis, null, p_days1, p_annual_basis);
834: p_md_in.p_md_set_code := p_set_code;

Line 847: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'deal subtype: '||p_deal_subtype);

843: p_md_in.p_side := p_side;
844: p_md_in.p_batch_id := NULL;
845: p_md_in.p_bond_code := NULL;
846: IF (g_proc_level>=g_debug_level) THEN
847: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'deal subtype: '||p_deal_subtype);
848: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'set_code: '||p_set_code);
849: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'spot date: '||p_spot_date);
850: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'future date: '||p_start_date);
851: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'ccy: '||p_ccy);

Line 848: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'set_code: '||p_set_code);

844: p_md_in.p_batch_id := NULL;
845: p_md_in.p_bond_code := NULL;
846: IF (g_proc_level>=g_debug_level) THEN
847: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'deal subtype: '||p_deal_subtype);
848: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'set_code: '||p_set_code);
849: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'spot date: '||p_spot_date);
850: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'future date: '||p_start_date);
851: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'ccy: '||p_ccy);
852: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'day count basis: '||p_day_count_basis);

Line 849: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'spot date: '||p_spot_date);

845: p_md_in.p_bond_code := NULL;
846: IF (g_proc_level>=g_debug_level) THEN
847: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'deal subtype: '||p_deal_subtype);
848: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'set_code: '||p_set_code);
849: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'spot date: '||p_spot_date);
850: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'future date: '||p_start_date);
851: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'ccy: '||p_ccy);
852: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'day count basis: '||p_day_count_basis);
853: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'interp method: '||p_interpolation_method);

Line 850: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'future date: '||p_start_date);

846: IF (g_proc_level>=g_debug_level) THEN
847: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'deal subtype: '||p_deal_subtype);
848: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'set_code: '||p_set_code);
849: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'spot date: '||p_spot_date);
850: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'future date: '||p_start_date);
851: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'ccy: '||p_ccy);
852: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'day count basis: '||p_day_count_basis);
853: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'interp method: '||p_interpolation_method);
854: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'data side: '||p_side);

Line 851: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'ccy: '||p_ccy);

847: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'deal subtype: '||p_deal_subtype);
848: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'set_code: '||p_set_code);
849: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'spot date: '||p_spot_date);
850: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'future date: '||p_start_date);
851: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'ccy: '||p_ccy);
852: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'day count basis: '||p_day_count_basis);
853: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'interp method: '||p_interpolation_method);
854: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'data side: '||p_side);
855: END IF;

Line 852: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'day count basis: '||p_day_count_basis);

848: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'set_code: '||p_set_code);
849: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'spot date: '||p_spot_date);
850: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'future date: '||p_start_date);
851: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'ccy: '||p_ccy);
852: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'day count basis: '||p_day_count_basis);
853: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'interp method: '||p_interpolation_method);
854: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'data side: '||p_side);
855: END IF;
856:

Line 853: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'interp method: '||p_interpolation_method);

849: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'spot date: '||p_spot_date);
850: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'future date: '||p_start_date);
851: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'ccy: '||p_ccy);
852: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'day count basis: '||p_day_count_basis);
853: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'interp method: '||p_interpolation_method);
854: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'data side: '||p_side);
855: END IF;
856:
857: XTR_MARKET_DATA_P.get_md_from_set(p_md_in, p_md_out);

Line 854: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'data side: '||p_side);

850: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'future date: '||p_start_date);
851: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'ccy: '||p_ccy);
852: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'day count basis: '||p_day_count_basis);
853: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'interp method: '||p_interpolation_method);
854: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'data side: '||p_side);
855: END IF;
856:
857: XTR_MARKET_DATA_P.get_md_from_set(p_md_in, p_md_out);
858: p_rate1 := p_md_out.p_md_out;

Line 866: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'spot date: '||p_spot_date);

862: END IF;
863:
864: -- get yield rate from spot to maturity date
865: IF (g_proc_level>=g_debug_level) THEN
866: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'spot date: '||p_spot_date);
867: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'maturity date: '||p_maturity_date);
868: END IF;
869: XTR_CALC_P.calc_days_run_c(p_spot_date, p_maturity_date,
870: p_day_count_basis, null, p_days2, p_annual_basis);

Line 867: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'maturity date: '||p_maturity_date);

863:
864: -- get yield rate from spot to maturity date
865: IF (g_proc_level>=g_debug_level) THEN
866: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'spot date: '||p_spot_date);
867: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'maturity date: '||p_maturity_date);
868: END IF;
869: XTR_CALC_P.calc_days_run_c(p_spot_date, p_maturity_date,
870: p_day_count_basis, null, p_days2, p_annual_basis);
871: p_md_in.p_md_set_code := p_set_code;

Line 895: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate days 1: '||p_days1);

891: IF p_days1 = p_days2 THEN
892: p_fwd_rate := 0;
893: ELSE
894: IF (g_proc_level>=g_debug_level) THEN
895: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate days 1: '||p_days1);
896: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate days 2: '||p_days2);
897: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate rate 1: '||p_rate1);
898: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate rate 2: '||p_rate2);
899: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate annual basis: '||p_annual_basis);

Line 896: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate days 2: '||p_days2);

892: p_fwd_rate := 0;
893: ELSE
894: IF (g_proc_level>=g_debug_level) THEN
895: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate days 1: '||p_days1);
896: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate days 2: '||p_days2);
897: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate rate 1: '||p_rate1);
898: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate rate 2: '||p_rate2);
899: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate annual basis: '||p_annual_basis);
900: END IF;

Line 897: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate rate 1: '||p_rate1);

893: ELSE
894: IF (g_proc_level>=g_debug_level) THEN
895: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate days 1: '||p_days1);
896: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate days 2: '||p_days2);
897: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate rate 1: '||p_rate1);
898: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate rate 2: '||p_rate2);
899: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate annual basis: '||p_annual_basis);
900: END IF;
901:

Line 898: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate rate 2: '||p_rate2);

894: IF (g_proc_level>=g_debug_level) THEN
895: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate days 1: '||p_days1);
896: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate days 2: '||p_days2);
897: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate rate 1: '||p_rate1);
898: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate rate 2: '||p_rate2);
899: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate annual basis: '||p_annual_basis);
900: END IF;
901:
902: p_mm_in.p_indicator := 'Y';

Line 899: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate annual basis: '||p_annual_basis);

895: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate days 1: '||p_days1);
896: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate days 2: '||p_days2);
897: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate rate 1: '||p_rate1);
898: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate rate 2: '||p_rate2);
899: XTR_RISK_DEBUG_PKG.dlog('calculate_fwd_rate: ' || 'calc fwd rate annual basis: '||p_annual_basis);
900: END IF;
901:
902: p_mm_in.p_indicator := 'Y';
903: p_mm_in.p_t := p_days1;

Line 913: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.calculate_fwd_rate');

909: p_fwd_rate := p_mm_out.p_fra_rate;
910: END IF;
911:
912: IF (g_proc_level>=g_debug_level) THEN
913: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.calculate_fwd_rate');
914: END IF;
915: RETURN p_fwd_rate;
916:
917:

Line 971: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.fv_fra');

967: p_conv_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;
968:
969: BEGIN
970: IF (g_proc_level>=g_debug_level) THEN
971: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.fv_fra');
972: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'contract rate day count basis: '||p_day_count_basis);
973: END IF;
974:
975: IF (p_price_model = p_fra_dis_price_model OR

Line 972: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'contract rate day count basis: '||p_day_count_basis);

968:
969: BEGIN
970: IF (g_proc_level>=g_debug_level) THEN
971: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.fv_fra');
972: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'contract rate day count basis: '||p_day_count_basis);
973: END IF;
974:
975: IF (p_price_model = p_fra_dis_price_model OR
976: p_price_model = p_fra_yld_price_model) THEN

Line 990: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'settle/reval rate is: '||p_fwd_fwd_rate);

986: p_fwd_fwd_rate := p_fwd_fwd_rate + 0.01;
987: END IF;
988:
989: IF (g_proc_level>=g_debug_level) THEN
990: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'settle/reval rate is: '||p_fwd_fwd_rate);
991: END IF;
992:
993: IF (p_deal_subtype = 'FUND') THEN
994: p_side := 'A';

Line 1013: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'contract rate: '||p_contract_rate);

1009: END IF;
1010:
1011:
1012: IF (g_proc_level>=g_debug_level) THEN
1013: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'contract rate: '||p_contract_rate);
1014: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'fwd fwd rate: '||p_fwd_fwd_rate);
1015: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'face value: '||p_face_value);
1016: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'days to mat: '||p_days);
1017: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'annual basis: '||p_annual_basis);

Line 1014: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'fwd fwd rate: '||p_fwd_fwd_rate);

1010:
1011:
1012: IF (g_proc_level>=g_debug_level) THEN
1013: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'contract rate: '||p_contract_rate);
1014: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'fwd fwd rate: '||p_fwd_fwd_rate);
1015: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'face value: '||p_face_value);
1016: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'days to mat: '||p_days);
1017: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'annual basis: '||p_annual_basis);
1018: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'deal subtype: '||p_deal_subtype);

Line 1015: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'face value: '||p_face_value);

1011:
1012: IF (g_proc_level>=g_debug_level) THEN
1013: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'contract rate: '||p_contract_rate);
1014: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'fwd fwd rate: '||p_fwd_fwd_rate);
1015: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'face value: '||p_face_value);
1016: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'days to mat: '||p_days);
1017: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'annual basis: '||p_annual_basis);
1018: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'deal subtype: '||p_deal_subtype);
1019: END IF;

Line 1016: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'days to mat: '||p_days);

1012: IF (g_proc_level>=g_debug_level) THEN
1013: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'contract rate: '||p_contract_rate);
1014: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'fwd fwd rate: '||p_fwd_fwd_rate);
1015: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'face value: '||p_face_value);
1016: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'days to mat: '||p_days);
1017: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'annual basis: '||p_annual_basis);
1018: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'deal subtype: '||p_deal_subtype);
1019: END IF;
1020: p_fra_in.p_fra_price := p_contract_rate; -- contract rate

Line 1017: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'annual basis: '||p_annual_basis);

1013: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'contract rate: '||p_contract_rate);
1014: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'fwd fwd rate: '||p_fwd_fwd_rate);
1015: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'face value: '||p_face_value);
1016: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'days to mat: '||p_days);
1017: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'annual basis: '||p_annual_basis);
1018: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'deal subtype: '||p_deal_subtype);
1019: END IF;
1020: p_fra_in.p_fra_price := p_contract_rate; -- contract rate
1021: p_fra_in.p_settlement_rate := p_fwd_fwd_rate;

Line 1018: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'deal subtype: '||p_deal_subtype);

1014: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'fwd fwd rate: '||p_fwd_fwd_rate);
1015: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'face value: '||p_face_value);
1016: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'days to mat: '||p_days);
1017: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'annual basis: '||p_annual_basis);
1018: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'deal subtype: '||p_deal_subtype);
1019: END IF;
1020: p_fra_in.p_fra_price := p_contract_rate; -- contract rate
1021: p_fra_in.p_settlement_rate := p_fwd_fwd_rate;
1022: p_fra_in.p_face_value := p_face_value;

Line 1030: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'settlement amount is: '||p_settle_amount);

1026: XTR_MM_COVERS.fra_settlement_amount(p_fra_in, p_fra_out);
1027: -- settlement amount is fair value
1028: p_settle_amount := p_fra_out.p_settlement_amount;
1029: IF (g_proc_level>=g_debug_level) THEN
1030: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'settlement amount is: '||p_settle_amount);
1031: END IF;
1032:
1033: -- discount to spot date
1034: IF (p_deal_subtype = 'FUND') THEN

Line 1063: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'discount rate: '||p_discount_rate);

1059: p_md_in.p_side := p_side;
1060: XTR_MARKET_DATA_P.get_md_from_set(p_md_in, p_md_out);
1061: p_discount_rate := p_md_out.p_md_out;
1062: IF (g_proc_level>=g_debug_level) THEN
1063: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'discount rate: '||p_discount_rate);
1064: END IF;
1065:
1066: p_mm_in.p_indicator := 'Y';
1067: p_mm_in.p_future_val := p_settle_amount;

Line 1080: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'fra fv before discounting: '||p_settle_amount);

1076: p_mm_in.p_compound_freq := 1;
1077: END IF;
1078:
1079: IF (g_proc_level>=g_debug_level) THEN
1080: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'fra fv before discounting: '||p_settle_amount);
1081: END IF;
1082:
1083: XTR_MM_COVERS.present_value(p_mm_in, p_mm_out);
1084: p_fair_value := p_mm_out.p_present_val;

Line 1087: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'fra fv after discounting: '||p_fair_value);

1083: XTR_MM_COVERS.present_value(p_mm_in, p_mm_out);
1084: p_fair_value := p_mm_out.p_present_val;
1085:
1086: IF (g_proc_level>=g_debug_level) THEN
1087: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'fra fv after discounting: '||p_fair_value);
1088: END IF;
1089:
1090:
1091: -- convert fwd fwd rate into ACTUAL365

Line 1094: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'fwd fwd rate bf conv to actual365: '||p_fwd_fwd_rate);

1090:
1091: -- convert fwd fwd rate into ACTUAL365
1092: -- fwd fwd rate is interest rate
1093: IF (g_proc_level>=g_debug_level) THEN
1094: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'fwd fwd rate bf conv to actual365: '||p_fwd_fwd_rate);
1095: END IF;
1096: IF (p_day_count_basis <> p_fwd_fwd_day_count_basis) THEN
1097: p_conv_in.p_start_date := p_start_date;
1098: p_conv_in.p_end_date := p_maturity_date;

Line 1114: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'fwd fwd rate after conv to actual365: '||p_fwd_fwd_rate);

1110: p_conv_in.p_rate_in := p_fwd_fwd_rate;
1111: XTR_RATE_CONVERSION.rate_conversion(p_conv_in, p_conv_out);
1112: p_fwd_fwd_rate := p_conv_out.p_rate_out;
1113: IF (g_proc_level>=g_debug_level) THEN
1114: XTR_RISK_DEBUG_PKG.dlog('fv_fra: ' || 'fwd fwd rate after conv to actual365: '||p_fwd_fwd_rate);
1115: END IF;
1116: END IF;
1117:
1118: END IF;

Line 1120: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.fv_fra');

1116: END IF;
1117:
1118: END IF;
1119: IF (g_proc_level>=g_debug_level) THEN
1120: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.fv_fra');
1121: END IF;
1122: END fv_fra;
1123:
1124:

Line 1162: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.fv_iro');

1158: p_long_rate NUMBER;
1159:
1160: BEGIN
1161: IF (g_proc_level>=g_debug_level) THEN
1162: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.fv_iro');
1163: END IF;
1164: IF (p_price_model = 'BLACK') THEN
1165: -- convert strike rate to Actual/365
1166: IF (p_day_count_basis_strike <> p_day_count_basis) THEN

Line 1185: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'final strike rate: '||p_strike_rate);

1181: XTR_RATE_CONVERSION.rate_conversion(p_conv_in, p_conv_out);
1182: p_strike_rate := p_conv_out.p_rate_out;
1183: END IF;
1184: IF (g_proc_level>=g_debug_level) THEN
1185: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'final strike rate: '||p_strike_rate);
1186: END IF;
1187:
1188: XTR_CALC_P.calc_days_run_c(p_spot_date, p_start_date,
1189: p_day_count_basis, null, p_days1, p_annual_basis1);

Line 1191: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'spot to start date: '||p_days1);

1187:
1188: XTR_CALC_P.calc_days_run_c(p_spot_date, p_start_date,
1189: p_day_count_basis, null, p_days1, p_annual_basis1);
1190: IF (g_proc_level>=g_debug_level) THEN
1191: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'spot to start date: '||p_days1);
1192: END IF;
1193: XTR_CALC_P.calc_days_run_c(p_spot_date, p_maturity_date,
1194: p_day_count_basis, null, p_days2, p_annual_basis2);
1195: IF (g_proc_level>=g_debug_level) THEN

Line 1196: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'spot to maturity date: '||p_days2);

1192: END IF;
1193: XTR_CALC_P.calc_days_run_c(p_spot_date, p_maturity_date,
1194: p_day_count_basis, null, p_days2, p_annual_basis2);
1195: IF (g_proc_level>=g_debug_level) THEN
1196: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'spot to maturity date: '||p_days2);
1197: END IF;
1198:
1199: -- get volatility from MDS
1200: -- set up data side

Line 1225: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'volatility is: '||p_volatility);

1221: raise e_option_vol_zero;
1222: END IF;
1223:
1224: IF (g_proc_level>=g_debug_level) THEN
1225: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'volatility is: '||p_volatility);
1226: END IF;
1227:
1228: -- get int rates
1229: -- set up data side

Line 1241: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'rate between spot and maturity date: '||p_long_rate);

1237: p_md_in.p_indicator := 'Y';
1238: XTR_MARKET_DATA_P.get_md_from_set(p_md_in, p_md_out);
1239: p_long_rate := p_md_out.p_md_out;
1240: IF (g_proc_level>=g_debug_level) THEN
1241: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'rate between spot and maturity date: '||p_long_rate);
1242: END IF;
1243:
1244: -- get int rate between spot date and start date
1245: p_md_in.p_future_date := p_start_date;

Line 1249: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'rate between spot and start date: '||p_short_rate);

1245: p_md_in.p_future_date := p_start_date;
1246: XTR_MARKET_DATA_P.get_md_from_set(p_md_in, p_md_out);
1247: p_short_rate := p_md_out.p_md_out;
1248: IF (g_proc_level>=g_debug_level) THEN
1249: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'rate between spot and start date: '||p_short_rate);
1250: END IF;
1251:
1252: -- calculate price using Black's formula
1253: p_black_in.p_principal := p_amount;

Line 1255: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_principal: '||p_amount);

1251:
1252: -- calculate price using Black's formula
1253: p_black_in.p_principal := p_amount;
1254: IF (g_proc_level>=g_debug_level) THEN
1255: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_principal: '||p_amount);
1256: END IF;
1257: p_black_in.p_strike_rate := p_strike_rate;
1258: IF (within_one_year(p_start_date, p_maturity_date)) THEN
1259: IF (g_proc_level>=g_debug_level) THEN

Line 1260: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'strike rate within one year: ' ||p_strike_rate);

1256: END IF;
1257: p_black_in.p_strike_rate := p_strike_rate;
1258: IF (within_one_year(p_start_date, p_maturity_date)) THEN
1259: IF (g_proc_level>=g_debug_level) THEN
1260: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'strike rate within one year: ' ||p_strike_rate);
1261: END IF;
1262: p_black_in.p_rate_type_strike := 'S';
1263: ELSE
1264: IF (g_proc_level>=g_debug_level) THEN

Line 1265: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'strike rate greater than one year: '||p_strike_rate);

1261: END IF;
1262: p_black_in.p_rate_type_strike := 'S';
1263: ELSE
1264: IF (g_proc_level>=g_debug_level) THEN
1265: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'strike rate greater than one year: '||p_strike_rate);
1266: END IF;
1267: p_black_in.p_rate_type_strike := 'P';
1268: p_black_in.p_compound_freq_strike := 1;
1269: END IF;

Line 1271: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_rate_type_strike: '||p_black_in.p_rate_type_strike);

1267: p_black_in.p_rate_type_strike := 'P';
1268: p_black_in.p_compound_freq_strike := 1;
1269: END IF;
1270: IF (g_proc_level>=g_debug_level) THEN
1271: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_rate_type_strike: '||p_black_in.p_rate_type_strike);
1272: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_compound_freq_strike: '||p_black_in.p_compound_freq_strike);
1273: END IF;
1274:
1275: p_black_in.p_day_count_basis_strike := p_day_count_basis;

Line 1272: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_compound_freq_strike: '||p_black_in.p_compound_freq_strike);

1268: p_black_in.p_compound_freq_strike := 1;
1269: END IF;
1270: IF (g_proc_level>=g_debug_level) THEN
1271: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_rate_type_strike: '||p_black_in.p_rate_type_strike);
1272: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_compound_freq_strike: '||p_black_in.p_compound_freq_strike);
1273: END IF;
1274:
1275: p_black_in.p_day_count_basis_strike := p_day_count_basis;
1276: p_black_in.p_day_count_basis_short := p_day_count_basis;

Line 1279: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_day_count_basis_strike: '||p_day_count_basis);

1275: p_black_in.p_day_count_basis_strike := p_day_count_basis;
1276: p_black_in.p_day_count_basis_short := p_day_count_basis;
1277: p_black_in.p_day_count_basis_long := p_day_count_basis;
1278: IF (g_proc_level>=g_debug_level) THEN
1279: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_day_count_basis_strike: '||p_day_count_basis);
1280: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_day_count_basis_short: '||p_day_count_basis);
1281: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_day_count_basis_long: '||p_day_count_basis);
1282: END IF;
1283: p_black_in.p_ir_short := p_short_rate;

Line 1280: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_day_count_basis_short: '||p_day_count_basis);

1276: p_black_in.p_day_count_basis_short := p_day_count_basis;
1277: p_black_in.p_day_count_basis_long := p_day_count_basis;
1278: IF (g_proc_level>=g_debug_level) THEN
1279: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_day_count_basis_strike: '||p_day_count_basis);
1280: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_day_count_basis_short: '||p_day_count_basis);
1281: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_day_count_basis_long: '||p_day_count_basis);
1282: END IF;
1283: p_black_in.p_ir_short := p_short_rate;
1284: IF (within_one_year(p_spot_date, p_start_date)) THEN

Line 1281: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_day_count_basis_long: '||p_day_count_basis);

1277: p_black_in.p_day_count_basis_long := p_day_count_basis;
1278: IF (g_proc_level>=g_debug_level) THEN
1279: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_day_count_basis_strike: '||p_day_count_basis);
1280: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_day_count_basis_short: '||p_day_count_basis);
1281: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_day_count_basis_long: '||p_day_count_basis);
1282: END IF;
1283: p_black_in.p_ir_short := p_short_rate;
1284: IF (within_one_year(p_spot_date, p_start_date)) THEN
1285: IF (g_proc_level>=g_debug_level) THEN

Line 1286: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'short rate within one year: '||p_short_rate);

1282: END IF;
1283: p_black_in.p_ir_short := p_short_rate;
1284: IF (within_one_year(p_spot_date, p_start_date)) THEN
1285: IF (g_proc_level>=g_debug_level) THEN
1286: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'short rate within one year: '||p_short_rate);
1287: END IF;
1288: p_black_in.p_rate_type_short := 'S';
1289: ELSE
1290: IF (g_proc_level>=g_debug_level) THEN

Line 1291: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'short rate greater than one year: '||p_short_rate);

1287: END IF;
1288: p_black_in.p_rate_type_short := 'S';
1289: ELSE
1290: IF (g_proc_level>=g_debug_level) THEN
1291: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'short rate greater than one year: '||p_short_rate);
1292: END IF;
1293: p_black_in.p_rate_type_short := 'P';
1294: p_black_in.p_compound_freq_short := 1;
1295: END IF;

Line 1297: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_rate_type_short: '||p_black_in.p_rate_type_short);

1293: p_black_in.p_rate_type_short := 'P';
1294: p_black_in.p_compound_freq_short := 1;
1295: END IF;
1296: IF (g_proc_level>=g_debug_level) THEN
1297: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_rate_type_short: '||p_black_in.p_rate_type_short);
1298: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_compound_freq_short: '||p_black_in.p_compound_freq_short);
1299: END IF;
1300: p_black_in.p_ir_long := p_long_rate;
1301: IF (within_one_year(p_spot_date, p_maturity_date)) THEN

Line 1298: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_compound_freq_short: '||p_black_in.p_compound_freq_short);

1294: p_black_in.p_compound_freq_short := 1;
1295: END IF;
1296: IF (g_proc_level>=g_debug_level) THEN
1297: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_rate_type_short: '||p_black_in.p_rate_type_short);
1298: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_compound_freq_short: '||p_black_in.p_compound_freq_short);
1299: END IF;
1300: p_black_in.p_ir_long := p_long_rate;
1301: IF (within_one_year(p_spot_date, p_maturity_date)) THEN
1302: IF (g_proc_level>=g_debug_level) THEN

Line 1303: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'long rate within one year: '||p_long_rate);

1299: END IF;
1300: p_black_in.p_ir_long := p_long_rate;
1301: IF (within_one_year(p_spot_date, p_maturity_date)) THEN
1302: IF (g_proc_level>=g_debug_level) THEN
1303: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'long rate within one year: '||p_long_rate);
1304: END IF;
1305: p_black_in.p_rate_type_long := 'S';
1306: ELSE
1307: IF (g_proc_level>=g_debug_level) THEN

Line 1308: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'long rate greater than one year: '||p_long_rate);

1304: END IF;
1305: p_black_in.p_rate_type_long := 'S';
1306: ELSE
1307: IF (g_proc_level>=g_debug_level) THEN
1308: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'long rate greater than one year: '||p_long_rate);
1309: END IF;
1310: p_black_in.p_rate_type_long := 'P';
1311: p_black_in.p_compound_freq_long := 1;
1312: END IF;

Line 1314: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_rate_type_long: '||p_black_in.p_rate_type_long);

1310: p_black_in.p_rate_type_long := 'P';
1311: p_black_in.p_compound_freq_long := 1;
1312: END IF;
1313: IF (g_proc_level>=g_debug_level) THEN
1314: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_rate_type_long: '||p_black_in.p_rate_type_long);
1315: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_compound_freq_long: '||p_black_in.p_compound_freq_long);
1316: END IF;
1317: p_black_in.p_spot_date := p_spot_date;
1318: p_black_in.p_start_date := p_start_date;

Line 1315: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_compound_freq_long: '||p_black_in.p_compound_freq_long);

1311: p_black_in.p_compound_freq_long := 1;
1312: END IF;
1313: IF (g_proc_level>=g_debug_level) THEN
1314: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_rate_type_long: '||p_black_in.p_rate_type_long);
1315: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'p_compound_freq_long: '||p_black_in.p_compound_freq_long);
1316: END IF;
1317: p_black_in.p_spot_date := p_spot_date;
1318: p_black_in.p_start_date := p_start_date;
1319: p_black_in.p_maturity_date := p_maturity_date;

Line 1322: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'spot date: '||p_spot_date);

1318: p_black_in.p_start_date := p_start_date;
1319: p_black_in.p_maturity_date := p_maturity_date;
1320: p_black_in.p_volatility := p_volatility;
1321: IF (g_proc_level>=g_debug_level) THEN
1322: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'spot date: '||p_spot_date);
1323: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'start date: '||p_start_date);
1324: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'maturity date: '||p_maturity_date);
1325: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'volatility: '||p_volatility);
1326: END IF;

Line 1323: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'start date: '||p_start_date);

1319: p_black_in.p_maturity_date := p_maturity_date;
1320: p_black_in.p_volatility := p_volatility;
1321: IF (g_proc_level>=g_debug_level) THEN
1322: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'spot date: '||p_spot_date);
1323: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'start date: '||p_start_date);
1324: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'maturity date: '||p_maturity_date);
1325: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'volatility: '||p_volatility);
1326: END IF;
1327: XTR_MM_COVERS.black_option_price_cv(p_black_in, p_black_out);

Line 1324: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'maturity date: '||p_maturity_date);

1320: p_black_in.p_volatility := p_volatility;
1321: IF (g_proc_level>=g_debug_level) THEN
1322: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'spot date: '||p_spot_date);
1323: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'start date: '||p_start_date);
1324: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'maturity date: '||p_maturity_date);
1325: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'volatility: '||p_volatility);
1326: END IF;
1327: XTR_MM_COVERS.black_option_price_cv(p_black_in, p_black_out);
1328:

Line 1325: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'volatility: '||p_volatility);

1321: IF (g_proc_level>=g_debug_level) THEN
1322: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'spot date: '||p_spot_date);
1323: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'start date: '||p_start_date);
1324: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'maturity date: '||p_maturity_date);
1325: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'volatility: '||p_volatility);
1326: END IF;
1327: XTR_MM_COVERS.black_option_price_cv(p_black_in, p_black_out);
1328:
1329: -- forward forward rate

Line 1332: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'fwd fwd rate is: '||p_fwd_fwd_rate);

1328:
1329: -- forward forward rate
1330: p_fwd_fwd_rate := p_black_out.p_forward_forward_rate;
1331: IF (g_proc_level>=g_debug_level) THEN
1332: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'fwd fwd rate is: '||p_fwd_fwd_rate);
1333: END IF;
1334:
1335: -- convert fwd fwd rate into ACTUAL365
1336: -- fwd fwd rate is interest rate

Line 1338: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'fwd fwd rate bf conv to actual365: '||p_fwd_fwd_rate);

1334:
1335: -- convert fwd fwd rate into ACTUAL365
1336: -- fwd fwd rate is interest rate
1337: IF (g_proc_level>=g_debug_level) THEN
1338: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'fwd fwd rate bf conv to actual365: '||p_fwd_fwd_rate);
1339: END IF;
1340: IF (p_day_count_basis <> p_fwd_fwd_day_count_basis) THEN
1341: IF (g_proc_level>=g_debug_level) THEN
1342: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'in day count basis: '||p_day_count_basis);

Line 1342: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'in day count basis: '||p_day_count_basis);

1338: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'fwd fwd rate bf conv to actual365: '||p_fwd_fwd_rate);
1339: END IF;
1340: IF (p_day_count_basis <> p_fwd_fwd_day_count_basis) THEN
1341: IF (g_proc_level>=g_debug_level) THEN
1342: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'in day count basis: '||p_day_count_basis);
1343: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'fwd fwd day count basis: '||p_fwd_fwd_day_count_basis);
1344: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'rate in: '||p_fwd_fwd_rate);
1345: END IF;
1346: p_conv_in.p_start_date := p_start_date;

Line 1343: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'fwd fwd day count basis: '||p_fwd_fwd_day_count_basis);

1339: END IF;
1340: IF (p_day_count_basis <> p_fwd_fwd_day_count_basis) THEN
1341: IF (g_proc_level>=g_debug_level) THEN
1342: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'in day count basis: '||p_day_count_basis);
1343: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'fwd fwd day count basis: '||p_fwd_fwd_day_count_basis);
1344: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'rate in: '||p_fwd_fwd_rate);
1345: END IF;
1346: p_conv_in.p_start_date := p_start_date;
1347: p_conv_in.p_end_date := p_maturity_date;

Line 1344: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'rate in: '||p_fwd_fwd_rate);

1340: IF (p_day_count_basis <> p_fwd_fwd_day_count_basis) THEN
1341: IF (g_proc_level>=g_debug_level) THEN
1342: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'in day count basis: '||p_day_count_basis);
1343: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'fwd fwd day count basis: '||p_fwd_fwd_day_count_basis);
1344: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'rate in: '||p_fwd_fwd_rate);
1345: END IF;
1346: p_conv_in.p_start_date := p_start_date;
1347: p_conv_in.p_end_date := p_maturity_date;
1348: p_conv_in.p_day_count_basis_in := p_day_count_basis;

Line 1363: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'fwd fwd rate after conv to actual365: '||p_fwd_fwd_rate);

1359: p_conv_in.p_rate_in := p_fwd_fwd_rate;
1360: XTR_RATE_CONVERSION.rate_conversion(p_conv_in, p_conv_out);
1361: p_fwd_fwd_rate := p_conv_out.p_rate_out;
1362: IF (g_proc_level>=g_debug_level) THEN
1363: XTR_RISK_DEBUG_PKG.dlog('fv_iro: ' || 'fwd fwd rate after conv to actual365: '||p_fwd_fwd_rate);
1364: END IF;
1365: END IF;
1366:
1367: -- fair value

Line 1379: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.fv_iro');

1375: p_fair_value := p_fair_value * (-1);
1376: END IF;
1377: END IF;
1378: IF (g_proc_level>=g_debug_level) THEN
1379: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.fv_iro');
1380: END IF;
1381: END fv_iro;
1382:
1383:

Line 1426: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.fv_ni');

1422: p_if_out XTR_MM_COVERS.int_forw_rate_out_rec_type;
1423:
1424: BEGIN
1425: IF (g_proc_level>=g_debug_level) THEN
1426: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.fv_ni');
1427: END IF;
1428: IF (p_price_model = 'DISC_METHOD') THEN
1429: -- get market data side
1430: -- only calculate BUY, SHORT, and ISSUE b/c COVER/SELL updates original

Line 1471: XTR_RISK_DEBUG_PKG.dlog('fv_ni: ' || 'int rate to start: '||p_int_start);

1467: p_md_in.p_future_date := p_start_date;
1468: XTR_MARKET_DATA_P.get_md_from_set(p_md_in, p_md_out);
1469: p_int_start := p_md_out.p_md_out;
1470: IF (g_proc_level>=g_debug_level) THEN
1471: XTR_RISK_DEBUG_PKG.dlog('fv_ni: ' || 'int rate to start: '||p_int_start);
1472: END IF;
1473: XTR_CALC_P.calc_days_run_c(p_spot_date, p_start_date,
1474: p_day_count_basis, null, p_days_start, p_annual_basis);
1475: IF (g_proc_level>=g_debug_level) THEN

Line 1476: XTR_RISK_DEBUG_PKG.dlog('fv_ni: ' || 'days to start: '||p_days_start);

1472: END IF;
1473: XTR_CALC_P.calc_days_run_c(p_spot_date, p_start_date,
1474: p_day_count_basis, null, p_days_start, p_annual_basis);
1475: IF (g_proc_level>=g_debug_level) THEN
1476: XTR_RISK_DEBUG_PKG.dlog('fv_ni: ' || 'days to start: '||p_days_start);
1477: END IF;
1478: -- get days to maturity, and int rate from spot to maturity
1479: p_md_in.p_future_date := p_maturity_date;
1480: XTR_MARKET_DATA_P.get_md_from_set(p_md_in, p_md_out);

Line 1483: XTR_RISK_DEBUG_PKG.dlog('fv_ni: ' || 'int rate to maturity: '||p_int_mature);

1479: p_md_in.p_future_date := p_maturity_date;
1480: XTR_MARKET_DATA_P.get_md_from_set(p_md_in, p_md_out);
1481: p_int_mature := p_md_out.p_md_out;
1482: IF (g_proc_level>=g_debug_level) THEN
1483: XTR_RISK_DEBUG_PKG.dlog('fv_ni: ' || 'int rate to maturity: '||p_int_mature);
1484: END IF;
1485: XTR_CALC_P.calc_days_run_c(p_spot_date, p_maturity_date,
1486: p_day_count_basis, null, p_days_mature, p_annual_basis);
1487: IF (g_proc_level>=g_debug_level) THEN

Line 1488: XTR_RISK_DEBUG_PKG.dlog('fv_ni: ' || 'days to maturity: '||p_days_mature);

1484: END IF;
1485: XTR_CALC_P.calc_days_run_c(p_spot_date, p_maturity_date,
1486: p_day_count_basis, null, p_days_mature, p_annual_basis);
1487: IF (g_proc_level>=g_debug_level) THEN
1488: XTR_RISK_DEBUG_PKG.dlog('fv_ni: ' || 'days to maturity: '||p_days_mature);
1489: END IF;
1490: -- get interest forward rate
1491: p_if_in.p_indicator := 'Y';
1492: p_if_in.p_t := p_days_start;

Line 1502: XTR_RISK_DEBUG_PKG.dlog('fv_ni: ' || '(forward) int rate: '||p_int_rate);

1498: p_int_rate := p_if_out.p_fra_rate;
1499: END IF;
1500:
1501: IF (g_proc_level>=g_debug_level) THEN
1502: XTR_RISK_DEBUG_PKG.dlog('fv_ni: ' || '(forward) int rate: '||p_int_rate);
1503: END IF;
1504:
1505: -- if basis is DISCOUNT, convert yield rate to discount rate
1506: XTR_CALC_P.calc_days_run_c(p_date, p_maturity_date,

Line 1512: XTR_RISK_DEBUG_PKG.dlog('fv_ni: ' || 'int rate w/o margin: '||p_int_rate);

1508: IF (p_discount_basis = 'Y') THEN
1509: XTR_RATE_CONVERSION.yield_to_discount_rate(p_int_rate,
1510: p_days, p_annual_basis, p_int_rate);
1511: IF (g_proc_level>=g_debug_level) THEN
1512: XTR_RISK_DEBUG_PKG.dlog('fv_ni: ' || 'int rate w/o margin: '||p_int_rate);
1513: END IF;
1514: END IF;
1515:
1516: -- add margin on top of yield/discount rate

Line 1520: XTR_RISK_DEBUG_PKG.dlog('fv_ni: ' || 'reval rate with margin: '||p_reval_rate);

1516: -- add margin on top of yield/discount rate
1517: p_reval_rate := p_int_rate + NVL(p_margin, 0)/100;
1518:
1519: IF (g_proc_level>=g_debug_level) THEN
1520: XTR_RISK_DEBUG_PKG.dlog('fv_ni: ' || 'reval rate with margin: '||p_reval_rate);
1521: END IF;
1522: -- if basis is DISCOUNT, convert back to yield rate
1523: IF (p_discount_basis = 'Y') THEN -- 'Y' for yes
1524: -- reval rate now is yield rate

Line 1585: XTR_RISK_DEBUG_PKG.dlog('fv_ni: ' || 'conversion of ACTUAL365');

1581: p_fair_value := p_fair_value * (-1);
1582: END IF;
1583: END IF;
1584: IF (g_proc_level>=g_debug_level) THEN
1585: XTR_RISK_DEBUG_PKG.dlog('fv_ni: ' || 'conversion of ACTUAL365');
1586: END IF;
1587: -- convert reval rate into ACTUAL365
1588: IF (p_day_count_basis <> p_reval_day_count_basis) THEN
1589: IF (p_rate_type = 'Y') THEN

Line 1612: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.fv_ni');

1608: p_reval_rate := p_conv_out.p_rate_out;
1609: END IF;
1610: END IF;
1611: IF (g_proc_level>=g_debug_level) THEN
1612: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.fv_ni');
1613: END IF;
1614: END fv_ni;
1615:
1616:

Line 1664: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.fv_bond');

1660: p_py_out XTR_MM_COVERS.bond_price_yield_out_rec_type;
1661:
1662: BEGIN
1663: IF (g_proc_level>=g_debug_level) THEN
1664: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.fv_bond');
1665: END IF;
1666: IF (p_price_model = 'MARKET') THEN
1667: IF (p_deal_subtype = 'BUY') THEN
1668: p_side := 'B';

Line 1685: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'calling market data api');

1681: p_md_in.p_side := p_side;
1682: p_md_in.p_batch_id := NULL;
1683: p_md_in.p_bond_code := p_bond_code;
1684: IF (g_proc_level>=g_debug_level) THEN
1685: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'calling market data api');
1686: END IF;
1687: XTR_MARKET_DATA_P.get_md_from_set(p_md_in, p_md_out);
1688: IF (g_proc_level>=g_debug_level) THEN
1689: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'returned from market data api');

Line 1689: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'returned from market data api');

1685: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'calling market data api');
1686: END IF;
1687: XTR_MARKET_DATA_P.get_md_from_set(p_md_in, p_md_out);
1688: IF (g_proc_level>=g_debug_level) THEN
1689: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'returned from market data api');
1690: END IF;
1691: p_clean_price_reval := p_md_out.p_md_out;-- clean price as of ref date
1692: IF (g_proc_level>=g_debug_level) THEN
1693: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'bond clean price reval: '||p_clean_price_reval);

Line 1693: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'bond clean price reval: '||p_clean_price_reval);

1689: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'returned from market data api');
1690: END IF;
1691: p_clean_price_reval := p_md_out.p_md_out;-- clean price as of ref date
1692: IF (g_proc_level>=g_debug_level) THEN
1693: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'bond clean price reval: '||p_clean_price_reval);
1694: END IF;
1695:
1696: -- get accrued int per 100
1697: -- accrued interest exists only if coupon already started

Line 1707: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'accrued int per 100: '||p_accrued_interest);

1703: /* bug 2426008
1704: p_accrued_interest := (100*p_coupon_rate*p_days_start)/
1705: (100*p_annual_basis);
1706: IF (g_proc_level>=g_debug_level) THEN
1707: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'accrued int per 100: '||p_accrued_interest);
1708: END IF;
1709: */
1710:
1711:

Line 1714: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'bond issue code: '||p_bond_issue_code);

1710:
1711:
1712: -- p_yield gives us the bond price converted to YTM
1713: IF (g_proc_level>=g_debug_level) THEN
1714: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'bond issue code: '||p_bond_issue_code);
1715: END IF;
1716: p_py_in.p_bond_issue_code := p_bond_issue_code;
1717: p_py_in.p_settlement_date := p_spot_date;
1718: p_py_in.p_ex_cum_next_coupon := p_coupon_action;

Line 1737: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'bond price converted to YTM: '||p_ytm);

1733: -- bug 2426008
1734: p_accrued_interest := p_py_out.p_accrued_interest;
1735:
1736: IF (g_proc_level>=g_debug_level) THEN
1737: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'bond price converted to YTM: '||p_ytm);
1738: END IF;
1739: -- if margin exists, convert bond price to YTM, add margin,
1740: -- then convert sum back to bond price
1741: IF (p_margin IS NOT NULL) THEN

Line 1743: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'bond margin: '||p_margin);

1739: -- if margin exists, convert bond price to YTM, add margin,
1740: -- then convert sum back to bond price
1741: IF (p_margin IS NOT NULL) THEN
1742: IF (g_proc_level>=g_debug_level) THEN
1743: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'bond margin: '||p_margin);
1744: END IF;
1745: p_ytm := p_ytm + p_margin/100;
1746: IF (g_proc_level>=g_debug_level) THEN
1747: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'bond YTM with margin: '||p_ytm);

Line 1747: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'bond YTM with margin: '||p_ytm);

1743: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'bond margin: '||p_margin);
1744: END IF;
1745: p_ytm := p_ytm + p_margin/100;
1746: IF (g_proc_level>=g_debug_level) THEN
1747: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'bond YTM with margin: '||p_ytm);
1748: END IF;
1749:
1750: -- convert everything back to bond price
1751: IF (p_spot_date < p_maturity_date) THEN

Line 1777: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'clean price with margin: '||

1773: XTR_MM_COVERS.calculate_bond_price_yield(p_py_in, p_py_out);
1774: p_clean_price_reval := p_py_out.p_clean_price;
1775:
1776: IF (g_proc_level>=g_debug_level) THEN
1777: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'clean price with margin: '||
1778: p_clean_price_reval);
1779: END IF;
1780: END IF;
1781:

Line 1790: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'final dirty price: '||p_dirty_price);

1786: p_face_value;
1787: p_fair_value := (p_dirty_price/100) * p_face_value;
1788:
1789: IF (g_proc_level>=g_debug_level) THEN
1790: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'final dirty price: '||p_dirty_price);
1791: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'accrued int: '||p_accrued_interest);
1792: END IF;
1793:
1794: IF (p_deal_subtype = 'ISSUE') THEN

Line 1791: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'accrued int: '||p_accrued_interest);

1787: p_fair_value := (p_dirty_price/100) * p_face_value;
1788:
1789: IF (g_proc_level>=g_debug_level) THEN
1790: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'final dirty price: '||p_dirty_price);
1791: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'accrued int: '||p_accrued_interest);
1792: END IF;
1793:
1794: IF (p_deal_subtype = 'ISSUE') THEN
1795: p_fair_value := (-1)*p_fair_value;

Line 1799: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'bond fair value: '||p_fair_value);

1795: p_fair_value := (-1)*p_fair_value;
1796: END IF;
1797:
1798: IF (g_proc_level>=g_debug_level) THEN
1799: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'bond fair value: '||p_fair_value);
1800: END IF;
1801: END IF;
1802: IF (g_proc_level>=g_debug_level) THEN
1803: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.fv_bond');

Line 1803: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.fv_bond');

1799: XTR_RISK_DEBUG_PKG.dlog('fv_bond: ' || 'bond fair value: '||p_fair_value);
1800: END IF;
1801: END IF;
1802: IF (g_proc_level>=g_debug_level) THEN
1803: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.fv_bond');
1804: END IF;
1805: END fv_bond;
1806:
1807:

Line 1894: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.fv_tmm_irs_rtmm.present_value_tmm');

1890: p_present_out XTR_MM_COVERS.presentValue_out_rec_type;
1891:
1892: BEGIN
1893: IF (g_proc_level>=g_debug_level) THEN
1894: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.fv_tmm_irs_rtmm.present_value_tmm');
1895: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'spot date', p_spot_date);
1896: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'start date', p_start_date);
1897: END IF;
1898: XTR_CALC_P.calc_days_run_c(p_spot_date, p_start_date,

Line 1895: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'spot date', p_spot_date);

1891:
1892: BEGIN
1893: IF (g_proc_level>=g_debug_level) THEN
1894: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.fv_tmm_irs_rtmm.present_value_tmm');
1895: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'spot date', p_spot_date);
1896: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'start date', p_start_date);
1897: END IF;
1898: XTR_CALC_P.calc_days_run_c(p_spot_date, p_start_date,
1899: p_day_count_basis, null, p_days1, p_annual_basis);

Line 1896: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'start date', p_start_date);

1892: BEGIN
1893: IF (g_proc_level>=g_debug_level) THEN
1894: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.fv_tmm_irs_rtmm.present_value_tmm');
1895: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'spot date', p_spot_date);
1896: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'start date', p_start_date);
1897: END IF;
1898: XTR_CALC_P.calc_days_run_c(p_spot_date, p_start_date,
1899: p_day_count_basis, null, p_days1, p_annual_basis);
1900: p_md_in.p_md_set_code := p_set_code;

Line 1916: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'future val: '||p_future_val);

1912: XTR_MARKET_DATA_P.get_md_from_set(p_md_in, p_md_out);
1913: p_present_in.p_indicator := 'Y'; -- yield rate
1914: p_present_in.p_future_val := p_future_val;
1915: IF (g_proc_level>=g_debug_level) THEN
1916: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'future val: '||p_future_val);
1917: END IF;
1918: IF (p_bpv = 'Y') THEN
1919: p_present_in.p_rate := p_md_out.p_md_out + 0.01;
1920: ELSE

Line 1924: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'yield rate', p_present_in.p_rate);

1920: ELSE
1921: p_present_in.p_rate := p_md_out.p_md_out;
1922: END IF;
1923: IF (g_proc_level>=g_debug_level) THEN
1924: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'yield rate', p_present_in.p_rate);
1925: END IF;
1926: p_present_in.p_pv_date := p_spot_date;
1927: p_present_in.p_fv_date := p_start_date;
1928: p_present_in.p_day_count_basis := p_day_count_basis;

Line 1930: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'day count basis', p_day_count_basis);

1926: p_present_in.p_pv_date := p_spot_date;
1927: p_present_in.p_fv_date := p_start_date;
1928: p_present_in.p_day_count_basis := p_day_count_basis;
1929: IF (g_proc_level>=g_debug_level) THEN
1930: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'day count basis', p_day_count_basis);
1931: END IF;
1932: IF within_one_year(p_spot_date, p_start_date) THEN
1933: IF (g_proc_level>=g_debug_level) THEN
1934: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'within one year');

Line 1934: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'within one year');

1930: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'day count basis', p_day_count_basis);
1931: END IF;
1932: IF within_one_year(p_spot_date, p_start_date) THEN
1933: IF (g_proc_level>=g_debug_level) THEN
1934: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'within one year');
1935: END IF;
1936: p_present_in.p_rate_type := 'S';
1937: ELSE
1938: IF (g_proc_level>=g_debug_level) THEN

Line 1939: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'greater than one year');

1935: END IF;
1936: p_present_in.p_rate_type := 'S';
1937: ELSE
1938: IF (g_proc_level>=g_debug_level) THEN
1939: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'greater than one year');
1940: END IF;
1941: p_present_in.p_rate_type := 'P';
1942: p_present_in.p_compound_freq := 1;
1943: END IF;

Line 1946: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'present val', p_present_out.p_present_val);

1942: p_present_in.p_compound_freq := 1;
1943: END IF;
1944: XTR_MM_COVERS.present_value(p_present_in, p_present_out);
1945: IF (g_proc_level>=g_debug_level) THEN
1946: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'present val', p_present_out.p_present_val);
1947: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.fv_tmm_irs_rtmm.present_val_tmm');
1948: END IF;
1949: return p_present_out.p_present_val;
1950: END present_val_tmm;

Line 1947: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.fv_tmm_irs_rtmm.present_val_tmm');

1943: END IF;
1944: XTR_MM_COVERS.present_value(p_present_in, p_present_out);
1945: IF (g_proc_level>=g_debug_level) THEN
1946: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'present val', p_present_out.p_present_val);
1947: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.fv_tmm_irs_rtmm.present_val_tmm');
1948: END IF;
1949: return p_present_out.p_present_val;
1950: END present_val_tmm;
1951: BEGIN

Line 1953: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.fv_tmm_irs_rtmm');

1949: return p_present_out.p_present_val;
1950: END present_val_tmm;
1951: BEGIN
1952: IF (g_proc_level>=g_debug_level) THEN
1953: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.fv_tmm_irs_rtmm');
1954: END IF;
1955: IF ((p_maturity_dates.count <> p_length) OR
1956: (p_settle_dates.count <> p_length) OR
1957: (p_principal_actions.count <> p_length) OR

Line 2044: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'FIXED LEG');

2040: p_start_dates(i) <= p_settle_date)
2041: OR (p_deal_type = 'IRS' AND p_initial_basis = 'FIXED')) THEN
2042: -- fixed rate
2043: IF (g_proc_level>=g_debug_level) THEN
2044: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'FIXED LEG');
2045: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'settle date: '||p_settle_date);
2046: END IF;
2047: p_side := 'A';
2048: p_future_val := p_interest_settled(i) + nvl(p_interest_refunds(i),0); -- prepaid interest

Line 2045: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'settle date: '||p_settle_date);

2041: OR (p_deal_type = 'IRS' AND p_initial_basis = 'FIXED')) THEN
2042: -- fixed rate
2043: IF (g_proc_level>=g_debug_level) THEN
2044: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'FIXED LEG');
2045: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'settle date: '||p_settle_date);
2046: END IF;
2047: p_side := 'A';
2048: p_future_val := p_interest_settled(i) + nvl(p_interest_refunds(i),0); -- prepaid interest
2049: p_coupon_rate := p_interest_rates(i);

Line 2051: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'pv future val: '||p_future_val);

2047: p_side := 'A';
2048: p_future_val := p_interest_settled(i) + nvl(p_interest_refunds(i),0); -- prepaid interest
2049: p_coupon_rate := p_interest_rates(i);
2050: IF (g_proc_level>=g_debug_level) THEN
2051: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'pv future val: '||p_future_val);
2052: END IF;
2053:
2054: if p_deal_type = 'RTMM' then -- bug 3436334
2055: p_coupon_cf := present_val_tmm(p_set_code, p_bpv, p_spot_date,

Line 2066: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'FLOATING LEG');

2062: end if;
2063:
2064: ELSE
2065: IF (g_proc_level>=g_debug_level) THEN
2066: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'FLOATING LEG');
2067: END IF;
2068: -- floating rate
2069: IF (g_proc_level>=g_debug_level) THEN
2070: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'spot date: '||p_spot_date);

Line 2070: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'spot date: '||p_spot_date);

2066: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'FLOATING LEG');
2067: END IF;
2068: -- floating rate
2069: IF (g_proc_level>=g_debug_level) THEN
2070: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'spot date: '||p_spot_date);
2071: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'start date: '||p_start_dates(i));
2072: END IF;
2073: IF (p_spot_date >= p_start_dates(i)) THEN
2074: p_coupon_rate := p_interest_rates(i);

Line 2071: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'start date: '||p_start_dates(i));

2067: END IF;
2068: -- floating rate
2069: IF (g_proc_level>=g_debug_level) THEN
2070: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'spot date: '||p_spot_date);
2071: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'start date: '||p_start_dates(i));
2072: END IF;
2073: IF (p_spot_date >= p_start_dates(i)) THEN
2074: p_coupon_rate := p_interest_rates(i);
2075: ELSE

Line 2078: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'transaction no: '||p_transaction_nos(i));

2074: p_coupon_rate := p_interest_rates(i);
2075: ELSE
2076: -- get forward rate
2077: IF (g_proc_level>=g_debug_level) THEN
2078: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'transaction no: '||p_transaction_nos(i));
2079: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'deal_type: '||p_deal_type);
2080: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'calling calculate fwd rate');
2081: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'maturity date is: '||p_maturity_dates(i));
2082: END IF;

Line 2079: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'deal_type: '||p_deal_type);

2075: ELSE
2076: -- get forward rate
2077: IF (g_proc_level>=g_debug_level) THEN
2078: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'transaction no: '||p_transaction_nos(i));
2079: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'deal_type: '||p_deal_type);
2080: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'calling calculate fwd rate');
2081: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'maturity date is: '||p_maturity_dates(i));
2082: END IF;
2083: -- FOR TMM/IRS calc of bpv, need to add 1 BPV to underlying rates

Line 2080: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'calling calculate fwd rate');

2076: -- get forward rate
2077: IF (g_proc_level>=g_debug_level) THEN
2078: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'transaction no: '||p_transaction_nos(i));
2079: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'deal_type: '||p_deal_type);
2080: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'calling calculate fwd rate');
2081: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'maturity date is: '||p_maturity_dates(i));
2082: END IF;
2083: -- FOR TMM/IRS calc of bpv, need to add 1 BPV to underlying rates
2084: p_coupon_rate := calculate_fwd_rate(p_set_code, p_bpv,

Line 2081: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'maturity date is: '||p_maturity_dates(i));

2077: IF (g_proc_level>=g_debug_level) THEN
2078: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'transaction no: '||p_transaction_nos(i));
2079: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'deal_type: '||p_deal_type);
2080: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'calling calculate fwd rate');
2081: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'maturity date is: '||p_maturity_dates(i));
2082: END IF;
2083: -- FOR TMM/IRS calc of bpv, need to add 1 BPV to underlying rates
2084: p_coupon_rate := calculate_fwd_rate(p_set_code, p_bpv,
2085: p_deal_subtype, p_day_count_basis, p_ccy,

Line 2089: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'fwd coupon rate w/o margin: '||p_coupon_rate);

2085: p_deal_subtype, p_day_count_basis, p_ccy,
2086: p_interpolation_method, p_spot_date,
2087: p_start_dates(i), p_maturity_dates(i));
2088: IF (g_proc_level>=g_debug_level) THEN
2089: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'fwd coupon rate w/o margin: '||p_coupon_rate);
2090: END IF;
2091:
2092: p_coupon_rate := p_coupon_rate + NVL(p_margin/100, 0);
2093: END IF;

Line 2096: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'coupon rate w/margin: '||p_coupon_rate);

2092: p_coupon_rate := p_coupon_rate + NVL(p_margin/100, 0);
2093: END IF;
2094:
2095: IF (g_proc_level>=g_debug_level) THEN
2096: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'coupon rate w/margin: '||p_coupon_rate);
2097: END IF;
2098:
2099: p_coupon_int := qrm_calc_interest(p_balance_outs(i),
2100: p_start_dates(i), p_maturity_dates(i), p_coupon_rate,

Line 2103: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'coupon amt: '||p_coupon_int);

2099: p_coupon_int := qrm_calc_interest(p_balance_outs(i),
2100: p_start_dates(i), p_maturity_dates(i), p_coupon_rate,
2101: p_day_count_basis);
2102: IF (g_proc_level>=g_debug_level) THEN
2103: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'coupon amt: '||p_coupon_int);
2104: END IF;
2105:
2106: IF ((p_deal_type IN ('TMM', 'RTMM') and p_settle_term_interests(i) = 'Y')
2107: OR (p_deal_type = 'IRS')) THEN

Line 2125: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int now: '||p_accrued_interest);

2121: ELSE
2122: p_accum_int_sum := p_accum_int_sum + p_coupon_int
2123: + p_accum_interests(i);
2124: IF (g_proc_level>=g_debug_level) THEN
2125: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int now: '||p_accrued_interest);
2126: END IF;
2127: END IF;
2128: END IF; -- ends floating part
2129: END IF; -- end spot date < coupon due on date for prepaid interest

Line 2132: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'pv coupon cf: '||p_coupon_cf);

2128: END IF; -- ends floating part
2129: END IF; -- end spot date < coupon due on date for prepaid interest
2130:
2131: IF (g_proc_level>=g_debug_level) THEN
2132: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'pv coupon cf: '||p_coupon_cf);
2133: END IF;
2134:
2135: p_accrued_interest := 0;
2136: -- calculate interest rate, accrued interest for current transaction

Line 2141: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int balance out: '||p_balance_outs(i));

2137: IF ((p_spot_date >= p_start_dates(i)) AND
2138: (p_spot_date < p_maturity_dates(i))) THEN
2139: p_coupon_rate := p_interest_rates(i);
2140: IF (g_proc_level>=g_debug_level) THEN
2141: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int balance out: '||p_balance_outs(i));
2142: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int start date: '||p_start_dates(i));
2143: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int spot date: '||p_spot_date);
2144: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int coupon rate: '||p_coupon_rate);
2145: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int DCB: '||p_day_count_basis);

Line 2142: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int start date: '||p_start_dates(i));

2138: (p_spot_date < p_maturity_dates(i))) THEN
2139: p_coupon_rate := p_interest_rates(i);
2140: IF (g_proc_level>=g_debug_level) THEN
2141: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int balance out: '||p_balance_outs(i));
2142: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int start date: '||p_start_dates(i));
2143: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int spot date: '||p_spot_date);
2144: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int coupon rate: '||p_coupon_rate);
2145: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int DCB: '||p_day_count_basis);
2146: END IF;

Line 2143: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int spot date: '||p_spot_date);

2139: p_coupon_rate := p_interest_rates(i);
2140: IF (g_proc_level>=g_debug_level) THEN
2141: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int balance out: '||p_balance_outs(i));
2142: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int start date: '||p_start_dates(i));
2143: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int spot date: '||p_spot_date);
2144: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int coupon rate: '||p_coupon_rate);
2145: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int DCB: '||p_day_count_basis);
2146: END IF;
2147: -- accrued interest for TMM/IRS is simple interest

Line 2144: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int coupon rate: '||p_coupon_rate);

2140: IF (g_proc_level>=g_debug_level) THEN
2141: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int balance out: '||p_balance_outs(i));
2142: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int start date: '||p_start_dates(i));
2143: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int spot date: '||p_spot_date);
2144: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int coupon rate: '||p_coupon_rate);
2145: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int DCB: '||p_day_count_basis);
2146: END IF;
2147: -- accrued interest for TMM/IRS is simple interest
2148: -- for RTMM is it fraction of amount due

Line 2145: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int DCB: '||p_day_count_basis);

2141: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int balance out: '||p_balance_outs(i));
2142: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int start date: '||p_start_dates(i));
2143: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int spot date: '||p_spot_date);
2144: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int coupon rate: '||p_coupon_rate);
2145: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int DCB: '||p_day_count_basis);
2146: END IF;
2147: -- accrued interest for TMM/IRS is simple interest
2148: -- for RTMM is it fraction of amount due
2149: IF (p_deal_type = 'RTMM') THEN

Line 2173: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'dcb in : '||p_day_count_basis);

2169: p_accrued_interest := p_accrued_interest + nvl(p_accum_interests_bf(i),0); -- bug 2807340
2170: END IF;
2171: -- transaction rate: int rate converted to Act/365
2172: IF (g_proc_level>=g_debug_level) THEN
2173: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'dcb in : '||p_day_count_basis);
2174: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'start date: '||p_start_dates(i));
2175: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'int rate in: '||p_interest_rates(i));
2176: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'coupon rate in: '||p_coupon_rate);
2177: END IF;

Line 2174: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'start date: '||p_start_dates(i));

2170: END IF;
2171: -- transaction rate: int rate converted to Act/365
2172: IF (g_proc_level>=g_debug_level) THEN
2173: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'dcb in : '||p_day_count_basis);
2174: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'start date: '||p_start_dates(i));
2175: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'int rate in: '||p_interest_rates(i));
2176: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'coupon rate in: '||p_coupon_rate);
2177: END IF;
2178: p_rc_in.p_start_date := p_start_dates(i);

Line 2175: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'int rate in: '||p_interest_rates(i));

2171: -- transaction rate: int rate converted to Act/365
2172: IF (g_proc_level>=g_debug_level) THEN
2173: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'dcb in : '||p_day_count_basis);
2174: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'start date: '||p_start_dates(i));
2175: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'int rate in: '||p_interest_rates(i));
2176: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'coupon rate in: '||p_coupon_rate);
2177: END IF;
2178: p_rc_in.p_start_date := p_start_dates(i);
2179: p_rc_in.p_end_date := p_maturity_dates(i);

Line 2176: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'coupon rate in: '||p_coupon_rate);

2172: IF (g_proc_level>=g_debug_level) THEN
2173: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'dcb in : '||p_day_count_basis);
2174: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'start date: '||p_start_dates(i));
2175: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'int rate in: '||p_interest_rates(i));
2176: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'coupon rate in: '||p_coupon_rate);
2177: END IF;
2178: p_rc_in.p_start_date := p_start_dates(i);
2179: p_rc_in.p_end_date := p_maturity_dates(i);
2180: p_rc_in.p_day_count_basis_in := p_day_count_basis;

Line 2195: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'trans rate: '||p_trans_rate);

2191: p_rc_in.p_rate_in := p_interest_rates(i);
2192: XTR_RATE_CONVERSION.rate_conversion(p_rc_in, p_rc_out);
2193: p_trans_rate := p_rc_out.p_rate_out;
2194: IF (g_proc_level>=g_debug_level) THEN
2195: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'trans rate: '||p_trans_rate);
2196: END IF;
2197: END IF;
2198:
2199: IF (g_proc_level>=g_debug_level) THEN

Line 2200: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'entering pv cashflow');

2196: END IF;
2197: END IF;
2198:
2199: IF (g_proc_level>=g_debug_level) THEN
2200: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'entering pv cashflow');
2201: END IF;
2202: -- output present value of cashflow
2203: IF (g_proc_level>=g_debug_level) THEN
2204: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'principal is: '||p_principal);

Line 2204: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'principal is: '||p_principal);

2200: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'entering pv cashflow');
2201: END IF;
2202: -- output present value of cashflow
2203: IF (g_proc_level>=g_debug_level) THEN
2204: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'principal is: '||p_principal);
2205: END IF;
2206: IF (p_principal <> 0) THEN
2207: p_cf_counter := p_cf_counter + 1;
2208: p_pv_cashflows.EXTEND;

Line 2212: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'spot date: '||p_spot_date);

2208: p_pv_cashflows.EXTEND;
2209: p_pv_cashflows(p_cf_counter) := p_principal;
2210: p_cf_days.EXTEND;
2211: IF (g_proc_level>=g_debug_level) THEN
2212: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'spot date: '||p_spot_date);
2213: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'start date: '||p_start_dates(i));
2214: END IF;
2215: XTR_CALC_P.calc_days_run_c(p_spot_date, p_start_dates(i),
2216: p_day_count_basis, NULL, p_cf_days(p_cf_counter),

Line 2213: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'start date: '||p_start_dates(i));

2209: p_pv_cashflows(p_cf_counter) := p_principal;
2210: p_cf_days.EXTEND;
2211: IF (g_proc_level>=g_debug_level) THEN
2212: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'spot date: '||p_spot_date);
2213: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'start date: '||p_start_dates(i));
2214: END IF;
2215: XTR_CALC_P.calc_days_run_c(p_spot_date, p_start_dates(i),
2216: p_day_count_basis, NULL, p_cf_days(p_cf_counter),
2217: p_annual_basis);

Line 2222: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'pv cashflow: '||p_pv_cashflows(p_cf_counter));

2218: IF (p_deal_subtype = 'FUND') THEN
2219: p_pv_cashflows(p_cf_counter) := (-1)*p_pv_cashflows(p_cf_counter);
2220: END IF;
2221: IF (g_proc_level>=g_debug_level) THEN
2222: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'pv cashflow: '||p_pv_cashflows(p_cf_counter));
2223: END IF;
2224: XTR_RISK_DEBUG_PKG.dlog('day/year ratio: '||p_cf_days(p_cf_counter)/p_annual_basis);
2225: END IF;
2226: IF (p_coupon_cf <> 0) THEN

Line 2224: XTR_RISK_DEBUG_PKG.dlog('day/year ratio: '||p_cf_days(p_cf_counter)/p_annual_basis);

2220: END IF;
2221: IF (g_proc_level>=g_debug_level) THEN
2222: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'pv cashflow: '||p_pv_cashflows(p_cf_counter));
2223: END IF;
2224: XTR_RISK_DEBUG_PKG.dlog('day/year ratio: '||p_cf_days(p_cf_counter)/p_annual_basis);
2225: END IF;
2226: IF (p_coupon_cf <> 0) THEN
2227: p_cf_counter := p_cf_counter + 1;
2228: p_pv_cashflows.EXTEND;

Line 2238: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'pv cashflow: '||p_pv_cashflows(p_cf_counter));

2234: IF (p_deal_subtype = 'FUND') THEN
2235: p_pv_cashflows(p_cf_counter) := (-1)*p_pv_cashflows(p_cf_counter);
2236: END IF;
2237: IF (g_proc_level>=g_debug_level) THEN
2238: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'pv cashflow: '||p_pv_cashflows(p_cf_counter));
2239: END IF;
2240: XTR_RISK_DEBUG_PKG.dlog('day/year ratio: '||p_cf_days(p_cf_counter)/p_annual_basis);
2241: END IF;
2242:

Line 2240: XTR_RISK_DEBUG_PKG.dlog('day/year ratio: '||p_cf_days(p_cf_counter)/p_annual_basis);

2236: END IF;
2237: IF (g_proc_level>=g_debug_level) THEN
2238: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'pv cashflow: '||p_pv_cashflows(p_cf_counter));
2239: END IF;
2240: XTR_RISK_DEBUG_PKG.dlog('day/year ratio: '||p_cf_days(p_cf_counter)/p_annual_basis);
2241: END IF;
2242:
2243: -- QRM does not exclude accrued interest from FV calculation
2244: p_fair_value := p_fair_value + nvl(p_principal,0) + p_coupon_cf;

Line 2246: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int before adding: '||p_accrued_interest);

2242:
2243: -- QRM does not exclude accrued interest from FV calculation
2244: p_fair_value := p_fair_value + nvl(p_principal,0) + p_coupon_cf;
2245: IF (g_proc_level>=g_debug_level) THEN
2246: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int before adding: '||p_accrued_interest);
2247: END IF;
2248: p_accrued_int := p_accrued_int + p_accrued_interest;
2249: IF (g_proc_level>=g_debug_level) THEN
2250: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'interation is: '||i);

Line 2250: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'interation is: '||i);

2246: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'accrued int before adding: '||p_accrued_interest);
2247: END IF;
2248: p_accrued_int := p_accrued_int + p_accrued_interest;
2249: IF (g_proc_level>=g_debug_level) THEN
2250: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'interation is: '||i);
2251: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'temp principal: '||p_principal);
2252: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'temp accrued int: '||p_accrued_interest);
2253: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'temp fair value is: '||p_fair_value);
2254: END IF;

Line 2251: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'temp principal: '||p_principal);

2247: END IF;
2248: p_accrued_int := p_accrued_int + p_accrued_interest;
2249: IF (g_proc_level>=g_debug_level) THEN
2250: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'interation is: '||i);
2251: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'temp principal: '||p_principal);
2252: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'temp accrued int: '||p_accrued_interest);
2253: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'temp fair value is: '||p_fair_value);
2254: END IF;
2255: END LOOP;

Line 2252: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'temp accrued int: '||p_accrued_interest);

2248: p_accrued_int := p_accrued_int + p_accrued_interest;
2249: IF (g_proc_level>=g_debug_level) THEN
2250: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'interation is: '||i);
2251: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'temp principal: '||p_principal);
2252: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'temp accrued int: '||p_accrued_interest);
2253: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'temp fair value is: '||p_fair_value);
2254: END IF;
2255: END LOOP;
2256:

Line 2253: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'temp fair value is: '||p_fair_value);

2249: IF (g_proc_level>=g_debug_level) THEN
2250: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'interation is: '||i);
2251: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'temp principal: '||p_principal);
2252: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'temp accrued int: '||p_accrued_interest);
2253: XTR_RISK_DEBUG_PKG.dlog('fv_tmm_irs_rtmm: ' || 'temp fair value is: '||p_fair_value);
2254: END IF;
2255: END LOOP;
2256:
2257:

Line 2265: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.fv_tmm_irs_rtmm');

2261:
2262: END IF;
2263: END IF;
2264: IF (g_proc_level>=g_debug_level) THEN
2265: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.fv_tmm_irs_rtmm');
2266: END IF;
2267: END fv_tmm_irs_rtmm;
2268:
2269:

Line 2311: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.calculate_accrued_interest');

2307: p_annual_basis NUMBER;
2308: p_accrued_interest NUMBER;
2309: BEGIN
2310: IF (g_proc_level>=g_debug_level) THEN
2311: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_MM_FORMULAS.calculate_accrued_interest');
2312: END IF;
2313: IF (p_start_date <= p_ref_date) THEN
2314: IF (p_indicator='M') THEN
2315: IF (p_maturity_date >= p_ref_date) THEN

Line 2317: XTR_RISK_DEBUG_PKG.dlog('calculate_accrued_interest: ' || 'mat date >= ref date');

2313: IF (p_start_date <= p_ref_date) THEN
2314: IF (p_indicator='M') THEN
2315: IF (p_maturity_date >= p_ref_date) THEN
2316: IF (g_proc_level>=g_debug_level) THEN
2317: XTR_RISK_DEBUG_PKG.dlog('calculate_accrued_interest: ' || 'mat date >= ref date');
2318: END IF;
2319: XTR_CALC_P.calc_days_run_c(trunc(p_start_date),
2320: trunc(p_ref_date), p_day_count_basis, null,
2321: p_day_count,p_annual_basis);

Line 2326: XTR_RISK_DEBUG_PKG.dlog('calculate_accrued_interest: ' || 'mat date <= ref date');

2322: p_accrued_interest := p_interest * (p_day_count / p_no_of_days) +
2323: nvl(p_accum_interest_bf,0);
2324: ELSIF (p_maturity_date <= p_ref_date) THEN
2325: IF (g_proc_level>=g_debug_level) THEN
2326: XTR_RISK_DEBUG_PKG.dlog('calculate_accrued_interest: ' || 'mat date <= ref date');
2327: END IF;
2328: p_accrued_interest := 0;
2329: ELSE
2330: IF (g_proc_level>=g_debug_level) THEN

Line 2331: XTR_RISK_DEBUG_PKG.dlog('calculate_accrued_interest: ' || 'mat date else');

2327: END IF;
2328: p_accrued_interest := 0;
2329: ELSE
2330: IF (g_proc_level>=g_debug_level) THEN
2331: XTR_RISK_DEBUG_PKG.dlog('calculate_accrued_interest: ' || 'mat date else');
2332: END IF;
2333: XTR_CALC_P.calc_days_run_c(trunc(p_start_date),
2334: trunc(p_ref_date), p_day_count_basis, null,
2335: p_day_count,p_annual_basis);

Line 2342: XTR_RISK_DEBUG_PKG.dlog('calculate_accrued_interest: ' || 'to ref date');

2338: nvl(p_accum_interest_bf,0);
2339: END IF;
2340: ELSIF (p_indicator='R') THEN
2341: IF (g_proc_level>=g_debug_level) THEN
2342: XTR_RISK_DEBUG_PKG.dlog('calculate_accrued_interest: ' || 'to ref date');
2343: END IF;
2344: XTR_CALC_P.calc_days_run_c(trunc(p_start_date),
2345: trunc(p_ref_date), p_day_count_basis, null,
2346: p_day_count,p_annual_basis);

Line 2357: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.calculate_accrued_interest');

2353: ELSE
2354: p_accrued_interest := 0;
2355: END IF;
2356: IF (g_proc_level>=g_debug_level) THEN
2357: XTR_RISK_DEBUG_PKG.dpop(null,'QRM_MM_FORMULAS.calculate_accrued_interest');
2358: END IF;
2359: RETURN p_accrued_interest;
2360:
2361: END calculate_accrued_interest;