334: v_extensive BOOLEAN := FALSE;
335: v_ann_basis NUMBER;
336: v_day_count NUMBER;
337: BEGIN
338: -- xtr_risk_debug_pkg.dpush('XTR_MM_COVERS.FUTURE_VALUE');
339:
340: --Determine whether p_compounding_freq is necessary
341: IF p_in_rec.p_rate_type='P' THEN
342: v_cf_necessary := TRUE;
438: 'or ''D'' or ''DR''.');
439:
440: END IF;
441:
442: -- xtr_risk_debug_pkg.dpop('XTR_MM_COVERS.FUTURE_VALUE');
443:
444: END future_value;
445:
446:
497: v_extensive BOOLEAN := FALSE;
498: v_day_count NUMBER;
499: v_ann_basis NUMBER;
500: BEGIN
501: IF xtr_risk_debug_pkg.g_Debug THEN
502: xtr_risk_debug_pkg.dpush('XTR_MM_COVERS.PRESENT_VALUE');
503: END IF;
504:
505: --Determine whether p_compounding_freq is necessary
498: v_day_count NUMBER;
499: v_ann_basis NUMBER;
500: BEGIN
501: IF xtr_risk_debug_pkg.g_Debug THEN
502: xtr_risk_debug_pkg.dpush('XTR_MM_COVERS.PRESENT_VALUE');
503: END IF;
504:
505: --Determine whether p_compounding_freq is necessary
506: IF p_in_rec.p_rate_type='P' THEN
617: RAISE_APPLICATION_ERROR(-20001, 'The indicator should be either ''Y'' '||
618: 'or ''D'' or ''DR''.');
619: END IF;
620:
621: IF xtr_risk_debug_pkg.g_Debug THEN
622: xtr_risk_debug_pkg.dpop('XTR_MM_COVERS.PRESENT_VALUE');
623: END IF;
624:
625: END present_value;
618: 'or ''D'' or ''DR''.');
619: END IF;
620:
621: IF xtr_risk_debug_pkg.g_Debug THEN
622: xtr_risk_debug_pkg.dpop('XTR_MM_COVERS.PRESENT_VALUE');
623: END IF;
624:
625: END present_value;
626:
741: v_df_in xtr_rate_conversion.df_in_rec_type;
742: v_df_out xtr_rate_conversion.df_out_rec_type;
743:
744: BEGIN
745: IF xtr_risk_debug_pkg.g_Debug THEN
746: xtr_risk_debug_pkg.dpush('XTR_MM_COVERS.INTEREST_FORWARD_RATE');
747: END IF;
748:
749: IF (p_in_rec.p_indicator IN ('D','d')) THEN
742: v_df_out xtr_rate_conversion.df_out_rec_type;
743:
744: BEGIN
745: IF xtr_risk_debug_pkg.g_Debug THEN
746: xtr_risk_debug_pkg.dpush('XTR_MM_COVERS.INTEREST_FORWARD_RATE');
747: END IF;
748:
749: IF (p_in_rec.p_indicator IN ('D','d')) THEN
750: xtr_mm_formulas.fra_price_df(p_in_rec.p_t, p_in_rec.p_T1,
758: v_df_in.p_day_count := p_in_rec.p_t;
759: v_df_in.p_annual_basis := p_in_rec.p_year_basis;
760: xtr_rate_conversion.discount_factor_conv(v_df_in, v_df_out);
761: v_rate_short := v_df_out.p_result;
762: IF xtr_risk_debug_pkg.g_Debug THEN
763: xtr_risk_debug_pkg.dlog('interest_forward_rate: ' || 'v_rate_short',v_rate_short);
764: END IF;
765: --convert the second rate: spot to maturity date rate
766: v_df_in.p_rate := p_in_rec.p_RT1;
759: v_df_in.p_annual_basis := p_in_rec.p_year_basis;
760: xtr_rate_conversion.discount_factor_conv(v_df_in, v_df_out);
761: v_rate_short := v_df_out.p_result;
762: IF xtr_risk_debug_pkg.g_Debug THEN
763: xtr_risk_debug_pkg.dlog('interest_forward_rate: ' || 'v_rate_short',v_rate_short);
764: END IF;
765: --convert the second rate: spot to maturity date rate
766: v_df_in.p_rate := p_in_rec.p_RT1;
767: v_df_in.p_day_count := p_in_rec.p_T1;
767: v_df_in.p_day_count := p_in_rec.p_T1;
768: v_df_in.p_annual_basis := p_in_rec.p_year_basis;
769: xtr_rate_conversion.discount_factor_conv(v_df_in, v_df_out);
770: v_rate_long := v_df_out.p_result;
771: IF xtr_risk_debug_pkg.g_Debug THEN
772: xtr_risk_debug_pkg.dlog('interest_forward_rate: ' || 'v_rate_long',v_rate_long);
773: END IF;
774: xtr_mm_formulas.fra_price_df(p_in_rec.p_t, p_in_rec.p_T1,
775: v_rate_short, v_rate_long,
768: v_df_in.p_annual_basis := p_in_rec.p_year_basis;
769: xtr_rate_conversion.discount_factor_conv(v_df_in, v_df_out);
770: v_rate_long := v_df_out.p_result;
771: IF xtr_risk_debug_pkg.g_Debug THEN
772: xtr_risk_debug_pkg.dlog('interest_forward_rate: ' || 'v_rate_long',v_rate_long);
773: END IF;
774: xtr_mm_formulas.fra_price_df(p_in_rec.p_t, p_in_rec.p_T1,
775: v_rate_short, v_rate_long,
776: p_in_rec.p_year_basis, p_out_rec.p_fra_rate);
779: RAISE_APPLICATION_ERROR(-20001, 'The indicator should be either ''Y'' '||
780: 'or ''D''.');
781: END IF;
782:
783: IF xtr_risk_debug_pkg.g_Debug THEN
784: xtr_risk_debug_pkg.dpop('XTR_MM_COVERS.INTEREST_FORWARD_RATE');
785: END IF;
786: END interest_forward_rate;
787:
780: 'or ''D''.');
781: END IF;
782:
783: IF xtr_risk_debug_pkg.g_Debug THEN
784: xtr_risk_debug_pkg.dpop('XTR_MM_COVERS.INTEREST_FORWARD_RATE');
785: END IF;
786: END interest_forward_rate;
787:
788:
856: v_dummy NUMBER;
857: v_strike NUMBER;
858:
859: BEGIN
860: IF xtr_risk_debug_pkg.g_Debug THEN
861: xtr_risk_debug_pkg.dpush('XTR_MM_COVERS.BLACK_OPTION_PRICE_CV');
862: END IF;
863:
864: --we want all rates to be Actual/365 output to find the forward rate
857: v_strike NUMBER;
858:
859: BEGIN
860: IF xtr_risk_debug_pkg.g_Debug THEN
861: xtr_risk_debug_pkg.dpush('XTR_MM_COVERS.BLACK_OPTION_PRICE_CV');
862: END IF;
863:
864: --we want all rates to be Actual/365 output to find the forward rate
865: v_rc_in.p_day_count_basis_out := 'ACTUAL365'; -- bug 3509267
871: v_rc_in.p_start_date := p_in_rec.p_spot_date;
872: v_rc_in.p_end_date := p_in_rec.p_start_date;
873: v_rc_in.p_compound_freq_in := p_in_rec.p_compound_freq_short;
874:
875: IF xtr_risk_debug_pkg.g_Debug THEN
876: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Start Date',v_rc_in.p_start_date);
877: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short End Date',v_rc_in.p_end_date);
878: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short DCB IN',v_rc_in.p_day_count_basis_in);
879: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short DCB OUT',v_rc_in.p_day_count_basis_out);
872: v_rc_in.p_end_date := p_in_rec.p_start_date;
873: v_rc_in.p_compound_freq_in := p_in_rec.p_compound_freq_short;
874:
875: IF xtr_risk_debug_pkg.g_Debug THEN
876: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Start Date',v_rc_in.p_start_date);
877: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short End Date',v_rc_in.p_end_date);
878: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short DCB IN',v_rc_in.p_day_count_basis_in);
879: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short DCB OUT',v_rc_in.p_day_count_basis_out);
880: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate Type IN',v_rc_in.p_rate_type_in);
873: v_rc_in.p_compound_freq_in := p_in_rec.p_compound_freq_short;
874:
875: IF xtr_risk_debug_pkg.g_Debug THEN
876: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Start Date',v_rc_in.p_start_date);
877: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short End Date',v_rc_in.p_end_date);
878: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short DCB IN',v_rc_in.p_day_count_basis_in);
879: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short DCB OUT',v_rc_in.p_day_count_basis_out);
880: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate Type IN',v_rc_in.p_rate_type_in);
881: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate Type OUT',v_rc_in.p_rate_type_out);
874:
875: IF xtr_risk_debug_pkg.g_Debug THEN
876: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Start Date',v_rc_in.p_start_date);
877: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short End Date',v_rc_in.p_end_date);
878: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short DCB IN',v_rc_in.p_day_count_basis_in);
879: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short DCB OUT',v_rc_in.p_day_count_basis_out);
880: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate Type IN',v_rc_in.p_rate_type_in);
881: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate Type OUT',v_rc_in.p_rate_type_out);
882: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Compound Freq IN',v_rc_in.p_compound_freq_in);
875: IF xtr_risk_debug_pkg.g_Debug THEN
876: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Start Date',v_rc_in.p_start_date);
877: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short End Date',v_rc_in.p_end_date);
878: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short DCB IN',v_rc_in.p_day_count_basis_in);
879: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short DCB OUT',v_rc_in.p_day_count_basis_out);
880: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate Type IN',v_rc_in.p_rate_type_in);
881: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate Type OUT',v_rc_in.p_rate_type_out);
882: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Compound Freq IN',v_rc_in.p_compound_freq_in);
883: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Compound Freq OUT',v_rc_in.p_compound_freq_out);
876: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Start Date',v_rc_in.p_start_date);
877: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short End Date',v_rc_in.p_end_date);
878: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short DCB IN',v_rc_in.p_day_count_basis_in);
879: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short DCB OUT',v_rc_in.p_day_count_basis_out);
880: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate Type IN',v_rc_in.p_rate_type_in);
881: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate Type OUT',v_rc_in.p_rate_type_out);
882: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Compound Freq IN',v_rc_in.p_compound_freq_in);
883: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Compound Freq OUT',v_rc_in.p_compound_freq_out);
884: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate IN',v_rc_in.p_rate_in);
877: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short End Date',v_rc_in.p_end_date);
878: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short DCB IN',v_rc_in.p_day_count_basis_in);
879: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short DCB OUT',v_rc_in.p_day_count_basis_out);
880: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate Type IN',v_rc_in.p_rate_type_in);
881: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate Type OUT',v_rc_in.p_rate_type_out);
882: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Compound Freq IN',v_rc_in.p_compound_freq_in);
883: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Compound Freq OUT',v_rc_in.p_compound_freq_out);
884: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate IN',v_rc_in.p_rate_in);
885: END IF;
878: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short DCB IN',v_rc_in.p_day_count_basis_in);
879: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short DCB OUT',v_rc_in.p_day_count_basis_out);
880: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate Type IN',v_rc_in.p_rate_type_in);
881: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate Type OUT',v_rc_in.p_rate_type_out);
882: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Compound Freq IN',v_rc_in.p_compound_freq_in);
883: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Compound Freq OUT',v_rc_in.p_compound_freq_out);
884: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate IN',v_rc_in.p_rate_in);
885: END IF;
886:
879: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short DCB OUT',v_rc_in.p_day_count_basis_out);
880: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate Type IN',v_rc_in.p_rate_type_in);
881: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate Type OUT',v_rc_in.p_rate_type_out);
882: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Compound Freq IN',v_rc_in.p_compound_freq_in);
883: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Compound Freq OUT',v_rc_in.p_compound_freq_out);
884: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate IN',v_rc_in.p_rate_in);
885: END IF;
886:
887: xtr_rate_conversion.rate_conv_simple_annualized(v_rc_in, v_rc_out);
880: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate Type IN',v_rc_in.p_rate_type_in);
881: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate Type OUT',v_rc_in.p_rate_type_out);
882: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Compound Freq IN',v_rc_in.p_compound_freq_in);
883: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Compound Freq OUT',v_rc_in.p_compound_freq_out);
884: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Short Rate IN',v_rc_in.p_rate_in);
885: END IF;
886:
887: xtr_rate_conversion.rate_conv_simple_annualized(v_rc_in, v_rc_out);
888: v_fr_in.p_Rt := v_rc_out.p_rate_out;
894: v_rc_in.p_start_date := p_in_rec.p_spot_date;
895: v_rc_in.p_end_date := p_in_rec.p_maturity_date;
896: v_rc_in.p_compound_freq_in := p_in_rec.p_compound_freq_long;
897:
898: IF xtr_risk_debug_pkg.g_Debug THEN
899: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Start Date',v_rc_in.p_start_date);
900: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long End Date',v_rc_in.p_end_date);
901: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long DCB IN',v_rc_in.p_day_count_basis_in);
902: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long DCB OUT',v_rc_in.p_day_count_basis_out);
895: v_rc_in.p_end_date := p_in_rec.p_maturity_date;
896: v_rc_in.p_compound_freq_in := p_in_rec.p_compound_freq_long;
897:
898: IF xtr_risk_debug_pkg.g_Debug THEN
899: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Start Date',v_rc_in.p_start_date);
900: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long End Date',v_rc_in.p_end_date);
901: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long DCB IN',v_rc_in.p_day_count_basis_in);
902: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long DCB OUT',v_rc_in.p_day_count_basis_out);
903: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate Type IN',v_rc_in.p_rate_type_in);
896: v_rc_in.p_compound_freq_in := p_in_rec.p_compound_freq_long;
897:
898: IF xtr_risk_debug_pkg.g_Debug THEN
899: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Start Date',v_rc_in.p_start_date);
900: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long End Date',v_rc_in.p_end_date);
901: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long DCB IN',v_rc_in.p_day_count_basis_in);
902: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long DCB OUT',v_rc_in.p_day_count_basis_out);
903: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate Type IN',v_rc_in.p_rate_type_in);
904: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate Type OUT',v_rc_in.p_rate_type_out);
897:
898: IF xtr_risk_debug_pkg.g_Debug THEN
899: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Start Date',v_rc_in.p_start_date);
900: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long End Date',v_rc_in.p_end_date);
901: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long DCB IN',v_rc_in.p_day_count_basis_in);
902: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long DCB OUT',v_rc_in.p_day_count_basis_out);
903: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate Type IN',v_rc_in.p_rate_type_in);
904: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate Type OUT',v_rc_in.p_rate_type_out);
905: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Compound Freq IN',v_rc_in.p_compound_freq_in);
898: IF xtr_risk_debug_pkg.g_Debug THEN
899: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Start Date',v_rc_in.p_start_date);
900: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long End Date',v_rc_in.p_end_date);
901: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long DCB IN',v_rc_in.p_day_count_basis_in);
902: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long DCB OUT',v_rc_in.p_day_count_basis_out);
903: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate Type IN',v_rc_in.p_rate_type_in);
904: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate Type OUT',v_rc_in.p_rate_type_out);
905: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Compound Freq IN',v_rc_in.p_compound_freq_in);
906: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Compound Freq OUT',v_rc_in.p_compound_freq_out);
899: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Start Date',v_rc_in.p_start_date);
900: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long End Date',v_rc_in.p_end_date);
901: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long DCB IN',v_rc_in.p_day_count_basis_in);
902: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long DCB OUT',v_rc_in.p_day_count_basis_out);
903: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate Type IN',v_rc_in.p_rate_type_in);
904: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate Type OUT',v_rc_in.p_rate_type_out);
905: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Compound Freq IN',v_rc_in.p_compound_freq_in);
906: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Compound Freq OUT',v_rc_in.p_compound_freq_out);
907: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate IN',v_rc_in.p_rate_in);
900: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long End Date',v_rc_in.p_end_date);
901: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long DCB IN',v_rc_in.p_day_count_basis_in);
902: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long DCB OUT',v_rc_in.p_day_count_basis_out);
903: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate Type IN',v_rc_in.p_rate_type_in);
904: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate Type OUT',v_rc_in.p_rate_type_out);
905: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Compound Freq IN',v_rc_in.p_compound_freq_in);
906: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Compound Freq OUT',v_rc_in.p_compound_freq_out);
907: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate IN',v_rc_in.p_rate_in);
908: END IF;
901: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long DCB IN',v_rc_in.p_day_count_basis_in);
902: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long DCB OUT',v_rc_in.p_day_count_basis_out);
903: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate Type IN',v_rc_in.p_rate_type_in);
904: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate Type OUT',v_rc_in.p_rate_type_out);
905: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Compound Freq IN',v_rc_in.p_compound_freq_in);
906: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Compound Freq OUT',v_rc_in.p_compound_freq_out);
907: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate IN',v_rc_in.p_rate_in);
908: END IF;
909:
902: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long DCB OUT',v_rc_in.p_day_count_basis_out);
903: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate Type IN',v_rc_in.p_rate_type_in);
904: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate Type OUT',v_rc_in.p_rate_type_out);
905: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Compound Freq IN',v_rc_in.p_compound_freq_in);
906: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Compound Freq OUT',v_rc_in.p_compound_freq_out);
907: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate IN',v_rc_in.p_rate_in);
908: END IF;
909:
910: xtr_rate_conversion.rate_conv_simple_annualized(v_rc_in, v_rc_out);
903: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate Type IN',v_rc_in.p_rate_type_in);
904: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate Type OUT',v_rc_in.p_rate_type_out);
905: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Compound Freq IN',v_rc_in.p_compound_freq_in);
906: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Compound Freq OUT',v_rc_in.p_compound_freq_out);
907: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Long Rate IN',v_rc_in.p_rate_in);
908: END IF;
909:
910: xtr_rate_conversion.rate_conv_simple_annualized(v_rc_in, v_rc_out);
911: v_fr_in.p_RT1 := v_rc_out.p_rate_out;
919: v_rc_in.p_start_date := p_in_rec.p_start_date;
920: v_rc_in.p_end_date := p_in_rec.p_maturity_date;
921: v_rc_in.p_compound_freq_in := p_in_rec.p_compound_freq_strike;
922:
923: IF xtr_risk_debug_pkg.g_Debug THEN
924: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Start Date',v_rc_in.p_start_date);
925: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike End Date',v_rc_in.p_end_date);
926: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike DCB IN',v_rc_in.p_day_count_basis_in);
927: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike DCB OUT',v_rc_in.p_day_count_basis_out);
920: v_rc_in.p_end_date := p_in_rec.p_maturity_date;
921: v_rc_in.p_compound_freq_in := p_in_rec.p_compound_freq_strike;
922:
923: IF xtr_risk_debug_pkg.g_Debug THEN
924: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Start Date',v_rc_in.p_start_date);
925: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike End Date',v_rc_in.p_end_date);
926: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike DCB IN',v_rc_in.p_day_count_basis_in);
927: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike DCB OUT',v_rc_in.p_day_count_basis_out);
928: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate Type IN',v_rc_in.p_rate_type_in);
921: v_rc_in.p_compound_freq_in := p_in_rec.p_compound_freq_strike;
922:
923: IF xtr_risk_debug_pkg.g_Debug THEN
924: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Start Date',v_rc_in.p_start_date);
925: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike End Date',v_rc_in.p_end_date);
926: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike DCB IN',v_rc_in.p_day_count_basis_in);
927: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike DCB OUT',v_rc_in.p_day_count_basis_out);
928: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate Type IN',v_rc_in.p_rate_type_in);
929: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate Type OUT',v_rc_in.p_rate_type_out);
922:
923: IF xtr_risk_debug_pkg.g_Debug THEN
924: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Start Date',v_rc_in.p_start_date);
925: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike End Date',v_rc_in.p_end_date);
926: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike DCB IN',v_rc_in.p_day_count_basis_in);
927: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike DCB OUT',v_rc_in.p_day_count_basis_out);
928: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate Type IN',v_rc_in.p_rate_type_in);
929: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate Type OUT',v_rc_in.p_rate_type_out);
930: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Compound Freq IN',v_rc_in.p_compound_freq_in);
923: IF xtr_risk_debug_pkg.g_Debug THEN
924: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Start Date',v_rc_in.p_start_date);
925: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike End Date',v_rc_in.p_end_date);
926: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike DCB IN',v_rc_in.p_day_count_basis_in);
927: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike DCB OUT',v_rc_in.p_day_count_basis_out);
928: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate Type IN',v_rc_in.p_rate_type_in);
929: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate Type OUT',v_rc_in.p_rate_type_out);
930: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Compound Freq IN',v_rc_in.p_compound_freq_in);
931: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Compound Freq OUT',v_rc_in.p_compound_freq_out);
924: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Start Date',v_rc_in.p_start_date);
925: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike End Date',v_rc_in.p_end_date);
926: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike DCB IN',v_rc_in.p_day_count_basis_in);
927: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike DCB OUT',v_rc_in.p_day_count_basis_out);
928: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate Type IN',v_rc_in.p_rate_type_in);
929: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate Type OUT',v_rc_in.p_rate_type_out);
930: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Compound Freq IN',v_rc_in.p_compound_freq_in);
931: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Compound Freq OUT',v_rc_in.p_compound_freq_out);
932: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate IN',v_rc_in.p_rate_in);
925: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike End Date',v_rc_in.p_end_date);
926: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike DCB IN',v_rc_in.p_day_count_basis_in);
927: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike DCB OUT',v_rc_in.p_day_count_basis_out);
928: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate Type IN',v_rc_in.p_rate_type_in);
929: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate Type OUT',v_rc_in.p_rate_type_out);
930: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Compound Freq IN',v_rc_in.p_compound_freq_in);
931: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Compound Freq OUT',v_rc_in.p_compound_freq_out);
932: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate IN',v_rc_in.p_rate_in);
933: END IF;
926: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike DCB IN',v_rc_in.p_day_count_basis_in);
927: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike DCB OUT',v_rc_in.p_day_count_basis_out);
928: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate Type IN',v_rc_in.p_rate_type_in);
929: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate Type OUT',v_rc_in.p_rate_type_out);
930: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Compound Freq IN',v_rc_in.p_compound_freq_in);
931: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Compound Freq OUT',v_rc_in.p_compound_freq_out);
932: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate IN',v_rc_in.p_rate_in);
933: END IF;
934:
927: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike DCB OUT',v_rc_in.p_day_count_basis_out);
928: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate Type IN',v_rc_in.p_rate_type_in);
929: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate Type OUT',v_rc_in.p_rate_type_out);
930: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Compound Freq IN',v_rc_in.p_compound_freq_in);
931: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Compound Freq OUT',v_rc_in.p_compound_freq_out);
932: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate IN',v_rc_in.p_rate_in);
933: END IF;
934:
935: xtr_rate_conversion.rate_conv_simple_annualized(v_rc_in, v_rc_out);
928: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate Type IN',v_rc_in.p_rate_type_in);
929: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate Type OUT',v_rc_in.p_rate_type_out);
930: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Compound Freq IN',v_rc_in.p_compound_freq_in);
931: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Compound Freq OUT',v_rc_in.p_compound_freq_out);
932: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Strike Rate IN',v_rc_in.p_rate_in);
933: END IF;
934:
935: xtr_rate_conversion.rate_conv_simple_annualized(v_rc_in, v_rc_out);
936: v_strike := v_rc_out.p_rate_out;
944: --get forward rate
945: v_fr_in.p_indicator := 'Y'; --we're supplying yield rate
946: v_fr_in.p_year_basis := 365; -- bug 3509267
947:
948: IF xtr_risk_debug_pkg.g_Debug THEN
949: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Short Rate',v_fr_in.p_Rt);
950: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Long Rate',v_fr_in.p_RT1);
951: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Time Short',v_fr_in.p_t);
952: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Time Long',v_fr_in.p_T1);
945: v_fr_in.p_indicator := 'Y'; --we're supplying yield rate
946: v_fr_in.p_year_basis := 365; -- bug 3509267
947:
948: IF xtr_risk_debug_pkg.g_Debug THEN
949: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Short Rate',v_fr_in.p_Rt);
950: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Long Rate',v_fr_in.p_RT1);
951: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Time Short',v_fr_in.p_t);
952: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Time Long',v_fr_in.p_T1);
953: END IF;
946: v_fr_in.p_year_basis := 365; -- bug 3509267
947:
948: IF xtr_risk_debug_pkg.g_Debug THEN
949: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Short Rate',v_fr_in.p_Rt);
950: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Long Rate',v_fr_in.p_RT1);
951: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Time Short',v_fr_in.p_t);
952: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Time Long',v_fr_in.p_T1);
953: END IF;
954:
947:
948: IF xtr_risk_debug_pkg.g_Debug THEN
949: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Short Rate',v_fr_in.p_Rt);
950: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Long Rate',v_fr_in.p_RT1);
951: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Time Short',v_fr_in.p_t);
952: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Time Long',v_fr_in.p_T1);
953: END IF;
954:
955: interest_forward_rate(v_fr_in,v_fr_out);
948: IF xtr_risk_debug_pkg.g_Debug THEN
949: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Short Rate',v_fr_in.p_Rt);
950: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Long Rate',v_fr_in.p_RT1);
951: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Time Short',v_fr_in.p_t);
952: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'Forw Conv Time Long',v_fr_in.p_T1);
953: END IF;
954:
955: interest_forward_rate(v_fr_in,v_fr_out);
956: v_bo_in.p_forward_rate := v_fr_out.p_fra_rate;
971: ELSE
972: v_bo_in.p_T2_INT_RATE := p_in_rec.p_ir_long;
973: END IF;
974:
975: IF xtr_risk_debug_pkg.g_Debug THEN
976: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO v_strike',v_strike);
977: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO p_forward_rate',v_fr_out.p_fra_rate);
978: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO Conv. forward_rate',v_bo_in.p_forward_rate);
979: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO Conv. Long Rate ',v_bo_in.p_t2_int_rate);
972: v_bo_in.p_T2_INT_RATE := p_in_rec.p_ir_long;
973: END IF;
974:
975: IF xtr_risk_debug_pkg.g_Debug THEN
976: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO v_strike',v_strike);
977: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO p_forward_rate',v_fr_out.p_fra_rate);
978: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO Conv. forward_rate',v_bo_in.p_forward_rate);
979: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO Conv. Long Rate ',v_bo_in.p_t2_int_rate);
980: END IF;
973: END IF;
974:
975: IF xtr_risk_debug_pkg.g_Debug THEN
976: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO v_strike',v_strike);
977: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO p_forward_rate',v_fr_out.p_fra_rate);
978: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO Conv. forward_rate',v_bo_in.p_forward_rate);
979: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO Conv. Long Rate ',v_bo_in.p_t2_int_rate);
980: END IF;
981:
974:
975: IF xtr_risk_debug_pkg.g_Debug THEN
976: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO v_strike',v_strike);
977: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO p_forward_rate',v_fr_out.p_fra_rate);
978: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO Conv. forward_rate',v_bo_in.p_forward_rate);
979: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO Conv. Long Rate ',v_bo_in.p_t2_int_rate);
980: END IF;
981:
982: --call black option pricing engine
975: IF xtr_risk_debug_pkg.g_Debug THEN
976: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO v_strike',v_strike);
977: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO p_forward_rate',v_fr_out.p_fra_rate);
978: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO Conv. forward_rate',v_bo_in.p_forward_rate);
979: xtr_risk_debug_pkg.dlog('black_option_price_cv: ' || 'BO Conv. Long Rate ',v_bo_in.p_t2_int_rate);
980: END IF;
981:
982: --call black option pricing engine
983: v_bo_in.p_principal := p_in_rec.p_principal;
993: p_out_rec.p_Nd2 := v_bo_out.p_Nd2;
994: p_out_rec.p_Nd1_a := v_bo_out.p_Nd1_a;
995: p_out_rec.p_Nd2_a := v_bo_out.p_Nd2_a;
996:
997: IF xtr_risk_debug_pkg.g_Debug THEN
998: xtr_risk_debug_pkg.dpop('XTR_MM_COVERS.BLACK_OPTION_PRICE_CV');
999: END IF;
1000: END black_option_price_cv;
1001:
994: p_out_rec.p_Nd1_a := v_bo_out.p_Nd1_a;
995: p_out_rec.p_Nd2_a := v_bo_out.p_Nd2_a;
996:
997: IF xtr_risk_debug_pkg.g_Debug THEN
998: xtr_risk_debug_pkg.dpop('XTR_MM_COVERS.BLACK_OPTION_PRICE_CV');
999: END IF;
1000: END black_option_price_cv;
1001:
1002:
1429: END ROUND_Y;
1430: --
1431: begin
1432: /*
1433: XTR_RISK_DEBUG_PKG.start_debug('/sqlcom/out/findv115', 'fhpatest.dbg');
1434: IF xtr_risk_debug_pkg.g_Debug THEN
1435: XTR_RISK_DEBUG_PKG.dpush('calculate_bond_price_yield');
1436: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_bond_issue_code',p_bond_issue_code);
1437: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_settlement_date',p_settlement_date);
1430: --
1431: begin
1432: /*
1433: XTR_RISK_DEBUG_PKG.start_debug('/sqlcom/out/findv115', 'fhpatest.dbg');
1434: IF xtr_risk_debug_pkg.g_Debug THEN
1435: XTR_RISK_DEBUG_PKG.dpush('calculate_bond_price_yield');
1436: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_bond_issue_code',p_bond_issue_code);
1437: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_settlement_date',p_settlement_date);
1438: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_ex_cum_next_coupon',p_ex_cum_next_coupon);
1431: begin
1432: /*
1433: XTR_RISK_DEBUG_PKG.start_debug('/sqlcom/out/findv115', 'fhpatest.dbg');
1434: IF xtr_risk_debug_pkg.g_Debug THEN
1435: XTR_RISK_DEBUG_PKG.dpush('calculate_bond_price_yield');
1436: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_bond_issue_code',p_bond_issue_code);
1437: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_settlement_date',p_settlement_date);
1438: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_ex_cum_next_coupon',p_ex_cum_next_coupon);
1439: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calculate_yield_or_price',p_calculate_yield_or_price);
1432: /*
1433: XTR_RISK_DEBUG_PKG.start_debug('/sqlcom/out/findv115', 'fhpatest.dbg');
1434: IF xtr_risk_debug_pkg.g_Debug THEN
1435: XTR_RISK_DEBUG_PKG.dpush('calculate_bond_price_yield');
1436: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_bond_issue_code',p_bond_issue_code);
1437: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_settlement_date',p_settlement_date);
1438: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_ex_cum_next_coupon',p_ex_cum_next_coupon);
1439: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calculate_yield_or_price',p_calculate_yield_or_price);
1440: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield',p_yield);
1433: XTR_RISK_DEBUG_PKG.start_debug('/sqlcom/out/findv115', 'fhpatest.dbg');
1434: IF xtr_risk_debug_pkg.g_Debug THEN
1435: XTR_RISK_DEBUG_PKG.dpush('calculate_bond_price_yield');
1436: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_bond_issue_code',p_bond_issue_code);
1437: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_settlement_date',p_settlement_date);
1438: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_ex_cum_next_coupon',p_ex_cum_next_coupon);
1439: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calculate_yield_or_price',p_calculate_yield_or_price);
1440: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield',p_yield);
1441: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_interest',p_accrued_interest);
1434: IF xtr_risk_debug_pkg.g_Debug THEN
1435: XTR_RISK_DEBUG_PKG.dpush('calculate_bond_price_yield');
1436: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_bond_issue_code',p_bond_issue_code);
1437: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_settlement_date',p_settlement_date);
1438: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_ex_cum_next_coupon',p_ex_cum_next_coupon);
1439: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calculate_yield_or_price',p_calculate_yield_or_price);
1440: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield',p_yield);
1441: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_interest',p_accrued_interest);
1442: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_clean_price',p_clean_price);
1435: XTR_RISK_DEBUG_PKG.dpush('calculate_bond_price_yield');
1436: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_bond_issue_code',p_bond_issue_code);
1437: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_settlement_date',p_settlement_date);
1438: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_ex_cum_next_coupon',p_ex_cum_next_coupon);
1439: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calculate_yield_or_price',p_calculate_yield_or_price);
1440: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield',p_yield);
1441: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_interest',p_accrued_interest);
1442: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_clean_price',p_clean_price);
1443: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_dirty_price',p_dirty_price);
1436: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_bond_issue_code',p_bond_issue_code);
1437: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_settlement_date',p_settlement_date);
1438: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_ex_cum_next_coupon',p_ex_cum_next_coupon);
1439: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calculate_yield_or_price',p_calculate_yield_or_price);
1440: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield',p_yield);
1441: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_interest',p_accrued_interest);
1442: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_clean_price',p_clean_price);
1443: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_dirty_price',p_dirty_price);
1444: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_input_or_calculator',p_input_or_calculator);
1437: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_settlement_date',p_settlement_date);
1438: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_ex_cum_next_coupon',p_ex_cum_next_coupon);
1439: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calculate_yield_or_price',p_calculate_yield_or_price);
1440: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield',p_yield);
1441: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_interest',p_accrued_interest);
1442: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_clean_price',p_clean_price);
1443: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_dirty_price',p_dirty_price);
1444: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_input_or_calculator',p_input_or_calculator);
1445: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_commence_date',p_commence_date);
1438: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_ex_cum_next_coupon',p_ex_cum_next_coupon);
1439: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calculate_yield_or_price',p_calculate_yield_or_price);
1440: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield',p_yield);
1441: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_interest',p_accrued_interest);
1442: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_clean_price',p_clean_price);
1443: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_dirty_price',p_dirty_price);
1444: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_input_or_calculator',p_input_or_calculator);
1445: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_commence_date',p_commence_date);
1446: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_maturity_date',p_maturity_date);
1439: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calculate_yield_or_price',p_calculate_yield_or_price);
1440: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield',p_yield);
1441: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_interest',p_accrued_interest);
1442: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_clean_price',p_clean_price);
1443: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_dirty_price',p_dirty_price);
1444: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_input_or_calculator',p_input_or_calculator);
1445: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_commence_date',p_commence_date);
1446: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_maturity_date',p_maturity_date);
1447: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_prev_coupon_date',p_prev_coupon_date);
1440: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield',p_yield);
1441: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_interest',p_accrued_interest);
1442: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_clean_price',p_clean_price);
1443: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_dirty_price',p_dirty_price);
1444: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_input_or_calculator',p_input_or_calculator);
1445: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_commence_date',p_commence_date);
1446: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_maturity_date',p_maturity_date);
1447: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_prev_coupon_date',p_prev_coupon_date);
1448: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_next_coupon_date',p_next_coupon_date);
1441: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_interest',p_accrued_interest);
1442: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_clean_price',p_clean_price);
1443: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_dirty_price',p_dirty_price);
1444: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_input_or_calculator',p_input_or_calculator);
1445: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_commence_date',p_commence_date);
1446: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_maturity_date',p_maturity_date);
1447: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_prev_coupon_date',p_prev_coupon_date);
1448: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_next_coupon_date',p_next_coupon_date);
1449: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_type',p_calc_type);
1442: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_clean_price',p_clean_price);
1443: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_dirty_price',p_dirty_price);
1444: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_input_or_calculator',p_input_or_calculator);
1445: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_commence_date',p_commence_date);
1446: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_maturity_date',p_maturity_date);
1447: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_prev_coupon_date',p_prev_coupon_date);
1448: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_next_coupon_date',p_next_coupon_date);
1449: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_type',p_calc_type);
1450: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_year_calc_type',p_year_calc_type);
1443: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_dirty_price',p_dirty_price);
1444: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_input_or_calculator',p_input_or_calculator);
1445: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_commence_date',p_commence_date);
1446: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_maturity_date',p_maturity_date);
1447: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_prev_coupon_date',p_prev_coupon_date);
1448: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_next_coupon_date',p_next_coupon_date);
1449: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_type',p_calc_type);
1450: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_year_calc_type',p_year_calc_type);
1451: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_int_calc_basis',p_accrued_int_calc_basis);
1444: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_input_or_calculator',p_input_or_calculator);
1445: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_commence_date',p_commence_date);
1446: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_maturity_date',p_maturity_date);
1447: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_prev_coupon_date',p_prev_coupon_date);
1448: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_next_coupon_date',p_next_coupon_date);
1449: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_type',p_calc_type);
1450: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_year_calc_type',p_year_calc_type);
1451: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_int_calc_basis',p_accrued_int_calc_basis);
1452: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_freq',p_coupon_freq);
1445: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_commence_date',p_commence_date);
1446: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_maturity_date',p_maturity_date);
1447: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_prev_coupon_date',p_prev_coupon_date);
1448: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_next_coupon_date',p_next_coupon_date);
1449: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_type',p_calc_type);
1450: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_year_calc_type',p_year_calc_type);
1451: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_int_calc_basis',p_accrued_int_calc_basis);
1452: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_freq',p_coupon_freq);
1453: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_rounding',p_calc_rounding);
1446: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_maturity_date',p_maturity_date);
1447: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_prev_coupon_date',p_prev_coupon_date);
1448: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_next_coupon_date',p_next_coupon_date);
1449: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_type',p_calc_type);
1450: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_year_calc_type',p_year_calc_type);
1451: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_int_calc_basis',p_accrued_int_calc_basis);
1452: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_freq',p_coupon_freq);
1453: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_rounding',p_calc_rounding);
1454: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_rounding',p_price_rounding);
1447: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_prev_coupon_date',p_prev_coupon_date);
1448: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_next_coupon_date',p_next_coupon_date);
1449: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_type',p_calc_type);
1450: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_year_calc_type',p_year_calc_type);
1451: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_int_calc_basis',p_accrued_int_calc_basis);
1452: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_freq',p_coupon_freq);
1453: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_rounding',p_calc_rounding);
1454: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_rounding',p_price_rounding);
1455: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_round_type',p_price_round_type);
1448: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_next_coupon_date',p_next_coupon_date);
1449: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_type',p_calc_type);
1450: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_year_calc_type',p_year_calc_type);
1451: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_int_calc_basis',p_accrued_int_calc_basis);
1452: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_freq',p_coupon_freq);
1453: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_rounding',p_calc_rounding);
1454: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_rounding',p_price_rounding);
1455: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_round_type',p_price_round_type);
1456: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_rounding',p_yield_rounding);
1449: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_type',p_calc_type);
1450: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_year_calc_type',p_year_calc_type);
1451: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_int_calc_basis',p_accrued_int_calc_basis);
1452: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_freq',p_coupon_freq);
1453: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_rounding',p_calc_rounding);
1454: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_rounding',p_price_rounding);
1455: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_round_type',p_price_round_type);
1456: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_rounding',p_yield_rounding);
1457: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_round_type',p_yield_round_type);
1450: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_year_calc_type',p_year_calc_type);
1451: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_int_calc_basis',p_accrued_int_calc_basis);
1452: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_freq',p_coupon_freq);
1453: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_rounding',p_calc_rounding);
1454: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_rounding',p_price_rounding);
1455: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_round_type',p_price_round_type);
1456: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_rounding',p_yield_rounding);
1457: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_round_type',p_yield_round_type);
1458: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_rate',p_coupon_rate);
1451: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_accrued_int_calc_basis',p_accrued_int_calc_basis);
1452: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_freq',p_coupon_freq);
1453: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_rounding',p_calc_rounding);
1454: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_rounding',p_price_rounding);
1455: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_round_type',p_price_round_type);
1456: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_rounding',p_yield_rounding);
1457: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_round_type',p_yield_round_type);
1458: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_rate',p_coupon_rate);
1459: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_num_coupons_remain',p_num_coupons_remain);
1452: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_freq',p_coupon_freq);
1453: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_rounding',p_calc_rounding);
1454: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_rounding',p_price_rounding);
1455: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_round_type',p_price_round_type);
1456: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_rounding',p_yield_rounding);
1457: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_round_type',p_yield_round_type);
1458: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_rate',p_coupon_rate);
1459: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_num_coupons_remain',p_num_coupons_remain);
1460: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_day_count_type',p_day_count_type);
1453: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_calc_rounding',p_calc_rounding);
1454: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_rounding',p_price_rounding);
1455: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_round_type',p_price_round_type);
1456: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_rounding',p_yield_rounding);
1457: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_round_type',p_yield_round_type);
1458: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_rate',p_coupon_rate);
1459: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_num_coupons_remain',p_num_coupons_remain);
1460: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_day_count_type',p_day_count_type);
1461: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_first_trans_flag',p_first_trans_flag);
1454: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_rounding',p_price_rounding);
1455: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_round_type',p_price_round_type);
1456: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_rounding',p_yield_rounding);
1457: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_round_type',p_yield_round_type);
1458: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_rate',p_coupon_rate);
1459: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_num_coupons_remain',p_num_coupons_remain);
1460: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_day_count_type',p_day_count_type);
1461: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_first_trans_flag',p_first_trans_flag);
1462: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_deal_subtype',p_deal_subtype);
1455: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_price_round_type',p_price_round_type);
1456: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_rounding',p_yield_rounding);
1457: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_round_type',p_yield_round_type);
1458: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_rate',p_coupon_rate);
1459: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_num_coupons_remain',p_num_coupons_remain);
1460: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_day_count_type',p_day_count_type);
1461: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_first_trans_flag',p_first_trans_flag);
1462: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_deal_subtype',p_deal_subtype);
1463: XTR_RISK_DEBUG_PKG.dpop('calculate_bond_price_yield');
1456: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_rounding',p_yield_rounding);
1457: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_round_type',p_yield_round_type);
1458: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_rate',p_coupon_rate);
1459: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_num_coupons_remain',p_num_coupons_remain);
1460: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_day_count_type',p_day_count_type);
1461: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_first_trans_flag',p_first_trans_flag);
1462: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_deal_subtype',p_deal_subtype);
1463: XTR_RISK_DEBUG_PKG.dpop('calculate_bond_price_yield');
1464: END IF;
1457: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_yield_round_type',p_yield_round_type);
1458: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_rate',p_coupon_rate);
1459: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_num_coupons_remain',p_num_coupons_remain);
1460: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_day_count_type',p_day_count_type);
1461: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_first_trans_flag',p_first_trans_flag);
1462: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_deal_subtype',p_deal_subtype);
1463: XTR_RISK_DEBUG_PKG.dpop('calculate_bond_price_yield');
1464: END IF;
1465: XTR_RISK_DEBUG_PKG.stop_debug;
1458: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_coupon_rate',p_coupon_rate);
1459: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_num_coupons_remain',p_num_coupons_remain);
1460: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_day_count_type',p_day_count_type);
1461: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_first_trans_flag',p_first_trans_flag);
1462: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_deal_subtype',p_deal_subtype);
1463: XTR_RISK_DEBUG_PKG.dpop('calculate_bond_price_yield');
1464: END IF;
1465: XTR_RISK_DEBUG_PKG.stop_debug;
1466: */
1459: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_num_coupons_remain',p_num_coupons_remain);
1460: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_day_count_type',p_day_count_type);
1461: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_first_trans_flag',p_first_trans_flag);
1462: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_deal_subtype',p_deal_subtype);
1463: XTR_RISK_DEBUG_PKG.dpop('calculate_bond_price_yield');
1464: END IF;
1465: XTR_RISK_DEBUG_PKG.stop_debug;
1466: */
1467:
1461: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_first_trans_flag',p_first_trans_flag);
1462: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'p_deal_subtype',p_deal_subtype);
1463: XTR_RISK_DEBUG_PKG.dpop('calculate_bond_price_yield');
1464: END IF;
1465: XTR_RISK_DEBUG_PKG.stop_debug;
1466: */
1467:
1468: -- Added for Interest Override
1469: l_first_trans_flag := p_first_trans_flag;
2225: l_num_full_cpn_remain := l_num_full_cpn_remain - 1;
2226: END IF;
2227: /* commented out for bug2536590
2228: If (l_days_last_cpn_to_nxt_cpn <> 0) then
2229: IF xtr_risk_debug_pkg.g_Debug THEN
2230: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'BOND year basis', yr_basis);
2231: END IF;
2232: l_settle_to_nxt_cpn_ratio := ROUND_P(l_days_settle_to_nxt_cpn/yr_basis);
2233: Else
2226: END IF;
2227: /* commented out for bug2536590
2228: If (l_days_last_cpn_to_nxt_cpn <> 0) then
2229: IF xtr_risk_debug_pkg.g_Debug THEN
2230: XTR_RISK_DEBUG_PKG.dlog('CALCULATE_BOND_PRICE_YIELD: ' || 'BOND year basis', yr_basis);
2231: END IF;
2232: l_settle_to_nxt_cpn_ratio := ROUND_P(l_days_settle_to_nxt_cpn/yr_basis);
2233: Else
2234: l_settle_to_nxt_cpn_ratio := 0;