DBA Data[Home] [Help]

APPS.QRM_CALCULATORS_P dependencies on QRM_MM_FORMULAS

Line 94: p_duration := qrm_mm_formulas.duration(v_pvc,v_days,v_ann_basis);

90: v_pvc.EXTEND;
91: v_days.EXTEND;
92: v_pvc(1) := 1;
93: v_days(1) := v_day_count;
94: p_duration := qrm_mm_formulas.duration(v_pvc,v_days,v_ann_basis);
95: --calc Mod Dur, first we need yield rate
96: IF (p_rate_type <> 'Y') THEN
97: v_yield := p_conv_rate;
98: ELSE

Line 102: p_mod_dur := qrm_mm_formulas.mod_duration(p_duration,v_yield,1);

98: ELSE
99: v_yield := p_rate;
100: END IF;
101: --xtr_risk_debug_pkg.dlog('p_rate_type',p_rate_type);
102: p_mod_dur := qrm_mm_formulas.mod_duration(p_duration,v_yield,1);
103: --calc BPV Yield and Discount
104: p_bpv_y := qrm_mm_formulas.bpv_yr(p_consideration,p_mod_dur);
105: p_bpv_d := qrm_mm_formulas.ni_bpv_dr(p_mat_amt,v_day_count,v_ann_basis);
106: --calc Dollar Duration for Yield and Discount

Line 104: p_bpv_y := qrm_mm_formulas.bpv_yr(p_consideration,p_mod_dur);

100: END IF;
101: --xtr_risk_debug_pkg.dlog('p_rate_type',p_rate_type);
102: p_mod_dur := qrm_mm_formulas.mod_duration(p_duration,v_yield,1);
103: --calc BPV Yield and Discount
104: p_bpv_y := qrm_mm_formulas.bpv_yr(p_consideration,p_mod_dur);
105: p_bpv_d := qrm_mm_formulas.ni_bpv_dr(p_mat_amt,v_day_count,v_ann_basis);
106: --calc Dollar Duration for Yield and Discount
107: p_dol_dur_y := qrm_mm_formulas.ni_delta_bpv('DOLLAR',p_bpv_y);
108: p_dol_dur_d := qrm_mm_formulas.ni_delta_bpv('DOLLAR',p_bpv_d);

Line 105: p_bpv_d := qrm_mm_formulas.ni_bpv_dr(p_mat_amt,v_day_count,v_ann_basis);

101: --xtr_risk_debug_pkg.dlog('p_rate_type',p_rate_type);
102: p_mod_dur := qrm_mm_formulas.mod_duration(p_duration,v_yield,1);
103: --calc BPV Yield and Discount
104: p_bpv_y := qrm_mm_formulas.bpv_yr(p_consideration,p_mod_dur);
105: p_bpv_d := qrm_mm_formulas.ni_bpv_dr(p_mat_amt,v_day_count,v_ann_basis);
106: --calc Dollar Duration for Yield and Discount
107: p_dol_dur_y := qrm_mm_formulas.ni_delta_bpv('DOLLAR',p_bpv_y);
108: p_dol_dur_d := qrm_mm_formulas.ni_delta_bpv('DOLLAR',p_bpv_d);
109: --calc convexity

Line 107: p_dol_dur_y := qrm_mm_formulas.ni_delta_bpv('DOLLAR',p_bpv_y);

103: --calc BPV Yield and Discount
104: p_bpv_y := qrm_mm_formulas.bpv_yr(p_consideration,p_mod_dur);
105: p_bpv_d := qrm_mm_formulas.ni_bpv_dr(p_mat_amt,v_day_count,v_ann_basis);
106: --calc Dollar Duration for Yield and Discount
107: p_dol_dur_y := qrm_mm_formulas.ni_delta_bpv('DOLLAR',p_bpv_y);
108: p_dol_dur_d := qrm_mm_formulas.ni_delta_bpv('DOLLAR',p_bpv_d);
109: --calc convexity
110: p_convexity := qrm_mm_formulas.ni_fra_convexity(v_day_count,v_yield,v_ann_basis);
111:

Line 108: p_dol_dur_d := qrm_mm_formulas.ni_delta_bpv('DOLLAR',p_bpv_d);

104: p_bpv_y := qrm_mm_formulas.bpv_yr(p_consideration,p_mod_dur);
105: p_bpv_d := qrm_mm_formulas.ni_bpv_dr(p_mat_amt,v_day_count,v_ann_basis);
106: --calc Dollar Duration for Yield and Discount
107: p_dol_dur_y := qrm_mm_formulas.ni_delta_bpv('DOLLAR',p_bpv_y);
108: p_dol_dur_d := qrm_mm_formulas.ni_delta_bpv('DOLLAR',p_bpv_d);
109: --calc convexity
110: p_convexity := qrm_mm_formulas.ni_fra_convexity(v_day_count,v_yield,v_ann_basis);
111:
112: --if currency is null defaults value to XTR Reporting Curr.

Line 110: p_convexity := qrm_mm_formulas.ni_fra_convexity(v_day_count,v_yield,v_ann_basis);

106: --calc Dollar Duration for Yield and Discount
107: p_dol_dur_y := qrm_mm_formulas.ni_delta_bpv('DOLLAR',p_bpv_y);
108: p_dol_dur_d := qrm_mm_formulas.ni_delta_bpv('DOLLAR',p_bpv_d);
109: --calc convexity
110: p_convexity := qrm_mm_formulas.ni_fra_convexity(v_day_count,v_yield,v_ann_basis);
111:
112: --if currency is null defaults value to XTR Reporting Curr.
113: IF (p_ccy IS NULL) THEN
114: SELECT param_value INTO p_ccy

Line 2286: p_duration:=QRM_MM_FORMULAS.duration(v_pvc_array,v_days_array,v_year_count);

2282: v_days_array.extend;
2283: v_days_array(1):=v_spot_settlement;
2284: v_pvc_array.extend;
2285: v_pvc_array(1):=1;
2286: p_duration:=QRM_MM_FORMULAS.duration(v_pvc_array,v_days_array,v_year_count);
2287: IF (g_proc_level>=g_debug_level) THEN
2288: xtr_risk_debug_pkg.dlog('fra_settlement: ' || 'year count',v_year_count);
2289: xtr_risk_debug_pkg.dlog('fra_settlement: ' || 'duration',p_duration);
2290: END IF;

Line 2292: p_convexity:=QRM_MM_FORMULAS.ni_fra_convexity(v_spot_settlement,

2288: xtr_risk_debug_pkg.dlog('fra_settlement: ' || 'year count',v_year_count);
2289: xtr_risk_debug_pkg.dlog('fra_settlement: ' || 'duration',p_duration);
2290: END IF;
2291: --secondly, calculate convexity
2292: p_convexity:=QRM_MM_FORMULAS.ni_fra_convexity(v_spot_settlement,
2293: p_settlement_rate,v_year_count);
2294: IF (g_proc_level>=g_debug_level) THEN
2295: xtr_risk_debug_pkg.dlog('fra_settlement: ' || 'settlement rate',p_settlement_rate);
2296: xtr_risk_debug_pkg.dlog('fra_settlement: ' || 'convexity',p_convexity);

Line 2302: p_basis_point_value:=QRM_MM_FORMULAS.bpv(p_settlement_amount,

2298: -- lastly, calculate bpv
2299: --calculate shifted settlement
2300: v_fra_rec_in.p_settlement_rate:=p_settlement_rate+0.01;
2301: XTR_MM_COVERS.fra_settlement_amount(v_fra_rec_in,v_fra_rec_out);
2302: p_basis_point_value:=QRM_MM_FORMULAS.bpv(p_settlement_amount,
2303: v_fra_rec_out.p_settlement_amount);
2304: IF (g_proc_level>=g_debug_level) THEN
2305: xtr_risk_debug_pkg.dlog('fra_settlement: ' || 'shifted',v_fra_rec_out.p_settlement_amount);
2306: xtr_risk_debug_pkg.dlog('fra_settlement: ' || 'base',p_settlement_amount);

Line 3051: p_res_impl_vol := QRM_MM_FORMULAS.calculate_implied_volatility('FXO', p_spot_date, p_exp_date, p_interest_rates, p_day_count_bases, p_rate_types, p_compound_freq, p_spot_rate, p_strike_price, p_implied_vol_price, p_option_indicator, null, null);

3047:
3048:
3049:
3050:
3051: p_res_impl_vol := QRM_MM_FORMULAS.calculate_implied_volatility('FXO', p_spot_date, p_exp_date, p_interest_rates, p_day_count_bases, p_rate_types, p_compound_freq, p_spot_rate, p_strike_price, p_implied_vol_price, p_option_indicator, null, null);
3052:
3053:
3054:
3055: p_vol_ask:=p_res_impl_vol;

Line 3951: WHEN QRM_MM_FORMULAS.e_exceed_vol_upper_bound THEN

3947: xtr_risk_debug_pkg.dlog('EXCEPTION','E_NO_SPOT_RATES',
3948: 'QRM_CALCULATORS_P.FXO_CALCULATOR',G_ERROR_LEVEL);
3949: END IF;
3950: fnd_msg_pub.add;
3951: WHEN QRM_MM_FORMULAS.e_exceed_vol_upper_bound THEN
3952: IF (g_ERROR_level>=g_debug_level) THEN --BUG 3236479
3953: xtr_risk_debug_pkg.dlog('EXCEPTION','E_EXCEED_VOL_UPPER_BOUND',
3954: 'QRM_CALCULATORS_P.FXO_CALCULATOR',G_ERROR_LEVEL);
3955: END IF;