Author: Fabio Ashtar Telarico, University of Ljubljana, FDV
The numerous packages helping users to deal with network data in R
(most notably network
and igraph
) do not offer tools specific for financial networks.
For years now, authors and analysts have worked on financial data using ad-hoc tools or programming languages other than R
. So, the package FinNet
was born to provide all R
users with the ability to study financial networks with a set of tool especially designed to this purpose. Specifically, FinNet
offers both brand new tools and an interface to the almost limitless capabilities of igraph
and network
.
The first release of FinNet
introduces the backbone of this system, which will be expanded with new releases. A basic introduction is available in this readme. For more information, visit: FinNet's webiste
install.packages('FinNet')
if(!require('remotes'))install.packages('remotes')
remotes::install_github('faTelarico/FinNet')
Before FinNet
there was not R
package especially conceived for financial-network analysis on the CRAN
. True, similar results could be achieved combining functions from several packages. However, FinNet
allows users (mainly analysts and researchers) to focus on what matters, their analyses, and let the package take care of tedious operations and conversion.
In a nutshell, FinNet
is designed to put ease of use first.1 Moreover, it allows for a very lean installation since the only required packages are included with base R
: grDevices
and methods
. Yet, it is extremely flexible insofar as it allows users to leverage the capabilities of other packages available on CRAN
:
igraph
ornetwork
to interfaceFinNet
with these packages;knitr
orpander
to print better summaries to the console;Matrix
to optimise the storage of relations between agents;SPB
to get better progress bars; andyahoofinancer
to automatically retrieve data from Yahoo! Finance
At this stage of development, FinNet
provides the following:
- Specialised S4 classes for financial agents (
firm
), their relations (financial_matrix
), and interfaces to other packages (network_financial
andigraph_financial
); - Functions to register information about financial agents, including retrieving them from Yahoo! Finance;
- Function to encode the relations between these agents and their owners or managers into incidence matrices;
- Function to encode the relations between these agents (based on common ownership, board interlocks, or both) into adjacency matrices;
- Function to encode the relations between these agents (based on common ownership, board interlocks, or both) into extended
network
origraph
objects.
A simple look at the list of packages available on CRAN
shows that there are no packages for financial-network analysis.
The most up-to-date book on the subject, Introduction to R for Quantitative Finance (Daróczi et al. 2023, 125-138) uses igraph
do analyse the network, but offers no indications as regards data managing and network construction.
With implementation in both C++
and R
:
- Functions to identify systematically important agents in the network (see Komárková, Hausenblas, and Frait 2012; Lai and Hu 2021);
- Different measures of centrality (see Nakamoto, Chakraborty and Ikeda 2019);
- Estimation of systemic risk and simulating financial contagion (see Kali and Reyes 2013; and Summer 2013).
The upcoming features of the package are:
- Functions to estimate influence and influence-maximisation algorhitms (see Mizruchi and Bunting [1981] (https://doi.org/10.2307/2392519); Khalife, Read and Vazirgiannis 2021);
- Improve support for
network
/sna
; - Introduce a graphical interface to execute most operation.