README.md

pactaCore

DEPRECATED. Please see https://github.com/RMI-PACTA/workflow.pacta for the successor project.

Lifecycle:
experimental R-CMD-check

The goal of pactaCore is run the core steps of the PACTA methodology with a single command, in a reproducible way.

System requirements

Docker.

Installation

You can install the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("2DegreesInvesting/pactaCore")

Setup

A good setup for a pacta project looks like this:

/home/mauro/pacta_tmp
├── .env
├── input
│   ├── TestPortfolio_Input.csv
│   └── TestPortfolio_Input_PortfolioParameters.yml
└── output
#> path/to/private/pacta-data/
#> ├── ...
#> ...
PACTA_OUTPUT=/home/mauro/pacta_tmp/output
PACTA_INPUT=/home/mauro/pacta_tmp/input
PACTA_DATA=/home/mauro/git/siblings/pacta-data
# From the terminal
git clone git@github.com:2DegreesInvesting/pacta-data.git

Usage

Use the pactaCore package with library() and run_pacta() with your environment file.

library(pactaCore)

run_pacta(env = "~/pacta_tmp/.env")

The output/ directory is now populated with results:

/home/mauro/pacta_tmp
├── input
│   ├── TestPortfolio_Input.csv
│   └── TestPortfolio_Input_PortfolioParameters.yml
└── output
    └── working_dir
        ├── 00_Log_Files
        │   └── TestPortfolio_Input
        ├── 10_Parameter_File
        │   └── TestPortfolio_Input_PortfolioParameters.yml
        ├── 20_Raw_Inputs
        │   └── TestPortfolio_Input.csv
        ├── 30_Processed_Inputs
        │   └── TestPortfolio_Input
        │       ├── audit_file.csv
        │       ├── audit_file.rda
        │       ├── bonds_portfolio.rda
        │       ├── coveragegraph.json
        │       ├── coveragegraphlegend.json
        │       ├── coveragetextvar.json
        │       ├── emissions.rda
        │       ├── equity_portfolio.rda
        │       ├── fund_coverage_summary.rda
        │       ├── invalidsecurities.csv
        │       ├── invalidsecurities.json
        │       ├── overview_portfolio.rda
        │       ├── portfolio_weights.json
        │       └── total_portfolio.rda
        ├── 40_Results
        │   └── TestPortfolio_Input
        │       ├── Bonds_results_company.rda
        │       ├── Bonds_results_map.rda
        │       ├── Bonds_results_portfolio.rda
        │       ├── Equity_results_company.rda
        │       ├── Equity_results_map.rda
        │       └── Equity_results_portfolio.rda
        └── 50_Outputs
            └── TestPortfolio_Input

For each corresponding <pair-name>, the portfolio and parameter files must be named <pair-name>_Input.csv and <pair-name>_Input_PortfolioParameters.yml, respectively. For example:

In the parameter files, whatever values you give to portfolio_name_in and investor_name_in will populate the columns portfolio_name and investor_name of some output files. For example:

default:
    parameters:
        portfolio_name_in: TestPortfolio_Input
        investor_name_in: Test
        peer_group: pensionfund
        language: EN
        project_code: CHPA2020
$`/home/mauro/pacta_tmp/output/working_dir/40_Results/TestPortfolio_Input/Bonds_results_company.rda`
# A tibble: 6 × 2
  portfolio_name      investor_name
  <chr>               <chr>        
1 TestPortfolio_Input Test         
2 TestPortfolio_Input Test         
3 TestPortfolio_Input Test         
4 TestPortfolio_Input Test         
5 TestPortfolio_Input Test         
6 TestPortfolio_Input Test

$`/home/mauro/pacta_tmp/output/working_dir/40_Results/TestPortfolio_Input/Bonds_results_map.rda`
# A tibble: 6 × 2
  portfolio_name      investor_name
  <chr>               <chr>        
1 TestPortfolio_Input Test         
2 TestPortfolio_Input Test         
3 TestPortfolio_Input Test         
4 TestPortfolio_Input Test         
5 TestPortfolio_Input Test         
6 TestPortfolio_Input Test

$`/home/mauro/pacta_tmp/output/working_dir/40_Results/TestPortfolio_Input/Bonds_results_portfolio.rda`
# A tibble: 6 × 2
  portfolio_name      investor_name
  <chr>               <chr>        
1 TestPortfolio_Input Test         
2 TestPortfolio_Input Test         
3 TestPortfolio_Input Test         
4 TestPortfolio_Input Test         
5 TestPortfolio_Input Test         
6 TestPortfolio_Input Test

$`/home/mauro/pacta_tmp/output/working_dir/40_Results/TestPortfolio_Input/Equity_results_company.rda`
# A tibble: 6 × 2
  portfolio_name      investor_name
  <chr>               <chr>        
1 TestPortfolio_Input Test         
2 TestPortfolio_Input Test         
3 TestPortfolio_Input Test         
4 TestPortfolio_Input Test         
5 TestPortfolio_Input Test         
6 TestPortfolio_Input Test

$`/home/mauro/pacta_tmp/output/working_dir/40_Results/TestPortfolio_Input/Equity_results_map.rda`
# A tibble: 6 × 2
  portfolio_name      investor_name
  <chr>               <chr>        
1 TestPortfolio_Input Test         
2 TestPortfolio_Input Test         
3 TestPortfolio_Input Test         
4 TestPortfolio_Input Test         
5 TestPortfolio_Input Test         
6 TestPortfolio_Input Test

$`/home/mauro/pacta_tmp/output/working_dir/40_Results/TestPortfolio_Input/Equity_results_portfolio.rda`
# A tibble: 6 × 2
  portfolio_name      investor_name
  <chr>               <chr>        
1 TestPortfolio_Input Test         
2 TestPortfolio_Input Test         
3 TestPortfolio_Input Test         
4 TestPortfolio_Input Test         
5 TestPortfolio_Input Test         
6 TestPortfolio_Input Test



2DegreesInvesting/pactaCore documentation built on Feb. 25, 2024, 3:20 a.m.