Published February 7, 2022 | Version v1
Software Open

Technical Appendix to Green Central Banking

  • 1. University of Victoria
  • 2. UCLouvain and USL-B
  • 3. Université du Québec à Montréal
  • 4. Université de Sherbrooke

Description

1. Introduction

The files and figures below constitute the technical appendix to “Green Central Banking,” a chapter in the Oxford University Press Anthology on The Philosophy of Money and Finance (eds. Joakim Sandberg and Lisa Warenski, forthcoming). The chapter investigates the public speeches of central bankers around the world on the topic of “green” monetary policy over the last two decades. Specifically, we show by way of computer-assisted discourse analysis that many of the arguments we find in the central banking community today fail to overcome some serious legitimacy issues.

This technical appendix is intended for computational enthusiasts who would like to know more about the methodology, and perhaps start a project of their own using the data we collected. We provide below a structured corpus of speeches published between January 1997 and September 2021.

We followed a workflow characterized by four main steps:

  1. We scraped textual data using web scraping techniques (see section Web scraping)
  2. We retrieved the relevant material from the corpus using information retrieval methods (see section Retrieval)
  3. We evaluated this extraction in order to find a combination of keywords that returned the fewest number of irrelevant excerpts for the largest number of relevant ones (see section Evaluation)
  4. We exported the excerpts of text for qualitative annotation (see section Annotation)

2. Data

You will find the following objects to load inside the folder data/

dir("data")
## [1] "2021-10-03_Speeches_from_BIS_CB_Hub_paragraphs.rds"
## [2] "2021-10-06_Speeches_from_BIS_CB_Hub_metadata.rds"  
## [3] "greenCB_geoclassif.csv"                            
## [4] "wordlist_related_to_green_CB.txt"

2021-10-06_Speeches_from_BIS_CB_Hub_metadata.rds contains a table of metadata for all the documents we scraped. Here are the last three rows of the data, as an example.

Central_Bank author date speech title description url Global_North
Board of Governors of the Federal Reserve System Lael Brainard 2021-09-28 r210928d Lael Brainard: Navigating Delta headwinds on the path to a full recovery Speech by Ms Lael Brainard, Member of the Board of Governors of the Federal Reserve System, at ““Shocks, Shifts, and the Emerging Economic Landscape”” 2021 Annual Meeting of the National Association for Business Economics, Arlington, Virginia, 27 September 2021.by Lael Brainard https://www.bis.org/review/r210928d.htm TRUE
European Central Bank Christine Lagarde 2021-09-28 r210928a Christine Lagarde: Hearing at the Committee on Economic and Monetary Affairs of the European Parliament Introductory statement (via videoconference) by Ms Christine Lagarde, President of the European Central Bank, before the Hearing at the Committee on Economic and Monetary Affairs of the European Parliament, Frankfurt am Main, 18 March 2021.by Christine Lagarde https://www.bis.org/review/r210928a.htm TRUE
Federal Reserve Bank of New York John C Williams 2021-09-28 r210928e John C Williams: Business more like usual Remarks (via videoconference) by Mr John C Williams, President and Chief Executive Officer of the Federal Reserve Bank of New York, at the Economic Club of New York, 27 September 2021.by John C Williams https://www.bis.org/review/r210928e.htm TRUE

The headings should give sufficient clues to their content. Note that 1) the column speech is an internal document identifier scraped on the BIS website; 2) the column Global_North is a tentative classification of central banks, but we ultimately decided to use a geographical classification.

As the line plot in the file preview below shows, our data span January 1997 to September 2021.

The second file, 2021-10-03_Speeches_from_BIS_CB_Hub_paragraphs.rds, contains the full text of our documents, segmented by paragraphs. Here are the last few rows of the table:

speech paragraph order
r991220c In the foreign exchange market, the yen appreciated further against the U.S. dollar in late November, and is recently been traded in the range of 102-104 yen. 16
r991220c With regard to corporate finance, private banks have basically retained their cautious lending attitude. However, constraint that had been caused by severe fund-raising conditions and insufficient capital base has eased considerably. Under these circumstances, major banks are gradually becoming more active in extending loans, while carefully evaluating the credit risks involved. 17
r991220c However, credit demand for economic activities such as business fixed investment remains weak. In addition, some firms have been trying to reduce debts using their on-hand liquidity. As a result, credit demand in the private sector has continued to be basically stagnant, and thus private banks’ lending has remained sluggish. Corporate bond issuance has been steady. Meanwhile, CP issuance is increasing with the year-end approaching. 18
r991220c The growth of money stock (M2+CDs) has slowed somewhat mainly due to the weakness in credit demand in the private sector. 19
r991220c In this financial environment, the financial position of firms is easing, and the lending attitude of financial institutions as perceived by firms is becoming less severe. It continues to warrant careful monitoring how these favorable developments in corporate financing environment will affect economic activities. 20

Finally, greenCB_geoclassif.csv is a geographical classification of central banks and wordlist_related_to_green_CB.txt is a list of litteral terms or regular expression related to green central banking. We used the former for data visualization (see section Figure) and the latter for information retrieval (see section Retrieval).

3. Web scraping

In other projects, we scraped the website of individual central banks, which nowadays typically publish the full transcripts of their public speeches in a dedicated section. This project however required us to gather a corpus of speeches published by a large number of different sources. We thus turned to the centralized repository of central bankers’ speeches maintained by the Bank for International Settlements. With 115 organizations listed by the BIS, the gain in coverage more than makes up for the occasional missing speeches.

The following R and Python scripts can be found in the scripts/01_scraping folder:

dir("scripts/01_scraping")
## [1] "01_BIS_scrape_discourses.py"   "02_downloading_documents.py"  
## [3] "03_adding_info_to_metadata.R"  "04_extracting_BIS_full_text.R"

The Python script 01_BIS_scrape_discouses.py uses Selenium to scrape the metadata of all speeches on the BIS website. The script 02_downloading_documents.py uses the metadata to download the actual documents. We then turn to R for data manipulation: 03_adding_info_to_metadata.R improves the metadata and 04_extracting_BIS_full_text.R extracts the text from the PDFs and unwraps its paragraphs, producing a data.table of one-paragraph-per-row.

4. Retrieval

As the name of the field suggests, the task of information retrieval is to satisfy an informational need by retrieving the relevant pieces of text in a large corpus. In our case, we wanted to find excerpts of speeches related to the use of monetary policy as a greening technology. We solved the task using a boolean-type heursitic (i.e. the presence of one or many terms), one of the simplest form of information retrieval. As mentioned above, we agreed on a list of keywords typically used to talk about green monetary policy.

The script 01_functions_to_source_for_paragraph_extraction.R prepares the extraction by defining a few useful functions. The main one is push_relevant_paragraphs_to_brat(), which takes lists of terms as arguments and look for these terms in the corpus. The same function exports the paragraphs containing these terms to our annotation server (see section Annotation). The extraction is done in the script 02_paragraph_extraction.R. Note that regular expressions are used to increase precision.

Here is the list of terms used:

readLines(list.files("data/",pattern = "wordlist",full.names = T))
## [1] "global warming"          "climate change"         
## [3] "green central banking"   "green monetary policy"  
## [5] "green prudential policy" "carbon(-| )intensive"   
## [7] "low(-| )carbon economy"  "climate policies"       
## [9] "climate(-| )economy"

5. Evaluation

The function push_relevant_paragraphs_to_brat() in the script 01_functions_to_source_for_paragraph_extraction.R is also used to evaluate the recall and the precision of the extraction. The extraction is divided by themes, and different lists of terms related to a theme can be tested to see how many new paragraphs would be extracted. Every new extraction allows the annotators to evaluate whether saturation (i.e. no new relevant information) is reached.

6. Annotation

It should be mentioned that a sophisticated workflow can be designed when using open source annotation solutions such as a Brat annotation server.

  • Brat is organized in collection folders under <installation_path>/brat/data/, wherein we find the exported documents as .txt and their corresponding annotation files (.ann).
  • The annotation.config file controls the options on the annotator screen, the permitted entities, events, attributes, etc.

Therefore, this annotation database can be used to implement NLP routines, calculate inter-coder reliability, render visualizations, etc. Because we use some of these features in other projects, you may find in the scripts provided some pieces of code indirectly related to this specific project.

7. Figure

The figure in the file preview below accompanies the analysis. It shows the yearly proportion of words related to climate change in the central banks speeches. The script to prepare the data and regroup the central banks by geographic regions is in the folder scripts/03_graph.

Files

01_data_and_scripts.zip

Files (104.8 MB)

Name Size Download all
md5:954d02c8155bfa579cf8f94aaddde7e2
103.9 MB Preview Download
md5:aba91033f925303471d734fd86271b12
102.1 kB Preview Download
md5:1a8304e9f93599a2b8602313de4b94f0
13.8 kB Preview Download
md5:1ea16b7bf081dddd8e0bbf3963b79033
819.6 kB Download