Ready
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"source_window_id": "",
|
"source_window_id": "",
|
||||||
"Source": "Source",
|
"Source": "Source",
|
||||||
"cursorPosition": "50,4",
|
"cursorPosition": "89,22",
|
||||||
"scrollLine": "12"
|
"scrollLine": "71"
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"source_window_id": "",
|
"source_window_id": "",
|
||||||
"Source": "Source",
|
"Source": "Source",
|
||||||
"cursorPosition": "16,0",
|
"cursorPosition": "27,17",
|
||||||
"scrollLine": "0"
|
"scrollLine": "0"
|
||||||
}
|
}
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
"path": "~/Projects/LoanRisk/panel.R",
|
"path": "~/Projects/LoanRisk/panel.R",
|
||||||
"project_path": "panel.R",
|
"project_path": "panel.R",
|
||||||
"type": "r_source",
|
"type": "r_source",
|
||||||
"hash": "2913767970",
|
"hash": "0",
|
||||||
"contents": "",
|
"contents": "",
|
||||||
"dirty": false,
|
"dirty": false,
|
||||||
"created": 1686047069391.0,
|
"created": 1686047069391.0,
|
||||||
@@ -12,15 +12,15 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"source_window_id": "",
|
"source_window_id": "",
|
||||||
"Source": "Source",
|
"Source": "Source",
|
||||||
"cursorPosition": "50,4",
|
"cursorPosition": "89,22",
|
||||||
"scrollLine": "12"
|
"scrollLine": "71"
|
||||||
},
|
},
|
||||||
"folds": "",
|
"folds": "",
|
||||||
"lastKnownWriteTime": 1686047587,
|
"lastKnownWriteTime": 1686050840,
|
||||||
"encoding": "UTF-8",
|
"encoding": "UTF-8",
|
||||||
"collab_server": "",
|
"collab_server": "",
|
||||||
"source_window": "",
|
"source_window": "",
|
||||||
"last_content_update": 1686047587539,
|
"last_content_update": 1686050840851,
|
||||||
"read_only": false,
|
"read_only": false,
|
||||||
"read_only_alternatives": []
|
"read_only_alternatives": []
|
||||||
}
|
}
|
||||||
@@ -1,14 +1,13 @@
|
|||||||
|
|
||||||
|
|
||||||
countries <- read.csv("./data/countries.csv")
|
countries <- read.csv("./data/countries.csv")
|
||||||
|
|
||||||
panel1 <-
|
panel1 <-
|
||||||
tabPanel(
|
tabPanel(
|
||||||
"Home",
|
"Home",
|
||||||
fluidRow(column(
|
fluidRow(column(width = 11,
|
||||||
width = 11,
|
|
||||||
fluidRow(
|
fluidRow(
|
||||||
column(
|
column(width = 8,
|
||||||
width = 8,
|
|
||||||
tags$div(
|
tags$div(
|
||||||
tags$blockquote(
|
tags$blockquote(
|
||||||
"LoanRisk is being built to provide convenience to Finance and Accounting consultants and SMEs in finance industry."
|
"LoanRisk is being built to provide convenience to Finance and Accounting consultants and SMEs in finance industry."
|
||||||
@@ -18,13 +17,17 @@ panel1<-
|
|||||||
Naturally, it is time consuming and has its share of hassles. This app attempts to avoid all the hassles of setting up environment and tools to perform the multistep analysis.
|
Naturally, it is time consuming and has its share of hassles. This app attempts to avoid all the hassles of setting up environment and tools to perform the multistep analysis.
|
||||||
This app will calculate the provisioning requirements in a few clicks and one can download the report with a single click!"
|
This app will calculate the provisioning requirements in a few clicks and one can download the report with a single click!"
|
||||||
),
|
),
|
||||||
p("The basic steps are mentioned in the diagram on the left hand side. The app is not in its most evolved form yet.
|
p(
|
||||||
There is a huge list of features and functions that I personally want to include and implement in future."),
|
"The basic steps are mentioned in the diagram on the left hand side. The app is not in its most evolved form yet.
|
||||||
|
There is a huge list of features and functions that I personally want to include and implement in future."
|
||||||
|
),
|
||||||
h6("How to use?"),
|
h6("How to use?"),
|
||||||
p("Using the tool is very simple. You can upload two data sets. One that shows a certain number of transactions of each asset, along with some dates, parameters and event outcome.
|
p(
|
||||||
|
"Using the tool is very simple. You can upload two data sets. One that shows a certain number of transactions of each asset, along with some dates, parameters and event outcome.
|
||||||
And the other that contains value of collateral or estimated value of sales of the asset/hypothecated asset. Then proceed further with the clicks and in between select some parameters.
|
And the other that contains value of collateral or estimated value of sales of the asset/hypothecated asset. Then proceed further with the clicks and in between select some parameters.
|
||||||
For e.g. the discount rate to be applied, the most probable, maximum possible and minimum possible depreciation of value of the collateral.
|
For e.g. the discount rate to be applied, the most probable, maximum possible and minimum possible depreciation of value of the collateral.
|
||||||
Once the simulation is done, you can download the report in pdf format.")#,
|
Once the simulation is done, you can download the report in pdf format."
|
||||||
|
)#,
|
||||||
# "If you are a R coder, you are welcome to contribute and help improve. Please visit the ",
|
# "If you are a R coder, you are welcome to contribute and help improve. Please visit the ",
|
||||||
# tags$a(href = "https://github.com/asitav-sen/LoanRisk", "github page"),
|
# tags$a(href = "https://github.com/asitav-sen/LoanRisk", "github page"),
|
||||||
# " or ",
|
# " or ",
|
||||||
@@ -34,21 +37,21 @@ panel1<-
|
|||||||
# " to report issues and/or request new features/functions.", "For general discussions, please use this",tags$a(href = "https://github.com/asitav-sen/LoanRisk/discussions", "link"),
|
# " to report issues and/or request new features/functions.", "For general discussions, please use this",tags$a(href = "https://github.com/asitav-sen/LoanRisk/discussions", "link"),
|
||||||
# tags$br(),
|
# tags$br(),
|
||||||
# tags$image(height=100, width=100,src="logo3.png")
|
# tags$image(height=100, width=100,src="logo3.png")
|
||||||
)
|
)),
|
||||||
),
|
|
||||||
column(
|
column(
|
||||||
width = 4,
|
width = 4,
|
||||||
mermaid("
|
mermaid(
|
||||||
|
"
|
||||||
graph TB
|
graph TB
|
||||||
A[Data Upload]-->B[Downloading macroeconomic data]
|
A[Data Upload]-->B[Downloading macroeconomic data]
|
||||||
B[Downloading macroeconomic data from IMF]-->C[Forecasting macroeconomic parameters]
|
B[Downloading macroeconomic data from IMF]-->C[Forecasting macroeconomic parameters]
|
||||||
C[Forecasting macroeconomic parameters]-->D[Fit Survival Model]
|
C[Forecasting macroeconomic parameters]-->D[Fit Survival Model]
|
||||||
D[Fit Survival Model]-->E[Monte Carlo Simulation]
|
D[Fit Survival Model]-->E[Monte Carlo Simulation]
|
||||||
E[Monte Carlo Simulation]-->F[Report]
|
E[Monte Carlo Simulation]-->F[Report]
|
||||||
")
|
"
|
||||||
)
|
)
|
||||||
),
|
)
|
||||||
)),
|
),)),
|
||||||
tags$hr(),
|
tags$hr(),
|
||||||
fluidRow(
|
fluidRow(
|
||||||
column(
|
column(
|
||||||
@@ -59,8 +62,11 @@ panel1<-
|
|||||||
p("This section shows the data (uploaded or inbuilt sample).")
|
p("This section shows the data (uploaded or inbuilt sample).")
|
||||||
),
|
),
|
||||||
br(),
|
br(),
|
||||||
withSpinner(dataTableOutput("up_data"),type = 7,
|
withSpinner(
|
||||||
color = "black"),
|
dataTableOutput("up_data"),
|
||||||
|
type = 7,
|
||||||
|
color = "black"
|
||||||
|
),
|
||||||
br(),
|
br(),
|
||||||
actionButton("uploadnew", "Upload New Data", class = "btn-light")
|
actionButton("uploadnew", "Upload New Data", class = "btn-light")
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
"path": "~/Projects/LoanRisk/mod_basic.R",
|
"path": "~/Projects/LoanRisk/mod_basic.R",
|
||||||
"project_path": "mod_basic.R",
|
"project_path": "mod_basic.R",
|
||||||
"type": "r_source",
|
"type": "r_source",
|
||||||
"hash": "1648399213",
|
"hash": "0",
|
||||||
"contents": "",
|
"contents": "",
|
||||||
"dirty": false,
|
"dirty": false,
|
||||||
"created": 1686047786220.0,
|
"created": 1686047786220.0,
|
||||||
@@ -12,15 +12,15 @@
|
|||||||
"properties": {
|
"properties": {
|
||||||
"source_window_id": "",
|
"source_window_id": "",
|
||||||
"Source": "Source",
|
"Source": "Source",
|
||||||
"cursorPosition": "16,0",
|
"cursorPosition": "27,17",
|
||||||
"scrollLine": "0"
|
"scrollLine": "0"
|
||||||
},
|
},
|
||||||
"folds": "",
|
"folds": "",
|
||||||
"lastKnownWriteTime": 1686049500,
|
"lastKnownWriteTime": 1686050855,
|
||||||
"encoding": "UTF-8",
|
"encoding": "UTF-8",
|
||||||
"collab_server": "",
|
"collab_server": "",
|
||||||
"source_window": "",
|
"source_window": "",
|
||||||
"last_content_update": 1686049500334,
|
"last_content_update": 1686050855732,
|
||||||
"read_only": false,
|
"read_only": false,
|
||||||
"read_only_alternatives": []
|
"read_only_alternatives": []
|
||||||
}
|
}
|
||||||
@@ -6,9 +6,7 @@ basicstatUI <- function(id) {
|
|||||||
fluidRow(
|
fluidRow(
|
||||||
h3("No of Assets"),
|
h3("No of Assets"),
|
||||||
br(),
|
br(),
|
||||||
p(
|
p("This section shows some basic information about the portfolio."),
|
||||||
"This section shows some basic information about the portfolio."
|
|
||||||
),
|
|
||||||
plotOutput(ns("statplot")),
|
plotOutput(ns("statplot")),
|
||||||
verbatimTextOutput(ns("balancetext"))
|
verbatimTextOutput(ns("balancetext"))
|
||||||
)
|
)
|
||||||
@@ -90,8 +88,7 @@ basicstatServer <- function(id, dt) {
|
|||||||
group_by(customer_type, loan_status) %>%
|
group_by(customer_type, loan_status) %>%
|
||||||
summarise(no_of_loans = n()) %>%
|
summarise(no_of_loans = n()) %>%
|
||||||
ungroup() %>%
|
ungroup() %>%
|
||||||
ggplot(
|
ggplot(aes(
|
||||||
aes(
|
|
||||||
x = customer_type,
|
x = customer_type,
|
||||||
y = no_of_loans,
|
y = no_of_loans,
|
||||||
label = no_of_loans,
|
label = no_of_loans,
|
||||||
@@ -100,8 +97,7 @@ basicstatServer <- function(id, dt) {
|
|||||||
levels = c("0", "1"),
|
levels = c("0", "1"),
|
||||||
labels = c("Good", "Bad")
|
labels = c("Good", "Bad")
|
||||||
)
|
)
|
||||||
)
|
)) +
|
||||||
) +
|
|
||||||
geom_col(position = "dodge") +
|
geom_col(position = "dodge") +
|
||||||
geom_text(aes(y = no_of_loans + 20), position = position_dodge(width = 1)) +
|
geom_text(aes(y = no_of_loans + 20), position = position_dodge(width = 1)) +
|
||||||
labs(title = "No. of assets by customer type",
|
labs(title = "No. of assets by customer type",
|
||||||
|
|||||||
10
mod_basic.R
10
mod_basic.R
@@ -6,9 +6,7 @@ basicstatUI <- function(id) {
|
|||||||
fluidRow(
|
fluidRow(
|
||||||
h3("No of Assets"),
|
h3("No of Assets"),
|
||||||
br(),
|
br(),
|
||||||
p(
|
p("This section shows some basic information about the portfolio."),
|
||||||
"This section shows some basic information about the portfolio."
|
|
||||||
),
|
|
||||||
plotOutput(ns("statplot")),
|
plotOutput(ns("statplot")),
|
||||||
verbatimTextOutput(ns("balancetext"))
|
verbatimTextOutput(ns("balancetext"))
|
||||||
)
|
)
|
||||||
@@ -90,8 +88,7 @@ basicstatServer <- function(id, dt) {
|
|||||||
group_by(customer_type, loan_status) %>%
|
group_by(customer_type, loan_status) %>%
|
||||||
summarise(no_of_loans = n()) %>%
|
summarise(no_of_loans = n()) %>%
|
||||||
ungroup() %>%
|
ungroup() %>%
|
||||||
ggplot(
|
ggplot(aes(
|
||||||
aes(
|
|
||||||
x = customer_type,
|
x = customer_type,
|
||||||
y = no_of_loans,
|
y = no_of_loans,
|
||||||
label = no_of_loans,
|
label = no_of_loans,
|
||||||
@@ -100,8 +97,7 @@ basicstatServer <- function(id, dt) {
|
|||||||
levels = c("0", "1"),
|
levels = c("0", "1"),
|
||||||
labels = c("Good", "Bad")
|
labels = c("Good", "Bad")
|
||||||
)
|
)
|
||||||
)
|
)) +
|
||||||
) +
|
|
||||||
geom_col(position = "dodge") +
|
geom_col(position = "dodge") +
|
||||||
geom_text(aes(y = no_of_loans + 20), position = position_dodge(width = 1)) +
|
geom_text(aes(y = no_of_loans + 20), position = position_dodge(width = 1)) +
|
||||||
labs(title = "No. of assets by customer type",
|
labs(title = "No. of assets by customer type",
|
||||||
|
|||||||
38
panel.R
38
panel.R
@@ -1,14 +1,13 @@
|
|||||||
|
|
||||||
|
|
||||||
countries <- read.csv("./data/countries.csv")
|
countries <- read.csv("./data/countries.csv")
|
||||||
|
|
||||||
panel1 <-
|
panel1 <-
|
||||||
tabPanel(
|
tabPanel(
|
||||||
"Home",
|
"Home",
|
||||||
fluidRow(column(
|
fluidRow(column(width = 11,
|
||||||
width = 11,
|
|
||||||
fluidRow(
|
fluidRow(
|
||||||
column(
|
column(width = 8,
|
||||||
width = 8,
|
|
||||||
tags$div(
|
tags$div(
|
||||||
tags$blockquote(
|
tags$blockquote(
|
||||||
"LoanRisk is being built to provide convenience to Finance and Accounting consultants and SMEs in finance industry."
|
"LoanRisk is being built to provide convenience to Finance and Accounting consultants and SMEs in finance industry."
|
||||||
@@ -18,13 +17,17 @@ panel1<-
|
|||||||
Naturally, it is time consuming and has its share of hassles. This app attempts to avoid all the hassles of setting up environment and tools to perform the multistep analysis.
|
Naturally, it is time consuming and has its share of hassles. This app attempts to avoid all the hassles of setting up environment and tools to perform the multistep analysis.
|
||||||
This app will calculate the provisioning requirements in a few clicks and one can download the report with a single click!"
|
This app will calculate the provisioning requirements in a few clicks and one can download the report with a single click!"
|
||||||
),
|
),
|
||||||
p("The basic steps are mentioned in the diagram on the left hand side. The app is not in its most evolved form yet.
|
p(
|
||||||
There is a huge list of features and functions that I personally want to include and implement in future."),
|
"The basic steps are mentioned in the diagram on the left hand side. The app is not in its most evolved form yet.
|
||||||
|
There is a huge list of features and functions that I personally want to include and implement in future."
|
||||||
|
),
|
||||||
h6("How to use?"),
|
h6("How to use?"),
|
||||||
p("Using the tool is very simple. You can upload two data sets. One that shows a certain number of transactions of each asset, along with some dates, parameters and event outcome.
|
p(
|
||||||
|
"Using the tool is very simple. You can upload two data sets. One that shows a certain number of transactions of each asset, along with some dates, parameters and event outcome.
|
||||||
And the other that contains value of collateral or estimated value of sales of the asset/hypothecated asset. Then proceed further with the clicks and in between select some parameters.
|
And the other that contains value of collateral or estimated value of sales of the asset/hypothecated asset. Then proceed further with the clicks and in between select some parameters.
|
||||||
For e.g. the discount rate to be applied, the most probable, maximum possible and minimum possible depreciation of value of the collateral.
|
For e.g. the discount rate to be applied, the most probable, maximum possible and minimum possible depreciation of value of the collateral.
|
||||||
Once the simulation is done, you can download the report in pdf format.")#,
|
Once the simulation is done, you can download the report in pdf format."
|
||||||
|
)#,
|
||||||
# "If you are a R coder, you are welcome to contribute and help improve. Please visit the ",
|
# "If you are a R coder, you are welcome to contribute and help improve. Please visit the ",
|
||||||
# tags$a(href = "https://github.com/asitav-sen/LoanRisk", "github page"),
|
# tags$a(href = "https://github.com/asitav-sen/LoanRisk", "github page"),
|
||||||
# " or ",
|
# " or ",
|
||||||
@@ -34,21 +37,21 @@ panel1<-
|
|||||||
# " to report issues and/or request new features/functions.", "For general discussions, please use this",tags$a(href = "https://github.com/asitav-sen/LoanRisk/discussions", "link"),
|
# " to report issues and/or request new features/functions.", "For general discussions, please use this",tags$a(href = "https://github.com/asitav-sen/LoanRisk/discussions", "link"),
|
||||||
# tags$br(),
|
# tags$br(),
|
||||||
# tags$image(height=100, width=100,src="logo3.png")
|
# tags$image(height=100, width=100,src="logo3.png")
|
||||||
)
|
)),
|
||||||
),
|
|
||||||
column(
|
column(
|
||||||
width = 4,
|
width = 4,
|
||||||
mermaid("
|
mermaid(
|
||||||
|
"
|
||||||
graph TB
|
graph TB
|
||||||
A[Data Upload]-->B[Downloading macroeconomic data]
|
A[Data Upload]-->B[Downloading macroeconomic data]
|
||||||
B[Downloading macroeconomic data from IMF]-->C[Forecasting macroeconomic parameters]
|
B[Downloading macroeconomic data from IMF]-->C[Forecasting macroeconomic parameters]
|
||||||
C[Forecasting macroeconomic parameters]-->D[Fit Survival Model]
|
C[Forecasting macroeconomic parameters]-->D[Fit Survival Model]
|
||||||
D[Fit Survival Model]-->E[Monte Carlo Simulation]
|
D[Fit Survival Model]-->E[Monte Carlo Simulation]
|
||||||
E[Monte Carlo Simulation]-->F[Report]
|
E[Monte Carlo Simulation]-->F[Report]
|
||||||
")
|
"
|
||||||
)
|
)
|
||||||
),
|
)
|
||||||
)),
|
),)),
|
||||||
tags$hr(),
|
tags$hr(),
|
||||||
fluidRow(
|
fluidRow(
|
||||||
column(
|
column(
|
||||||
@@ -59,8 +62,11 @@ panel1<-
|
|||||||
p("This section shows the data (uploaded or inbuilt sample).")
|
p("This section shows the data (uploaded or inbuilt sample).")
|
||||||
),
|
),
|
||||||
br(),
|
br(),
|
||||||
withSpinner(dataTableOutput("up_data"),type = 7,
|
withSpinner(
|
||||||
color = "black"),
|
dataTableOutput("up_data"),
|
||||||
|
type = 7,
|
||||||
|
color = "black"
|
||||||
|
),
|
||||||
br(),
|
br(),
|
||||||
actionButton("uploadnew", "Upload New Data", class = "btn-light")
|
actionButton("uploadnew", "Upload New Data", class = "btn-light")
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user