Détail du package

stock-symbol-lookup

nleoutsa79MIT0.2.1

A lookup service for stock symbols and company names.

stock symbol lookup, stock symbol directory, stock symbol list, security symbol directory

readme

Stock Symbol Lookup

A promise based node service that looks up security names based on stock symbols or symbols based on security names.

by Nick Leoutsakos (https://github.com/nleoutsa)

TODO:

  • Move away from FTP reliance so data can be loaded client side.
  • Allow for sorting by trade volume or some other indicator (currently alphabetical).

Installation:

npm install stock-symbol-lookup --save

Include:

js:

var StockSymbolLookup = require('stock-symbol-lookup');

typescript:

import * as StockSymbolLookup from 'stock-symbol-lookup';

API:

loadData:

StockSymbolLookup.loadData()
    .then((data) => {
        // this can currently only be done server-side.
        // data is now available to be searched inside or outside of this function.
    });

setData:

StockSymbolLookup.setData(data)
    .then((data) => {
        // data is now available to be searched inside or outside of this function.
    });

getData:

StockSymbolLookup.getData()
    .then((data) => {
        // get data after loadData (server-side only) or setData.
        // data is now available to be searched inside or outside of this function.
    });

data format:

data is an object containing two arrays: data.symbols and data.securities:

data = {
    symbols: [...],
    securities: [...]
};

data.symbols is an array containing 26 sub-arrays - one each for each letter of the English alphabet (This greatly speeds up filtering operations against symbols). Each sub-array contains all security objects for which the fist letter of the symbol matches the array index:

data.symbols = [
    [
        {
            symbol:'AA', 
            securityName: 'Alcoa'
        },
        {
            symbol:'AAPL', 
            securityName: 'Apple'
        },
        ...
    ],
    [
        {
            symbol:'BAC', 
            securityName: 'Bank of America'
        },
        ...
    ],
    ...    
];

data.securities is an array of all security objects:

data.securities = [
    {
        symbol:'AA', 
        securityName: 'Alcoa'
    },
    {
        symbol:'AAPL', 
        securityName: 'Apple'
    },
    {
        symbol:'BAC', 
        securityName: 'Bank of America'
    },
    ...
];

search:

Params:
  • input: string
    • string to be searched.
  • maxEntries: number (optional)
    • maximum number of entries to return.
  • unique (optional)
    • will only return securities that do not already appear in the list of returned symbols.
      StockSymbolLookup.search(input, maxEntries, unique)
      .then((data) => {
          // data is an object.
          // data.symbols contains the return values of searchBySymbol(input, maxEntries).
          // data.securities contains the return values of searchBySecurity(input, maxEntries).
      });
      

      searchAll:

      Params:
  • input: string
    • string to be searched.
  • maxEntries: number (optional)
    • maximum number of entries to return. ``` // searches by both symbol and security

StockSymbolLookup.searchAll(input, maxEntries) .then((securities) => { // securities is an array with max length of maxEntries. // Each element of the array is an object representing one security. // Symbol can be gotten via securities[INDEX].symbol. // Security Name can be gotten via securities[INDEX].securityName. });


### searchBySymbol: 
### searchAll: 
###### Params:
- input: string
  - string to be searched.
- maxEntries: number (optional)
  - maximum number of entries to return.

StockSymbolLookup.searchBySymbol(input, maxEntries) .then((symbols) => { // symbols is an array with max length of maxEntries. // Each element of the array is an object representing one security. // Security Name can be gotten via symbols[INDEX].securityName. });


### searchBySecurity: 
### searchAll: 
###### Params:
- input: string
  - string to be searched.
- maxEntries: number (optional)
  - maximum number of entries to return.

StockSymbolLookup.searchBySecurity(input, maxEntries) .then((securities) => { // securities is an array with max length of maxEntries. // Each element of the array is an object representing one security. // Symbol can be gotten via securities[INDEX].symbol. }); ```