Skip to contents

Implements step 1 of https://github.com/FanWangEcon/PrjThaiHFID/issues/23 It filters and cleans the investment-loan data based on various criteria.

Usage

ffp_hfid_invest_loan_linked_abc_distinct(
  tstm_roster_invest_loan_linked,
  ar_st_vars_to_keep = c("agg_BS_1011", "agg_BS_1021", "agg_BS_2021", "agg_BS_3021"),
  fl_min_invest_size = 10000,
  it_mth_inv_start_min = 15,
  it_mth_inv_start_max = 145,
  bl_drop_afrombc = TRUE,
  bl_drop_cfromb = TRUE,
  verbose = FALSE,
  verbose_detail = FALSE,
  it_verbose_detail_nrow = 100
)

Arguments

tstm_roster_invest_loan_linked

The input dataset containing the linked investment-loan data.

ar_st_vars_to_keep

A character vector specifying the investment variables to consider.

fl_min_invest_size

The minimum investment size to consider.

it_mth_inv_start_min

The minimum starting month for investments.

it_mth_inv_start_max

The maximum starting month for investments.

bl_drop_afrombc

A logical value indicating whether to drop set A loans that are in set B or C.

bl_drop_cfromb

A logical value indicating whether to drop set C loans that are in set B.

verbose

A logical value indicating whether to print verbose output.

verbose_detail

A logical value indicating whether to print detailed verbose output.

it_verbose_detail_nrow

The number of rows to print for detailed verbose output.

Value

A list with dataframe containing the filtered and cleaned investment-loan data.

See also

Used by vignette(s) ffv_invest_loan_bridge and ffv_invest_return_bridge (the latter via the investloan_type_m8 categorization output). Related issue(s): PrjThaiHFID-#32.

Author

Fan Wang, http://fanwangecon.github.io

Examples

tstm_roster_invest_loan_linked <- PrjThaiHFID::tstm_roster_invest_loan_linked
ls_return <- ffp_hfid_invest_loan_linked_abc_distinct(tstm_roster_invest_loan_linked)
print(ls_return)
#> $tstm_roster_invest2loan2bridge_clean
#> # A tibble: 7,635 × 38
#>    hhid_Num ivars    hh_inv_asset_ctr forinfm4 hh_loan_id_nd forinfm4_paired_1t2
#>       <int> <chr>               <int> <chr>            <int> <chr>              
#>  1     1031 agg_BS_…                2 Quasi-f…            23 Quasi-formal       
#>  2     1078 agg_BS_…                1 Quasi-f…            40 NA                 
#>  3     1099 agg_BS_…                1 Quasi-f…            75 NA                 
#>  4     1099 agg_BS_…                2 Quasi-f…            75 NA                 
#>  5     1099 agg_BS_…                2 Village…            76 Village-Fund       
#>  6     1099 agg_BS_…                2 Village…            77 Village-Fund       
#>  7     1099 agg_BS_…                1 Quasi-f…            75 NA                 
#>  8     1099 agg_BS_…                1 Village…            77 Village-Fund       
#>  9     1113 agg_BS_…                1 Quasi-f…            91 NA                 
#> 10     1113 agg_BS_…                1 Quasi-f…            92 BAAC-Commercial    
#> # ℹ 7,625 more rows
#> # ℹ 32 more variables: hh_loan_id_nd_paired_1t2 <int>,
#> #   forinfm4_paired_2t3 <chr>, hh_loan_id_nd_paired_2t3 <int>,
#> #   mth_inv_start <dbl>, mth_inv_end <dbl>, loan_start <dbl>, loan_end <dbl>,
#> #   loan_start_paired_1t2 <dbl>, loan_end_paired_1t2 <dbl>,
#> #   loan_start_paired_2t3 <dbl>, loan_end_paired_2t3 <dbl>,
#> #   capital_prior <dbl>, capital_end <dbl>, capital_invest <dbl>, …
#> 
summary(ls_return$tstm_roster_invest2loan2bridge_clean)
#>     hhid_Num          ivars      hh_inv_asset_ctr      forinfm4   
#>  Min.   :1031   Length   :7635   Min.   :1.000    Length   :7635  
#>  1st Qu.:3161   N.unique :   2   1st Qu.:1.000    N.unique :   4  
#>  Median :5569   N.blank  :   0   Median :2.000    N.blank  :   0  
#>  Mean   :5529   Min.nchar:  11   Mean   :2.146    Min.nchar:   8  
#>  3rd Qu.:7705   Max.nchar:  11   3rd Qu.:3.000    Max.nchar:  15  
#>  Max.   :9996                    Max.   :7.000    NAs      : 631  
#>                                                                   
#>  hh_loan_id_nd   forinfm4_paired_1t2 hh_loan_id_nd_paired_1t2
#>  Min.   :   23   Length   :7635      Min.   :   24           
#>  1st Qu.: 5130   N.unique :   4      1st Qu.: 5158           
#>  Median :10122   N.blank  :   0      Median :10149           
#>  Mean   :10005   Min.nchar:   8      Mean   :10097           
#>  3rd Qu.:14903   Max.nchar:  15      3rd Qu.:15160           
#>  Max.   :19580   NAs      :1140      Max.   :19581           
#>  NAs    :631                         NAs    :2011            
#>  forinfm4_paired_2t3 hh_loan_id_nd_paired_2t3 mth_inv_start     mth_inv_end    
#>  Length   :7635      Min.   :   25            Min.   : 15.00   Min.   : 15.00  
#>  N.unique :   4      1st Qu.: 5400            1st Qu.: 53.00   1st Qu.: 53.00  
#>  N.blank  :   0      Median :10226            Median : 77.00   Median : 77.00  
#>  Min.nchar:   8      Mean   :10206            Mean   : 78.01   Mean   : 78.11  
#>  Max.nchar:  15      3rd Qu.:15378            3rd Qu.:101.00   3rd Qu.:101.00  
#>  NAs      :1729      Max.   :19582            Max.   :145.00   Max.   :145.00  
#>                      NAs    :2460                                              
#>    loan_start        loan_end      loan_start_paired_1t2 loan_end_paired_1t2
#>  Min.   :  9.00   Min.   : 13.00   Min.   : 16.00        Min.   : 18.00     
#>  1st Qu.: 52.00   1st Qu.: 66.00   1st Qu.: 62.00        1st Qu.: 74.00     
#>  Median : 74.00   Median : 89.00   Median : 83.00        Median : 96.00     
#>  Mean   : 75.86   Mean   : 91.96   Mean   : 85.99        Mean   : 97.77     
#>  3rd Qu.: 98.00   3rd Qu.:115.00   3rd Qu.:109.00        3rd Qu.:122.00     
#>  Max.   :145.00   Max.   :160.00   Max.   :160.00        Max.   :160.00     
#>  NAs    :631      NAs    :631      NAs    :1140          NAs    :1140       
#>  loan_start_paired_2t3 loan_end_paired_2t3 capital_prior      
#>  Min.   : 18.00        Min.   : 27.0       Min.   :        0  
#>  1st Qu.: 73.00        1st Qu.: 84.0       1st Qu.:    32877  
#>  Median : 90.00        Median :103.0       Median :   158076  
#>  Mean   : 93.49        Mean   :105.4       Mean   :  1015900  
#>  3rd Qu.:115.00        3rd Qu.:127.0       3rd Qu.:   626539  
#>  Max.   :159.00        Max.   :160.0       Max.   :141177726  
#>  NAs    :1729          NAs    :1729                           
#>   capital_end        capital_invest     loan_principal    loan_principal_last
#>  Min.   :    10000   Min.   :   10000   Min.   :    100   Min.   :      0    
#>  1st Qu.:    79099   1st Qu.:   26582   1st Qu.:  10000   1st Qu.:   4000    
#>  Median :   251316   Median :   47576   Median :  20000   Median :  15000    
#>  Mean   :  1142213   Mean   :  126314   Mean   :  41172   Mean   :  23985    
#>  3rd Qu.:   778275   3rd Qu.:  118894   3rd Qu.:  38460   3rd Qu.:  24000    
#>  Max.   :141635206   Max.   :11548178   Max.   :4100000   Max.   :1600000    
#>                                         NAs    :632       NAs    :631        
#>  loan_interest_monthly loan_principal_paired_1t2 loan_principal_last_paired_1t2
#>  Min.   :-1.000000     Min.   :    450           Min.   :      0               
#>  1st Qu.: 0.002276     1st Qu.:   5000           1st Qu.:   2500               
#>  Median : 0.004492     Median :  14702           Median :  11000               
#>  Mean   :-0.004497     Mean   :  25972           Mean   :  21722               
#>  3rd Qu.: 0.006229     3rd Qu.:  20000           3rd Qu.:  20000               
#>  Max.   : 0.462500     Max.   :2000000           Max.   :2000000               
#>  NAs    :632           NAs    :1140              NAs    :1140                  
#>  loan_interest_monthly_paired_1t2 loan_principal_paired_2t3
#>  Min.   :-1.000000                Min.   :    415          
#>  1st Qu.: 0.003274                1st Qu.:   5680          
#>  Median : 0.004844                Median :  16500          
#>  Mean   :-0.020286                Mean   :  29011          
#>  3rd Qu.: 0.006434                3rd Qu.:  29270          
#>  Max.   : 0.391941                Max.   :1600000          
#>  NAs    :1140                     NAs    :1729             
#>  loan_principal_last_paired_2t3 loan_interest_monthly_paired_2t3
#>  Min.   :      0                Min.   :-1.000000               
#>  1st Qu.:   3000                1st Qu.: 0.003022               
#>  Median :  14000                Median : 0.004492               
#>  Mean   :  24449                Mean   :-0.045428               
#>  3rd Qu.:  20000                3rd Qu.: 0.005938               
#>  Max.   :1600000                Max.   : 0.259921               
#>  NAs    :1729                   NAs    :1729                    
#>  bl_lender_type  bl_bridge_informal bl_loan_size    bl_loan_dura_a 
#>  Mode :logical   Mode :logical      Mode :logical   Mode :logical  
#>  FALSE:3149      FALSE:5205         FALSE:3008      FALSE:4580     
#>  TRUE :3346      TRUE :1290         TRUE :3486      TRUE :1915     
#>  NAs  :1140      NAs  :1140         NAs  :1141      NAs  :1140     
#>                                                                    
#>                                                                    
#>                                                                    
#>  bl_loan_dura_b  bl_loan_dura_c      ll_gw1          ll_gw2     
#>  Mode :logical   Mode :logical   Min.   : 0.00   Min.   : 0.00  
#>  FALSE:2507      FALSE:3263      1st Qu.:11.00   1st Qu.:10.00  
#>  TRUE :3988      TRUE :2643      Median :12.00   Median :12.00  
#>  NAs  :1140      NAs  :1729      Mean   :13.91   Mean   :11.79  
#>                                  3rd Qu.:13.00   3rd Qu.:12.00  
#>                                  Max.   :48.00   Max.   :48.00  
#>                                  NAs    :1140    NAs    :1140   
#>      ll_gw3     
#>  Min.   : 1.00  
#>  1st Qu.:11.00  
#>  Median :12.00  
#>  Mean   :11.94  
#>  3rd Qu.:12.00  
#>  Max.   :48.00  
#>  NAs    :1729