finds.readers.sectoring

Implement industry sectoring

Copyright 2022, Terence Lim

MIT License

class finds.readers.sectoring.Crosswalk[source]

Bases: object

Reader for naics - sic crosswalk

static sectoring(code: str, name: str, desc: str, source: str = '') DataFrame[source]

Load sic - naics crosswalks from https://www.naics.com/

Parameters:
  • code – Column name for input code (i.e. map from)

  • name – Column name of output code (i.e. map to)

  • desc – Description of output code

  • source – location to scrape (default is blank to scrape from naics.com)

Returns:

DataFrame indexed by input code

class finds.readers.sectoring.Sectoring(sql: SQL, scheme: str, fillna: Any = None, source: str = '')[source]

Bases: object

Base class to implement industry sector grouping schemes

Parameters:
  • sql – SQL database connection object

  • scheme – name of sectoring scheme

  • fillna – value to return if source label is out of range

  • new – whether to recreate from source (True) or retrieve from SQL

  • source – url to recreate sector scheme from

Variables:

sectors – DataFrame mapping input code in index to output ‘name’ column

Sectoring schemes:

  • ‘sic1’, ‘sic2’, ‘sic3’: group 4-digit sic to 1, 2, or 3-digits

  • ‘sic’: map 6-digit naics to 4-digit sic

  • ‘naics’: map 4-digit sic to 6-digit naics

  • ‘bea1997’, ‘bea1963’, ‘bea1947’: map naics to bea schemes by vintage year

  • ‘codes48’, …, ‘codes5’: map 4-digit sic to FamaFrench schemes

__getitem__(code: List | str | int) List | Any[source]

Lookup sectoring group given raw input code/s

load(source: str = '') Series | None[source]

Load sectoring map from source url or file to SQL