Neighbour Problem Manager

    stock-symbol-lookup
    TypeScript icon, indicating that this package has built-in type declarations

    0.2.1 • Public • Published

    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.
        });
    

    Install

    npm i stock-symbol-lookup

    DownloadsWeekly Downloads

    1

    Version

    0.2.1

    License

    MIT

    Last publish

    Collaborators

    • nleoutsa