コード例 #1
0
        public void AporteDeGarantia_EnUDESYElSaldoNoEstaAnotadoEnCuenta_NoConvierteElMonto()
        {
            elResultadoEsperado = 640;

            laValoracion        = UnaValoracionEnUDESYElSaldoNoEstaAnotadoEnCuenta();
            elResultadoObtenido = laValoracion.AporteDeGarantia;

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
コード例 #2
0
        public void AporteDeGarantia_EnColonesYCumpleLosDiasMinimos_AporteCalculado()
        {
            elResultadoEsperado = 2289920;

            laValoracion        = UnaValoracionEnColonesYCumpleLosDiasMinimos();
            elResultadoObtenido = laValoracion.AporteDeGarantia;

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
コード例 #3
0
        public void AporteDeGarantia_EnColonesYNoCumpleLosDiasMinimos_Cero()
        {
            elResultadoEsperado = 0;

            laValoracion        = InicialiceUnaValoracionEnColonesYNoCumpleLosDiasMinimos();
            elResultadoObtenido = laValoracion.AporteDeGarantia;

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
コード例 #4
0
        protected List <ValoracionPorISIN> UnaValoracionEnUDESAnotadosEnCuenta()
        {
            ValoracionPorISIN        laValoracion = UnaValoracionEnUDESYElSaldoEstaAnotadoEnCuenta();
            List <ValoracionPorISIN> laLista      = new List <ValoracionPorISIN>();

            laLista.Add(laValoracion);

            return(laLista);
        }
コード例 #5
0
        public void PorcentajeDeCobertura_EnColonesYNoCumpleLosDiasMinimos_Cero()
        {
            elResultadoEsperado = 0;

            laValoracion        = InicialiceUnaValoracionEnColonesYNoCumpleLosDiasMinimos();
            elResultadoObtenido = laValoracion.PorcentajeCobertura;

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
コード例 #6
0
        public void ISIN_CasoUnico_ElMismoISIN()
        {
            elResultadoEsperado = "HDA000000000001";

            laValoracion        = UnaValoracionEnColonesYCumpleLosDiasMinimos();
            elResultadoObtenido = laValoracion.NumeroISIN;

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
コード例 #7
0
        public void ValorDeMercado_EnUDESYElSaldoEstaAnotadoEnCuentaYNoHayTipoDeCambioDeHoy_UsaElTipoDeCambioDeAyer()
        {
            elResultadoEsperado = 596000;

            laValoracion        = UnaValoracionEnUDESYElSaldoEstaAnotadoEnCuentaYNoHayTipoDeCambioDeHoy();
            elResultadoObtenido = laValoracion.ValorDeMercado;

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
コード例 #8
0
        protected List <ValoracionPorISIN> UnaValoracionEnColones()
        {
            ValoracionPorISIN        laValoracion = UnaValoracionEnColonesYCumpleLosDiasMinimos();
            List <ValoracionPorISIN> laLista      = new List <ValoracionPorISIN>();

            laLista.Add(laValoracion);

            return(laLista);
        }
コード例 #9
0
        public void ValorDeMercado_EnUDESYElSaldoNoEstaAnotadoEnCuenta_NoConvierteElMonto()
        {
            elResultadoEsperado = 800;

            laValoracion        = UnaValoracionEnUDESYElSaldoNoEstaAnotadoEnCuenta();
            elResultadoObtenido = laValoracion.ValorDeMercado;

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
コード例 #10
0
        public void ValorDeMercado_EnColones_UsaMontoNominalDelSaldo()
        {
            elResultadoEsperado = 2862400;

            laValoracion        = UnaValoracionEnColonesYCumpleLosDiasMinimos();
            elResultadoObtenido = laValoracion.ValorDeMercado;

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
コード例 #11
0
        protected List <ValoracionPorISIN> UnaValoracionEnDolares()
        {
            ValoracionPorISIN        laValoracion = InicialiceUnaValoracionEnDolaresYNoCumpleLosDiasMinimos();
            List <ValoracionPorISIN> laLista      = new List <ValoracionPorISIN>();

            laLista.Add(laValoracion);

            return(laLista);
        }
コード例 #12
0
        public void AporteDeGarantia_EnUDESYElSaldoEstaAnotadoEnCuenta_UsaElTipoDeCambioDeHoy()
        {
            elResultadoEsperado = 480000;

            laValoracion        = UnaValoracionEnUDESYElSaldoEstaAnotadoEnCuenta();
            elResultadoObtenido = laValoracion.AporteDeGarantia;

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
コード例 #13
0
        public void PorcentajeDeCobertura_EnColonesYCumpleLosDiasMinimos_AporteCalculado()
        {
            elResultadoEsperado = 0.8M;

            laValoracion        = UnaValoracionEnColonesYCumpleLosDiasMinimos();
            elResultadoObtenido = laValoracion.PorcentajeCobertura;

            Assert.AreEqual(elResultadoEsperado, elResultadoObtenido);
        }
コード例 #14
0
        private static List <ValoracionPorISIN> GenereListaValoracionesEnDolares(List <ISIN> listaDeISINEnDolares, DateTime fechaActual)
        {
            // Genero las valoraciones en dolares
            List <ValoracionPorISIN> lasValoracionesEnDolares = new List <ValoracionPorISIN>();

            foreach (ISIN unISIN in listaDeISINEnDolares)
            {
                DatosDeUnISINEnDolares losDatos = GenereDatosDeUnISINEnDolares(fechaActual, unISIN);

                ValoracionPorISIN laValoracionDelISIN = new ValoracionPorISIN(losDatos);
                lasValoracionesEnDolares.Add(laValoracionDelISIN);
            }

            return(lasValoracionesEnDolares);
        }
コード例 #15
0
        public List <ValoracionPorISIN> ComoLista()
        {
            // Genero las valoraciones en UDES no anotados en cuenta
            List <ValoracionPorISIN> lasValoracionesEnUDESNoAnotados = new List <ValoracionPorISIN>();

            foreach (ISIN unISIN in listaDeISINEnUDESNoAnotadosEnCuenta)
            {
                DatosDeUnISINNoAnotadoEnCuentaEnUDES losDatos = GenereDatosDeUnISINNoAnotado(fechaActual, unISIN);

                ValoracionPorISIN laValoracionDelISIN = new ValoracionPorISIN(losDatos);
                lasValoracionesEnUDESNoAnotados.Add(laValoracionDelISIN);
            }

            return(lasValoracionesEnUDESNoAnotados);
        }
コード例 #16
0
        public List <ValoracionPorISIN> ComoLista()
        {
            // Genero las valoraciones en colones
            List <ValoracionPorISIN> lasValoracionesEnColones = new List <ValoracionPorISIN>();

            foreach (ISIN unISIN in listaDeISINEnColones)
            {
                DatosDeUnISINEnColones losDatos = GenereDatosDeUnISINEnColones(fechaActual, unISIN);

                ValoracionPorISIN laValoracionDelISIN = new ValoracionPorISIN(losDatos);
                lasValoracionesEnColones.Add(laValoracionDelISIN);
            }

            return(lasValoracionesEnColones);
        }
コード例 #17
0
        private static List <ValoracionPorISIN> GenereLaListaDeValoracionesEnUDESAnotados(List <ISIN> listaDeISINEnUDESAnotadosEnCuenta, DateTime fechaActual, decimal tipoDeCambioDeUDESDeAyer, decimal tipoDeCambioDeUDESDeHoy)
        {
            // Genero las valoraciones en UDES anotados en cuenta
            List <ValoracionPorISIN> lasValoracionesEnUDESAnotados = new List <ValoracionPorISIN>();

            foreach (ISIN unISIN in listaDeISINEnUDESAnotadosEnCuenta)
            {
                DatosDeUnISINAnotadoEnCuentaEnUDES losDatos = GenereDatosDeUnISINEnUDESEnCuenta(fechaActual, tipoDeCambioDeUDESDeAyer, tipoDeCambioDeUDESDeHoy, unISIN);

                ValoracionPorISIN laValoracionDelISIN = new ValoracionPorISIN(losDatos);
                lasValoracionesEnUDESAnotados.Add(laValoracionDelISIN);
            }

            return(lasValoracionesEnUDESAnotados);
        }
コード例 #18
0
        public static ValoracionDeLosISINDeUnaEntidad GenereLaValoracion(
            List <ISIN> listaDeISINEnColones,
            List <ISIN> listaDeISINEnDolares,
            List <ISIN> listaDeISINEnUDESAnotadosEnCuenta,
            List <ISIN> listaDeISINEnUDESNoAnotadosEnCuenta,
            DateTime fechaActual,
            decimal tipoDeCambioDeUDESDeAyer,
            decimal tipoDeCambioDeUDESDeHoy)
        {
            // Genero las valoraciones en colones
            List <ValoracionPorISIN> lasValoracionesEnColones = new List <ValoracionPorISIN>();

            foreach (ISIN unISIN in listaDeISINEnColones)
            {
                DatosDeUnISINEnColones losDatos = new DatosDeUnISINEnColones();
                losDatos.DiasMinimosAlVencimientoDelEmisor = unISIN.diasMinimosAlVencimientoDelEmisor;
                losDatos.FechaActual = fechaActual;
                losDatos.FechaDeVencimientoDelValorOficial = unISIN.fechaDeVencimientoDelValorOficial;
                losDatos.MontoNominalDelSaldo           = unISIN.montoNominalDelSaldo;
                losDatos.NumeroISIN                     = unISIN.NumeroISIN;
                losDatos.PorcentajeCobertura            = unISIN.porcentajeCobertura;
                losDatos.PrecioLimpioDelVectorDePrecios = unISIN.precioLimpioDelVectorDePrecios;

                ValoracionPorISIN laValoracionDelISIN = new ValoracionPorISIN(losDatos);
                lasValoracionesEnColones.Add(laValoracionDelISIN);
            }

            ValoracionDeLosISINDeUnaEntidad laValoracion = new ValoracionDeLosISINDeUnaEntidad();

            laValoracion.ValoracionesDeLosISINEnColones = lasValoracionesEnColones;

            // Genero el saldo en colones de acuerdo a los ISIN en colones
            decimal saldoEnColones = 0;

            foreach (ValoracionPorISIN unaValoracion in lasValoracionesEnColones)
            {
                saldoEnColones += unaValoracion.AporteDeGarantia;
            }

            // Genero las valoraciones en dolares
            List <ValoracionPorISIN> lasValoracionesEnDolares = new List <ValoracionPorISIN>();

            foreach (ISIN unISIN in listaDeISINEnDolares)
            {
                DatosDeUnISINEnDolares losDatos = new DatosDeUnISINEnDolares();
                losDatos.DiasMinimosAlVencimientoDelEmisor = unISIN.diasMinimosAlVencimientoDelEmisor;
                losDatos.FechaActual = fechaActual;
                losDatos.FechaDeVencimientoDelValorOficial = unISIN.fechaDeVencimientoDelValorOficial;
                losDatos.MontoNominalDelSaldo           = unISIN.montoNominalDelSaldo;
                losDatos.NumeroISIN                     = unISIN.NumeroISIN;
                losDatos.PorcentajeCobertura            = unISIN.porcentajeCobertura;
                losDatos.PrecioLimpioDelVectorDePrecios = unISIN.precioLimpioDelVectorDePrecios;

                ValoracionPorISIN laValoracionDelISIN = new ValoracionPorISIN(losDatos);
                lasValoracionesEnDolares.Add(laValoracionDelISIN);
            }

            laValoracion.ValoracionesDeLosISINEnDolares = lasValoracionesEnDolares;

            // Genero el saldo en dolares
            decimal saldoEnDolares = 0;

            foreach (ValoracionPorISIN unaValoracion in lasValoracionesEnDolares)
            {
                saldoEnDolares += unaValoracion.AporteDeGarantia;
            }
            laValoracion.SaldoEnDolares = saldoEnDolares;

            // Genero las valoraciones en UDES anotados en cuenta
            List <ValoracionPorISIN> lasValoracionesEnUDESAnotados = new List <ValoracionPorISIN>();

            foreach (ISIN unISIN in listaDeISINEnUDESAnotadosEnCuenta)
            {
                DatosDeUnISINAnotadoEnCuentaEnUDES losDatos = new DatosDeUnISINAnotadoEnCuentaEnUDES();
                losDatos.DiasMinimosAlVencimientoDelEmisor = unISIN.diasMinimosAlVencimientoDelEmisor;
                losDatos.FechaActual = fechaActual;
                losDatos.FechaDeVencimientoDelValorOficial = unISIN.fechaDeVencimientoDelValorOficial;
                losDatos.MontoNominalDelSaldo           = unISIN.montoNominalDelSaldo;
                losDatos.NumeroISIN                     = unISIN.NumeroISIN;
                losDatos.PorcentajeCobertura            = unISIN.porcentajeCobertura;
                losDatos.PrecioLimpioDelVectorDePrecios = unISIN.precioLimpioDelVectorDePrecios;
                losDatos.TipoDeCambioDeUDESDeAyer       = tipoDeCambioDeUDESDeAyer;
                losDatos.TipoDeCambioDeUDESDeHoy        = tipoDeCambioDeUDESDeHoy;

                ValoracionPorISIN laValoracionDelISIN = new ValoracionPorISIN(losDatos);
                lasValoracionesEnUDESAnotados.Add(laValoracionDelISIN);
            }

            laValoracion.ValoracionesDeLosISINEnUDESAnotadosEnCuenta = lasValoracionesEnUDESAnotados;

            // Incremento el saldo en colones con el de UDES anotados en cuenta
            foreach (ValoracionPorISIN unaValoracion in lasValoracionesEnUDESAnotados)
            {
                saldoEnColones += unaValoracion.AporteDeGarantia;
            }

            // Genero las valoraciones en UDES no anotados en cuenta
            List <ValoracionPorISIN> lasValoracionesEnUDESNoAnotados = new List <ValoracionPorISIN>();

            foreach (ISIN unISIN in listaDeISINEnUDESNoAnotadosEnCuenta)
            {
                DatosDeUnISINNoAnotadoEnCuentaEnUDES losDatos = new DatosDeUnISINNoAnotadoEnCuentaEnUDES();
                losDatos.DiasMinimosAlVencimientoDelEmisor = unISIN.diasMinimosAlVencimientoDelEmisor;
                losDatos.FechaActual = fechaActual;
                losDatos.FechaDeVencimientoDelValorOficial = unISIN.fechaDeVencimientoDelValorOficial;
                losDatos.MontoNominalDelSaldo           = unISIN.montoNominalDelSaldo;
                losDatos.NumeroISIN                     = unISIN.NumeroISIN;
                losDatos.PorcentajeCobertura            = unISIN.porcentajeCobertura;
                losDatos.PrecioLimpioDelVectorDePrecios = unISIN.precioLimpioDelVectorDePrecios;

                ValoracionPorISIN laValoracionDelISIN = new ValoracionPorISIN(losDatos);
                lasValoracionesEnUDESNoAnotados.Add(laValoracionDelISIN);
            }

            laValoracion.ValoracionesDeLosISINEnUDESNoAnotadosEnCuenta = lasValoracionesEnUDESNoAnotados;

            // Incremento el saldo en colones con el de UDES no anotados en cuenta
            foreach (ValoracionPorISIN unaValoracion in lasValoracionesEnUDESNoAnotados)
            {
                saldoEnColones += unaValoracion.AporteDeGarantia;
            }
            laValoracion.SaldoEnColones = saldoEnColones;

            return(laValoracion);
        }