Skip to content
Snippets Groups Projects
Commit 20bc10af authored by victarr's avatar victarr
Browse files

Upload New File

parent d9484e13
Branches
No related tags found
No related merge requests found
library(shinydashboard)
library(plotly)
library(shinycssloaders)
load("../../RData/activos.RData")
activos <- activos[5:509,]
ui <- fluidPage(
theme = bslib::bs_theme(bootswatch = "sandstone"),
tags$style(HTML(
"#start { background-color: #29f429; color: black }"
)),
sidebarLayout(
sidebarPanel(
selectInput("indice", "Seleccione un índice bursátil",
c("S&P 500", "NASDAQ 100", "IBEX 35", "EURO STOXX 50"), selected = "S&P 500",
multiple = FALSE),
conditionalPanel(
condition = "input.indice == 'S&P 500'",
selectInput("empresas1", "Seleccione un valor", activos$activo, selected = activos$activo[1],
multiple = TRUE)
),
conditionalPanel(
condition = "input.indice == 'NASDAQ 100'",
selectInput("empresas2", "Seleccione un valor", activos$activo, selected = activos$activo[1],
multiple = TRUE)
),
conditionalPanel(
condition = "input.indice == 'IBEX 35'",
selectInput("empresas3", "Seleccione un valor", activos$activo, selected = activos$activo[1],
multiple = TRUE)
),
conditionalPanel(
condition = "input.indice == 'EURO STOXX 50'",
selectInput("empresas4", "Seleccione un valor", activos$activo, selected = activos$activo[1],
multiple = TRUE)
),
dateRangeInput("date_range", "Intervalo temporal", start = Sys.Date() - 365),
selectInput("modelos", "Seleccione el tipo de modelo que desea optimizar", choices = c("Modelo de maximización de la renta",
"Modelo de minimización del riesgo", "Modelo biobjetivo de Markowitz"),
selected = "Modelo biobjetivo de Markowitz"),
radioButtons("rentabilidad", "Seleccione el tipo de rentabilidad", choices = c("Media",
"Media ponderada")),
conditionalPanel(
condition = "input.rentabilidad == 'Media ponderada'",
sliderInput("discount", "Factor de descuento", min = 0, max = 1, value = 0.9, ticks = TRUE)
),
conditionalPanel(
condition = "input.modelos == 'Modelo biobjetivo de Markowitz'",
selectInput("tipo_cartera", "Seleccione la cartera que desea representar",
c("Máximo rendimiento", "Mínimo riesgo", "Máximo ratio Sharpe", "Equiponderada", "Óptima en función de mu"),
multiple = FALSE),
conditionalPanel(
condition = "input.tipo_cartera == 'Óptima en función de mu'",
sliderInput("mu", "Valor del parámetro mu", min = 0,
max = 500, value = 2, step = 1)
),
sliderInput("sharpe", "Tipo de interés de referencia para ratio Sharpe", min = 1, max = 1.1,
value = 1, step = 0.0001, ticks = FALSE)
),
conditionalPanel(
condition = "input.modelos == 'Modelo de maximización de la renta'",
sliderInput("max_riesgo", "Riesgo máximo permitido", min = 0.00001, max = 0.01, value = 0.003,
step = 0.00001)
),
conditionalPanel(
condition = "input.modelos == 'Modelo de minimización del riesgo'",
sliderInput("min_rentabilidad", "Rentabilidad mínima permitida", min = 1.01, max = 1.5, value = 1.1,
step = 0.01)
),
sliderInput("cota_inferior", "Cota inferior de inversión en cada valor (en %)", min = 0,
max = 100, value = 0, step = 0.1, ticks = TRUE),
sliderInput("cota_superior", "Cota superior de inversión en cada valor (en %)", min = 0,
max = 100, value = 100, step = 0.1, ticks = TRUE),
sliderInput("cardinalidad_valores", "Número máximo de valores en los que desea invertir",
min = 1, max = 10, value = 10, step = 1, ticks = FALSE),
actionButton("start", "Ejecutar modelo"),
style = "width: 300px; margin-top: 50px;"
),
mainPanel(
fluidRow(
column(10, offset = 1, plotlyOutput("grafico")%>% withSpinner(color="#0dc5c1"), style = "padding: 50px")
),
fluidRow(
column(8, offset = 2, tableOutput("tabla_riesgos")%>% withSpinner(color="#0dc5c1"))
)
# mainPanel(plotlyOutput("grafico")%>% withSpinner(color="#0dc5c1"), style = "padding: 50px")
)
)
)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment