Module:Stock tickers/NYSE
From HandWiki
Revision as of 17:01, 31 January 2020 by imported>Jworkorg (1 revision imported)
This Lua module is used on 2,200+ pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages. Consider discussing changes on the talk page before implementing them.
Transclusion count updated automatically (see documentation). |
This module is rated as alpha. It is ready for third-party input, and may be used on a few pages to see if problems arise, but should be watched. Suggestions for new features or changes in their input and output mechanisms are welcome. |
Usage
If you supply a NYSE stock ticker to the function. It will return a URL to that stock's listing on NYSE.com.
{{#invoke:Stock tickers|GetURL|ticker}}
Module usage
local getArgs = require('Module:Arguments').getArgs local p = {} function p.GetURL(frame) local args = getArgs(frame) return p._GetURL(args) end function p._GetURL(args) local ticker = args[1] local exchange = args.exchange -- By default the exchange will be NYSE if not exchange then exchange = 'NYSE' end -- Get corrected ticker ticker = p.FormatTickerURL(ticker) -- NYSE official URL url = 'https://www.nyse.com/quote/' .. exchangeCode[exchange] .. ':' .. ticker return url end function p.FormatTickerURL(ticker) -- Convert to upper case ticker = string.upper(ticker) -- NYSE.com formats for preferred shares / when issued -- Example: Input: PRE.PRD, Output: PREpD ticker = string.gsub(ticker, "%.PR", "p") ticker = string.gsub(ticker, "%.WI", "w") return ticker end -- Get NYSE exchange codes exchangeCode = { ['NYSE'] = 'XNYS', ['AMEX'] = 'XASE', ['ARCA'] = 'ARCX', ['NASDAQ'] = 'XNAS' } return p