Source code for graphnetz.datasets.finance
"""Finance and economics networks.
Coverage:
- Trade: ``product_space`` (economic complexity).
- Ownership / corporate control: ``board_directors`` (Norwegian boards).
- Innovation: ``us_patents`` citation network.
- Transactions / fraud / AML: PyG ``EllipticBitcoinDataset`` (illicit-wallet
detection on Bitcoin transactions).
- Open Graph Benchmark (optional ``ogb`` extra): ``ogbn_products``
(Amazon co-purchase graph for node classification, ~2.4 M nodes,
47 product categories).
Inter-bank exposure datasets are typically confidential and have no canonical
public benchmark.
"""
from torch_geometric.data import Data
from torch_geometric.datasets import EllipticBitcoinDataset
from graphnetz.datasets._netz import Netz
from graphnetz.datasets._ogb import load_ogb_node
[docs]
def product_space(root: str) -> Netz:
"""Product space of international trade (economic complexity)."""
return Netz(root=root, dataset_name="product_space", network_name="product_space")
[docs]
def board_directors(root: str, network_name: str = "net1m_2002-05-01") -> Netz:
"""Norwegian boards of directors interlock network (snapshot)."""
return Netz(root=root, dataset_name="board_directors", network_name=network_name)
[docs]
def us_patents(root: str) -> Netz:
"""US patents citation network."""
return Netz(root=root, dataset_name="us_patents", network_name="us_patents")
[docs]
def elliptic_bitcoin(root: str) -> EllipticBitcoinDataset:
"""Elliptic Bitcoin transactions dataset for illicit-wallet detection."""
return EllipticBitcoinDataset(root=root)
[docs]
def ogbn_products(root: str) -> Data:
"""OGB Amazon product co-purchase network (~2.4 M nodes, 47 classes).
Larger than ``ogbn_arxiv`` — full-graph training is feasible on a
workstation GPU but slow; reduce ``epochs`` for quick iteration.
"""
return load_ogb_node("ogbn-products", root)
__all__ = ["board_directors", "elliptic_bitcoin", "ogbn_products", "product_space", "us_patents"]