DBA Data[Home] [Help]

APPS.QRM_MM_FORMULAS dependencies on XTR_RATE_CONVERSION

Line 45: Call XTR_RATE_CONVERSION.rate_conversion to convert day counts and/or between compounded and simple interest rates.

41:
42: Assumption: Annual Basis = 360
43: Continuous interest rate is required
44:
45: Call XTR_RATE_CONVERSION.rate_conversion to convert day counts and/or between compounded and simple interest rates.
46:
47: Calls XTR_MM_FORMULAS.black_option_price to get cumulative normal distribution
48: figures.
49:

Line 92: conv_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;

88: v_vol NUMBER := p_in_rec.p_volatility/100;
89:
90: black_opt_price_in XTR_MM_COVERS.black_opt_cv_in_rec_type;
91: black_opt_price_out XTR_MM_COVERS.black_opt_cv_out_rec_type;
92: conv_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;
93: conv_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;
94:
95: BEGIN
96:

Line 93: conv_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;

89:
90: black_opt_price_in XTR_MM_COVERS.black_opt_cv_in_rec_type;
91: black_opt_price_out XTR_MM_COVERS.black_opt_cv_out_rec_type;
92: conv_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;
93: conv_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;
94:
95: BEGIN
96:
97: IF (g_proc_level>=g_debug_level) THEN --bug 3236479

Line 148: XTR_RATE_CONVERSION.rate_conversion(conv_in,conv_out);

144: conv_in.p_rate_type_in := p_in_rec.p_rate_type_short;
145: conv_in.p_rate_type_out := 'C';
146: conv_in.p_compound_freq_in := p_in_rec.p_compound_freq_short;
147: conv_in.p_rate_in := p_in_rec.p_ir_short;
148: XTR_RATE_CONVERSION.rate_conversion(conv_in,conv_out);
149: v_spot := conv_out.p_rate_out/100;
150: END IF;
151:
152: -- convert strike rate to simple Actual/365 day count basis

Line 163: XTR_RATE_CONVERSION.rate_conversion(conv_in,conv_out);

159: conv_in.p_rate_type_in := p_in_rec.p_rate_type_strike;
160: conv_in.p_rate_type_out := 'S';
161: conv_in.p_compound_freq_in := p_in_rec.p_compound_freq_strike;
162: conv_in.p_rate_in := p_in_rec.p_strike_rate;
163: XTR_RATE_CONVERSION.rate_conversion(conv_in,conv_out);
164: v_ir := conv_out.p_rate_out/100;
165: END IF;
166:
167: IF (g_proc_level>=g_debug_level) THEN

Line 966: p_conv_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;

962: p_fra_in XTR_MM_COVERS.fra_settlement_in_rec_type;
963: p_fra_out XTR_MM_COVERS.fra_settlement_out_rec_type;
964: p_mm_in XTR_MM_COVERS.presentValue_in_rec_type;
965: p_mm_out XTR_MM_COVERS.presentValue_out_rec_type;
966: p_conv_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;
967: p_conv_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;
968:
969: BEGIN
970: IF (g_proc_level>=g_debug_level) THEN

Line 967: p_conv_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;

963: p_fra_out XTR_MM_COVERS.fra_settlement_out_rec_type;
964: p_mm_in XTR_MM_COVERS.presentValue_in_rec_type;
965: p_mm_out XTR_MM_COVERS.presentValue_out_rec_type;
966: p_conv_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;
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');

Line 1111: XTR_RATE_CONVERSION.rate_conversion(p_conv_in, p_conv_out);

1107: p_conv_in.p_compound_freq_in := 1;
1108: p_conv_in.p_compound_freq_out := 1;
1109: END IF;
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;

Line 1149: p_conv_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;

1145: p_md_out xtr_market_data_p.md_from_set_out_rec_type;
1146:
1147: p_black_in XTR_MM_COVERS.black_opt_cv_in_rec_type;
1148: p_black_out XTR_MM_COVERS.black_opt_cv_out_rec_type;
1149: p_conv_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;
1150: p_conv_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;
1151:
1152: p_days1 NUMBER;
1153: p_days2 NUMBER;

Line 1150: p_conv_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;

1146:
1147: p_black_in XTR_MM_COVERS.black_opt_cv_in_rec_type;
1148: p_black_out XTR_MM_COVERS.black_opt_cv_out_rec_type;
1149: p_conv_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;
1150: p_conv_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;
1151:
1152: p_days1 NUMBER;
1153: p_days2 NUMBER;
1154: p_annual_basis1 NUMBER;

Line 1181: XTR_RATE_CONVERSION.rate_conversion(p_conv_in, p_conv_out);

1177: p_conv_in.p_compound_freq_in := 1;
1178: p_conv_in.p_compound_freq_out := 1;
1179: END IF;
1180: p_conv_in.p_rate_in := 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);

Line 1360: XTR_RATE_CONVERSION.rate_conversion(p_conv_in, p_conv_out);

1356: p_conv_in.p_compound_freq_in := 1;
1357: p_conv_in.p_compound_freq_out := 1;
1358: END IF;
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;

Line 1419: p_conv_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;

1415: p_md_in xtr_market_data_p.md_from_set_in_rec_type;
1416: p_md_out xtr_market_data_p.md_from_set_out_rec_type;
1417: p_present_in XTR_MM_COVERS.presentValue_in_rec_type;
1418: p_present_out XTR_MM_COVERS.presentValue_out_rec_type;
1419: p_conv_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;
1420: p_conv_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;
1421: p_if_in XTR_MM_COVERS.int_forw_rate_in_rec_type;
1422: p_if_out XTR_MM_COVERS.int_forw_rate_out_rec_type;
1423:

Line 1420: p_conv_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;

1416: p_md_out xtr_market_data_p.md_from_set_out_rec_type;
1417: p_present_in XTR_MM_COVERS.presentValue_in_rec_type;
1418: p_present_out XTR_MM_COVERS.presentValue_out_rec_type;
1419: p_conv_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;
1420: p_conv_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;
1421: p_if_in XTR_MM_COVERS.int_forw_rate_in_rec_type;
1422: p_if_out XTR_MM_COVERS.int_forw_rate_out_rec_type;
1423:
1424: BEGIN

Line 1509: XTR_RATE_CONVERSION.yield_to_discount_rate(p_int_rate,

1505: -- if basis is DISCOUNT, convert yield rate to discount rate
1506: XTR_CALC_P.calc_days_run_c(p_date, p_maturity_date,
1507: p_day_count_basis, null, p_days, p_annual_basis);
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;

Line 1525: XTR_RATE_CONVERSION.discount_to_yield_rate(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
1525: XTR_RATE_CONVERSION.discount_to_yield_rate(p_reval_rate,
1526: p_days, p_annual_basis, p_reval_rate);
1527: END IF;
1528:
1529: -- calculate present value using yield reval rate

Line 1607: XTR_RATE_CONVERSION.rate_conversion(p_conv_in, p_conv_out);

1603: p_conv_in.p_compound_freq_in := 1;
1604: p_conv_in.p_compound_freq_out := 1;
1605: END IF;
1606: p_conv_in.p_rate_in := p_reval_rate;
1607: XTR_RATE_CONVERSION.rate_conversion(p_conv_in, p_conv_out);
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

Line 1870: p_rc_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;

1866: p_md_in xtr_market_data_p.md_from_set_in_rec_type;
1867: p_md_out xtr_market_data_p.md_from_set_out_rec_type;
1868: p_mm_in XTR_MM_COVERS.int_forw_rate_in_rec_type;
1869: p_mm_out XTR_MM_COVERS.int_forw_rate_out_rec_type;
1870: p_rc_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;
1871: p_rc_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;
1872: p_df_in XTR_RATE_CONVERSION.df_in_rec_type;
1873: p_df_out XTR_RATE_CONVERSION.df_out_rec_type;
1874:

Line 1871: p_rc_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;

1867: p_md_out xtr_market_data_p.md_from_set_out_rec_type;
1868: p_mm_in XTR_MM_COVERS.int_forw_rate_in_rec_type;
1869: p_mm_out XTR_MM_COVERS.int_forw_rate_out_rec_type;
1870: p_rc_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;
1871: p_rc_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;
1872: p_df_in XTR_RATE_CONVERSION.df_in_rec_type;
1873: p_df_out XTR_RATE_CONVERSION.df_out_rec_type;
1874:
1875:

Line 1872: p_df_in XTR_RATE_CONVERSION.df_in_rec_type;

1868: p_mm_in XTR_MM_COVERS.int_forw_rate_in_rec_type;
1869: p_mm_out XTR_MM_COVERS.int_forw_rate_out_rec_type;
1870: p_rc_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;
1871: p_rc_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;
1872: p_df_in XTR_RATE_CONVERSION.df_in_rec_type;
1873: p_df_out XTR_RATE_CONVERSION.df_out_rec_type;
1874:
1875:
1876: FUNCTION present_val_tmm(p_set_code VARCHAR2,

Line 1873: p_df_out XTR_RATE_CONVERSION.df_out_rec_type;

1869: p_mm_out XTR_MM_COVERS.int_forw_rate_out_rec_type;
1870: p_rc_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;
1871: p_rc_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;
1872: p_df_in XTR_RATE_CONVERSION.df_in_rec_type;
1873: p_df_out XTR_RATE_CONVERSION.df_out_rec_type;
1874:
1875:
1876: FUNCTION present_val_tmm(p_set_code VARCHAR2,
1877: p_bpv VARCHAR2,

Line 2192: XTR_RATE_CONVERSION.rate_conversion(p_rc_in, p_rc_out);

2188: p_rc_in.p_compound_freq_in := 1;
2189: p_rc_in.p_compound_freq_out := 1;
2190: END IF;
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;