ReportosCE.vb 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. Public Class ReportosCE
  2. Private _CodigoInversion As String
  3. Private _CodigoCasa As String
  4. Private _Nombre As String
  5. Private _FechaDeCompra As Date
  6. Private _ValorTransado As Double
  7. Private _Dias As Integer
  8. Private _FechaVencimiento As Date
  9. Private _Rendimiento As Double
  10. Private _Impuestos As Double
  11. Private _OtrosCostos As Double
  12. Private _TotalCostos As Double
  13. Private _MontoALiquidar As Double
  14. Private _InteresAGenerar As Double
  15. Private _CostoDeTransferencia As Double
  16. Private _RendimientoNetoAntesDeImpuestos As Double
  17. Private _ValorReCompra As Double
  18. Private _ImpuestosLiquidacion As Double
  19. Private _IngresoNeto As Double
  20. Private _ValorNeto As Double
  21. Private _RendimientoNetoDespuesDeImpuestos As Double
  22. Private Operaciones As New Operaciones
  23. Function FechaDeVencimiento(ByVal fecha As Date, ByVal dias As Integer)
  24. Dim Valor = fecha.AddDays(dias)
  25. Return Valor
  26. End Function
  27. Function Comision(ByVal valortrasado As String, ByVal dias As Integer, ByVal por As Double, ByVal Fecha1 As Date, ByVal Fecha2 As Date, ByVal IndexBase As Integer)
  28. Dim Valor As Double = 0
  29. Valor = valortrasado * dias * por / 365
  30. Return Valor
  31. End Function
  32. Function IOF(ByVal valortrasado As Double, comisioncasa As Double, ByVal comisionbolsa As Double, ByVal dias As Integer, ByVal VALIOF As Double, ByVal Fecha1 As Date, ByVal Fecha2 As Date, ByVal IndexBase As Integer)
  33. Dim Valor As Double = 0
  34. Valor = ((valortrasado + comisioncasa + comisionbolsa) * (dias * VALIOF)) / 365
  35. Return Valor
  36. End Function
  37. Function TotCostos(ByVal ComisionCasa As Double, ByVal ComisionBolsa As Double, ByVal IOF As Double, ByVal OC As Double, ByVal ValorTransado As Double, ByVal Instrumento As String)
  38. Dim Valor As Double = 0
  39. Valor = ComisionCasa + ComisionBolsa + IOF + OC
  40. Return Valor
  41. End Function
  42. Function MontoLiquidacion(ByVal ValorTrasado As Double, ByVal totalcosto As Double)
  43. Dim Valor = ValorTrasado + totalcosto
  44. Return Valor
  45. End Function
  46. Function InteresGenerar(ByVal ValorTrasado As Double, ByVal rendimiento As Double, ByVal dias As Integer, ByVal Fecha1 As Date, ByVal Fecha2 As Date, ByVal IndexBase As Integer)
  47. Dim Valor As Double = 0
  48. Valor = ValorTrasado * rendimiento * dias / 365
  49. Return Valor
  50. End Function
  51. Function RendimientoAntes(ByVal interesgenerar As Double, ByVal totcostos As Double, ByVal valortra As Double, ByVal dias As Integer, ByVal Fecha1 As Date, ByVal Fecha2 As Date, ByVal IndexBase As Integer, ByVal Tabla As String)
  52. Dim Valor As Double = 0
  53. If Tabla = "REP0" Then
  54. Valor = ((interesgenerar - totcostos) / valortra) * (365 / dias)
  55. Else
  56. Valor = ((interesgenerar + totcostos) / valortra) * (365 / dias)
  57. End If
  58. Return Valor * 100
  59. End Function
  60. Function ValorRecompras(ByVal Valortrasado As Double, ByVal InteresGenerar As Double)
  61. Dim Valor = Valortrasado + InteresGenerar
  62. Return Valor
  63. End Function
  64. Function IngresoNet(ByVal InteresGenerar As Double, ByVal Renta As Double)
  65. Dim Valor = InteresGenerar - Renta
  66. Return Valor
  67. End Function
  68. Function ValorNet(ByVal ValorTrasado As Double, ByVal IngresoNeto As Double, ByVal CostoTrans As Double)
  69. Dim Valor = ValorTrasado + IngresoNeto - CostoTrans
  70. Return Valor
  71. End Function
  72. Function RendimientoDespues(ByVal IngresoNeto As Double, ByVal totalcosto As Double, ByVal valortrasado As Double, ByVal dias As Integer, ByVal Fecha1 As Date, Fecha2 As Date, ByVal IndexBase As Integer)
  73. Dim Valor As Double = 0
  74. Valor = (IngresoNeto - totalcosto) / valortrasado * 365 / dias
  75. Return Valor * 100
  76. End Function
  77. End Class