JSPM

gics-data

1.0.1
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 10
  • Score
    100M100P100Q35727F
  • License ISC

Modern library to parse, manipulate, and find GICS codes based on Global Industry Classification Standard by MSCI.

Package Exports

  • gics-data
  • gics-data/lib/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (gics-data) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

GICS

Modern library to parse, manipulate, and find GICS codes based on Global Industry Classification Standard by MSCI. This is an industry standard used widely in Financial Services (GICS code 4020).

Why?

We haven't found modern typescript library for our needs.

Installation

npm install gics-data

Usage

import { 
  getDetails, 
  getDirectChildren, 
  getParent, 
  getLevel, 
  isValid,
  getPositions,
  classificationNested 
} from 'gics-data'

// Get detailed information for a GICS code
const sector = getDetails('10')
console.log(sector) // { code: '10', name: 'Energy', children: {...} }

// Check if a GICS code is valid
console.log(isValid('10')) // true
console.log(isValid('99')) // false

// Get parent of a GICS code
const parent = getParent('1010')
console.log(parent) // { code: '10', name: 'Energy' }

// Get direct children of a GICS code
const children = getDirectChildren('10')
console.log(Object.keys(children)) // ['1010']

// Get all codes at a specific level
const sectors = getLevel(1) // All sectors
const industryGroups = getLevel(2) // All industry groups
const industries = getLevel(3) // All industries
const subIndustries = getLevel(4) // All sub-industries

// Get hierarchy breakdown of a GICS code
const positions = getPositions('10101010')
console.log(positions) // [{ code: '10', name: 'Energy' }, { code: '1010', name: 'Energy' }, ...]

API Reference

getDetails(code: string)

Returns detailed information for a GICS code including name, parent, and children.

  • Returns: ElementNested | undefined

isValid(code: string)

Checks if a GICS code exists in the classification.

  • Returns: boolean

getParent(code: string)

Returns the parent element of a GICS code.

  • Returns: ElementCodified | undefined

getDirectChildren(code: string)

Returns all direct children of a GICS code.

  • Returns: Record<string, ElementCodified> | undefined

getLevel(level?: number)

Returns all GICS codes at a specific hierarchical level.

  • Parameters: level - 1 (sectors), 2 (industry groups), 3 (industries), 4 (sub-industries)
  • Default: 1
  • Returns: Record<string, ElementNested>

getPositions(code: string)

Breaks down a GICS code into each hierarchical position as an array.

  • Parameters: code - The GICS code to break down
  • Returns: Array<ElementCodified> | null - Array containing each level from sector to the specified code, or null if invalid

classificationNested

The complete GICS classification data as a nested object structure.

GICS Hierarchy

The Global Industry Classification Standard has 4 levels:

  • Level 1: Sectors (2-digit codes, e.g., 10 = Energy)
  • Level 2: Industry Groups (4-digit codes, e.g., 1010 = Energy)
  • Level 3: Industries (6-digit codes, e.g., 101010 = Energy Equipment & Services)
  • Level 4: Sub-Industries (8-digit codes, e.g., 10101010 = Oil & Gas Drilling)

Types

export type Element = {
  name: string;
  description?: string;
}

export type ElementCodified = Element & {
  code: string
}

export type ElementNested = ElementCodified & {
  parent?: ElementCodified
  children?: Record<string, ElementCodified>
}

export type ClassificationPosition = Array<ElementCodified>

License

ISC

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.