This Lua module is used on 2,000+ pages and changes may be widely noticed. Test changes in the module's /sandbox or /testcases subpages, or in your own module sandbox. Consider discussing changes on the talk page before implementing them. |
This module is subject to page protection. It is a highly visible module in use by a very large number of pages, or is substituted very frequently. Because vandalism or mistakes would affect many pages, and even trivial editing might cause substantial load on the servers, it is protected from editing. |
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
{{New York Stock Exchange}}
{{NYSE link}}
{{NYSE American}}
{{NYSE Arca}}
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