public static ValoracionPorISIN GenereLaValoracionPorISIN(string elISIN, DateTime laFechaActual, DateTime laFechaDeVencimientoDelValorOficial, int losDiasMinimosAlVencimientoDelEmisor, decimal elPorcentajeCobertura, decimal elPrecioLimpioDelVectorDePrecios, Monedas elTipoDeMoneda, bool elSaldoEstaAnotadoEnCuenta, decimal elMontoNominalDelSaldo, decimal elTipoDeCambioDeUDESDeHoy, decimal elTipoDeCambioDeUDESDeAyer) { ValoracionPorISIN laValoracion = new ValoracionPorISIN(); laValoracion.ISIN = elISIN; decimal elValorDeMercado = ObtengaElValorDeMercado(elPrecioLimpioDelVectorDePrecios, elTipoDeMoneda, elSaldoEstaAnotadoEnCuenta, elMontoNominalDelSaldo, elTipoDeCambioDeUDESDeHoy, elTipoDeCambioDeUDESDeAyer); laValoracion.ValorDeMercado = elValorDeMercado; decimal elPorcentajeDeCoberturaRevisado = ObtengaElPorcentajeDeCobertura(laFechaActual, laFechaDeVencimientoDelValorOficial, losDiasMinimosAlVencimientoDelEmisor, elPorcentajeCobertura, laValoracion); laValoracion.PorcentajeCobertura = elPorcentajeDeCoberturaRevisado; decimal elAporteDeGarantia = CalculeElAporteDeGarantia(elValorDeMercado, elPorcentajeDeCoberturaRevisado); laValoracion.AporteDeGarantia = elAporteDeGarantia; return(laValoracion); }
private static decimal ObtengaElPorcentajeDeCobertura(DateTime laFechaActual, DateTime laFechaDeVencimientoDelValorOficial, int losDiasMinimosAlVencimientoDelEmisor, decimal elPorcentajeCobertura, ValoracionPorISIN laValoracion) { double losDiasAlVencimiento = ObtengaLosDiasAlVencimiento(laFechaActual, laFechaDeVencimientoDelValorOficial); return(DetermineElPorcentajeDeCoberturaRevisado(losDiasMinimosAlVencimientoDelEmisor, elPorcentajeCobertura, losDiasAlVencimiento)); }