DBA Data[Home] [Help]

APPS.QRM_FX_FORMULAS dependencies on XTR_FX_FORMULAS

Line 72: p_gk_in XTR_FX_FORMULAS.gk_option_cv_in_rec_type;

68: PROCEDURE FX_GK_OPTION_SENS_CV(p_rec_in IN GK_OPTION_SENS_IN_REC_TYPE,
69: p_rec_out OUT NOCOPY GK_OPTION_SENS_OUT_REC_TYPE)
70: IS
71:
72: p_gk_in XTR_FX_FORMULAS.gk_option_cv_in_rec_type;
73: p_gk_out XTR_FX_FORMULAS.gk_option_cv_out_rec_type;
74: p_conv_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;
75: p_conv_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;
76:

Line 73: p_gk_out XTR_FX_FORMULAS.gk_option_cv_out_rec_type;

69: p_rec_out OUT NOCOPY GK_OPTION_SENS_OUT_REC_TYPE)
70: IS
71:
72: p_gk_in XTR_FX_FORMULAS.gk_option_cv_in_rec_type;
73: p_gk_out XTR_FX_FORMULAS.gk_option_cv_out_rec_type;
74: p_conv_in XTR_RATE_CONVERSION.rate_conv_in_rec_type;
75: p_conv_out XTR_RATE_CONVERSION.rate_conv_out_rec_type;
76:
77: p_day_count NUMBER;

Line 227: -- call XTR_FX_FORMULAS.FX_GK_OPTION_PRICE

223: IF (vol = 0) THEN
224: raise QRM_MM_FORMULAS.e_option_vol_zero;
225: END IF;
226:
227: -- call XTR_FX_FORMULAS.FX_GK_OPTION_PRICE
228: XTR_FX_FORMULAS.FX_GK_OPTION_PRICE(l_days, l_for_int_rate, l_dom_int_rate,
229: l_spot_rate, l_strike_rate, vol, l_call, l_put, l_forward, n_d1,
230: n_d2, n_d1_a, n_d2_a);
231:

Line 228: XTR_FX_FORMULAS.FX_GK_OPTION_PRICE(l_days, l_for_int_rate, l_dom_int_rate,

224: raise QRM_MM_FORMULAS.e_option_vol_zero;
225: END IF;
226:
227: -- call XTR_FX_FORMULAS.FX_GK_OPTION_PRICE
228: XTR_FX_FORMULAS.FX_GK_OPTION_PRICE(l_days, l_for_int_rate, l_dom_int_rate,
229: l_spot_rate, l_strike_rate, vol, l_call, l_put, l_forward, n_d1,
230: n_d2, n_d1_a, n_d2_a);
231:
232: l_delta_call := EXP((-r_f)*t)*n_d1;

Line 369: Calls XTR_FX_FORMULAS.FX_FORWARD_RATE_CV (see def of fx_forward_rate above)

365: Base ASK side = xtr_md_num_table[2],
366: Contra BID side = xtr_md_num_table[3],
367: Contra ASK side = xtr_md_num_table[4])
368:
369: Calls XTR_FX_FORMULAS.FX_FORWARD_RATE_CV (see def of fx_forward_rate above)
370: */
371: FUNCTION FX_FORWARD_RHO(p_out IN VARCHAR2,
372: p_spot_rate_base_bid IN NUMBER,
373: p_spot_rate_base_ask IN NUMBER,

Line 415: v_forward_rate_base:=XTR_FX_FORMULAS.fx_forward_rate_cv(

411: RAISE_APPLICATION_ERROR(-20001,'p_OUT must be ''C'',''B'',or ''D''.');
412: END IF;
413: IF p_out = 'B' or p_out = 'D' THEN
414: -- calculate base base forward rate
415: v_forward_rate_base:=XTR_FX_FORMULAS.fx_forward_rate_cv(
416: p_spot_rate_base_bid,p_spot_rate_base_ask, p_spot_rate_contra_bid,
417: p_spot_rate_contra_ask,p_base_curr_int_rate_bid, p_base_curr_int_rate_ask,
418: p_contra_curr_int_rate_bid, p_contra_curr_int_rate_ask,
419: p_usd_curr_int_rate_bid, p_usd_curr_int_rate_ask, p_day_count_base,

Line 426: v_forward_rate_shifted:=XTR_FX_FORMULAS.fx_forward_rate_cv(

422: p_currency_contra, p_quotation_basis_base, p_quotation_basis_contra);
423:
424: -- calculate shifted base forward rate
425: IF p_currency_base = 'USD' THEN
426: v_forward_rate_shifted:=XTR_FX_FORMULAS.fx_forward_rate_cv(
427: p_spot_rate_base_bid,p_spot_rate_base_ask, p_spot_rate_contra_bid,
428: p_spot_rate_contra_ask,p_base_curr_int_rate_bid,
429: p_base_curr_int_rate_ask, p_contra_curr_int_rate_bid,
430: p_contra_curr_int_rate_ask, p_usd_curr_int_rate_bid+0.01,

Line 436: v_forward_rate_shifted:=XTR_FX_FORMULAS.fx_forward_rate_cv(

432: p_day_count_usd, p_annual_basis_base, p_annual_basis_contra,
433: p_annual_basis_usd, p_currency_base, p_currency_contra,
434: p_quotation_basis_base, p_quotation_basis_contra);
435: ELSE
436: v_forward_rate_shifted:=XTR_FX_FORMULAS.fx_forward_rate_cv(
437: p_spot_rate_base_bid,p_spot_rate_base_ask, p_spot_rate_contra_bid,
438: p_spot_rate_contra_ask,p_base_curr_int_rate_bid+0.01,
439: p_base_curr_int_rate_ask+0.01, p_contra_curr_int_rate_bid,
440: p_contra_curr_int_rate_ask, p_usd_curr_int_rate_bid,

Line 468: v_forward_rate_base:=XTR_FX_FORMULAS.fx_forward_rate_cv(

464: END IF;
465: END IF;
466: IF p_out = 'C'OR p_out = 'D' THEN
467: -- calculate base contra forward rate
468: v_forward_rate_base:=XTR_FX_FORMULAS.fx_forward_rate_cv(
469: p_spot_rate_base_bid,p_spot_rate_base_ask, p_spot_rate_contra_bid,
470: p_spot_rate_contra_ask,p_base_curr_int_rate_bid, p_base_curr_int_rate_ask,
471: p_contra_curr_int_rate_bid, p_contra_curr_int_rate_ask,
472: p_usd_curr_int_rate_bid, p_usd_curr_int_rate_ask, p_day_count_base,

Line 479: v_forward_rate_shifted:=XTR_FX_FORMULAS.fx_forward_rate_cv(

475: p_currency_contra, p_quotation_basis_base, p_quotation_basis_contra);
476:
477: -- calculate shifted contra forward rate
478: IF p_currency_contra = 'USD' THEN
479: v_forward_rate_shifted:=XTR_FX_FORMULAS.fx_forward_rate_cv(
480: p_spot_rate_base_bid,p_spot_rate_base_ask, p_spot_rate_contra_bid,
481: p_spot_rate_contra_ask,p_base_curr_int_rate_bid, p_base_curr_int_rate_ask
482: , p_contra_curr_int_rate_bid, p_contra_curr_int_rate_ask,
483: p_usd_curr_int_rate_bid+0.01, p_usd_curr_int_rate_ask+0.01,

Line 489: v_forward_rate_shifted:=XTR_FX_FORMULAS.fx_forward_rate_cv(

485: p_annual_basis_base, p_annual_basis_contra, p_annual_basis_usd,
486: p_currency_base, p_currency_contra, p_quotation_basis_base,
487: p_quotation_basis_contra);
488: ELSE
489: v_forward_rate_shifted:=XTR_FX_FORMULAS.fx_forward_rate_cv(
490: p_spot_rate_base_bid,p_spot_rate_base_ask, p_spot_rate_contra_bid,
491: p_spot_rate_contra_ask,p_base_curr_int_rate_bid, p_base_curr_int_rate_ask
492: , p_contra_curr_int_rate_bid+0.01, p_contra_curr_int_rate_ask+0.01,
493: p_usd_curr_int_rate_bid, p_usd_curr_int_rate_ask, p_day_count_base,

Line 614: p_fx_in XTR_FX_FORMULAS.GK_OPTION_CV_IN_REC_TYPE;

610: p_md_in xtr_market_data_p.md_from_set_in_rec_type;
611: p_md_out xtr_market_data_p.md_from_set_out_rec_type;
612: p_conv_in XTR_RATE_CONVERSION.RATE_CONV_IN_REC_TYPE;
613: p_conv_out XTR_RATE_CONVERSION.RATE_CONV_OUT_REC_TYPE;
614: p_fx_in XTR_FX_FORMULAS.GK_OPTION_CV_IN_REC_TYPE;
615: p_fx_out XTR_FX_FORMULAS.GK_OPTION_CV_OUT_REC_TYPE;
616:
617: BEGIN
618: IF (g_proc_level>=g_debug_level) THEN

Line 615: p_fx_out XTR_FX_FORMULAS.GK_OPTION_CV_OUT_REC_TYPE;

611: p_md_out xtr_market_data_p.md_from_set_out_rec_type;
612: p_conv_in XTR_RATE_CONVERSION.RATE_CONV_IN_REC_TYPE;
613: p_conv_out XTR_RATE_CONVERSION.RATE_CONV_OUT_REC_TYPE;
614: p_fx_in XTR_FX_FORMULAS.GK_OPTION_CV_IN_REC_TYPE;
615: p_fx_out XTR_FX_FORMULAS.GK_OPTION_CV_OUT_REC_TYPE;
616:
617: BEGIN
618: IF (g_proc_level>=g_debug_level) THEN
619: XTR_RISK_DEBUG_PKG.dpush(null,'QRM_FX_FROMULAS.FV_FXO');

Line 767: XTR_FX_FORMULAS.fx_gk_option_price_cv(p_fx_in, p_fx_out);

763: XTR_RISK_DEBUG_PKG.dlog('fv_fxo: ' || 'GK strike rate: '||p_fx_in.p_strike_rate);
764: XTR_RISK_DEBUG_PKG.dlog('fv_fxo: ' || 'GK volatility: '||p_fx_in.p_volatility);
765: END IF;
766:
767: XTR_FX_FORMULAS.fx_gk_option_price_cv(p_fx_in, p_fx_out);
768: p_call_price := p_fx_out.p_CALL_PRICE;
769: p_put_price := p_fx_out.p_PUT_PRICE;
770: p_forward_rate := p_fx_out.p_fx_fwd_rate;
771: IF (p_for_ccy <> p_base_ccy) THEN

Line 932: XTR_FX_FORMULAS.fx_forward_rate(p_spot_rate, p_base_yield_rate,

928: XTR_RISK_DEBUG_PKG.dlog('fv_fx: ' || 'contra int rate: ' || p_contra_yield_rate);
929: END IF;
930:
931: -- get fx forward rate (immature deal)
932: XTR_FX_FORMULAS.fx_forward_rate(p_spot_rate, p_base_yield_rate,
933: p_contra_yield_rate, p_num_days, p_num_days, p_year_basis,
934: p_year_basis,p_forward_rate);
935: IF (g_proc_level>=g_debug_level) THEN
936: XTR_RISK_DEBUG_PKG.dlog('fv_fx: ' || 'forward rate: ' || p_forward_rate);

Line 971: XTR_FX_FORMULAS.fx_forward_rate(p_sob_spot_rate,

967: XTR_RISK_DEBUG_PKG.dlog('fv_fx: ' || 'sob spot rate: '||p_sob_spot_rate);
968: END IF;
969:
970: -- calculate fx forward rate from contra to sob ccy
971: XTR_FX_FORMULAS.fx_forward_rate(p_sob_spot_rate,
972: p_contra_yield_rate, p_sob_yield_rate, p_num_days,
973: p_num_days, p_year_basis, p_year_basis, p_sob_forward_rate);
974: IF (g_proc_level>=g_debug_level) THEN
975: XTR_RISK_DEBUG_PKG.dlog('fv_fx: ' || 'sob forward rate: '||p_sob_forward_rate);