Skip to content

shrektan/lookthrough

Repository files navigation

lookthrough

CRAN status lifecycle AppVeyor build status Travis build status Coverage status

The goal of lookthrough is to help to view the assets exposure using the look-through approach.

Installation

devtools::install_github("shrektan/lookthrough")

Example

library(lookthrough)
data(lkthr_sample)
ptfs <- as_lkthr(lkthr_sample$ptfs)
funds <- as_lkthr(lkthr_sample$funds)
lkthr_match(ptfs, funds)
lkthr_set(ptfs, lkthr_sample$attributes)
print(ptfs, "exposure", "issuer", "guarantor")
#>                     levelName  exposure    issuer guarantor
#> 1  TOTAL                      24,900.00                    
#> 2   |--ptf1                    5,300.00                    
#> 3   |   |--asset1                300.00 company_a company_b
#> 4   |   |--fund2                 900.00                    
#> 5   |   |   |--asset5            230.77                    
#> 6   |   |   |--asset3             92.31 company_b company_d
#> 7   |   |   °--fund3             576.92                    
#> 8   |   |       |--asset3        384.62 company_b company_d
#> 9   |   |       |--asset7        144.23 company_g          
#> 10  |   |       °--fund1          48.08                    
#> 11  |   |           |--asset1     14.79 company_a company_b
#> 12  |   |           °--asset2     33.28 company_a company_c
#> 13  |   |--asset3                800.00 company_b company_d
#> 14  |   |--asset4                500.00 company_e          
#> 15  |   |--asset5                800.00                    
#> 16  |   °--fund3               2,000.00                    
#> 17  |       |--asset3          1,333.33 company_b company_d
#> 18  |       |--asset7            500.00 company_g          
#> 19  |       °--fund1             166.67                    
#> 20  |           |--asset1         51.28 company_a company_b
#> 21  |           °--asset2        115.38 company_a company_c
#> 22  |--ptf2                   10,700.00                    
#> 23  |   |--fund1                 800.00                    
#> 24  |   |   |--asset1            246.15 company_a company_b
#> 25  |   |   °--asset2            553.85 company_a company_c
#> 26  |   |--asset2                600.00 company_a company_c
#> 27  |   °--asset3              9,300.00 company_b company_d
#> 28  °--ptf3                    8,900.00                    
#> 29      |--asset5                900.00                    
#> 30      |--asset6              1,000.00                    
#> 31      |--asset7              2,000.00 company_g          
#> 32      °--fund3               5,000.00                    
#> 33          |--asset3          3,333.33 company_b company_d
#> 34          |--asset7          1,250.00 company_g          
#> 35          °--fund1             416.67                    
#> 36              |--asset1        128.21 company_a company_b
#> 37              °--asset2        288.46 company_a company_c
plot(ptfs)

ptfs-plot

company_a <- lkthr_filter(ptfs, function(node) { "company_a" %in% node$issuer })
print(company_a, "issuer", "exposure")
#>                     levelName    issuer exposure
#> 1  TOTAL                                2,331.41
#> 2   |--ptf1                               514.74
#> 3   |   |--asset1             company_a   300.00
#> 4   |   |--fund2                           48.08
#> 5   |   |   °--fund3                       48.08
#> 6   |   |       °--fund1                   48.08
#> 7   |   |           |--asset1 company_a    14.79
#> 8   |   |           °--asset2 company_a    33.28
#> 9   |   °--fund3                          166.67
#> 10  |       °--fund1                      166.67
#> 11  |           |--asset1     company_a    51.28
#> 12  |           °--asset2     company_a   115.38
#> 13  |--ptf2                             1,400.00
#> 14  |   |--fund1                          800.00
#> 15  |   |   |--asset1         company_a   246.15
#> 16  |   |   °--asset2         company_a   553.85
#> 17  |   °--asset2             company_a   600.00
#> 18  °--ptf3                               416.67
#> 19      °--fund3                          416.67
#> 20          °--fund1                      416.67
#> 21              |--asset1     company_a   128.21
#> 22              °--asset2     company_a   288.46
data.tree::Aggregate(company_a, "exposure", sum)
#> [1] 2331.41
company_a$ptf1$exposure
#> [1] 514.7436
plot(company_a)

issuer-plot

About

View the assets exposure using the look-through approach.

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE
MIT
LICENSE.md

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages