وحدة:Stock tickers/NYSE
| This template is used on 2٬000+ pages, so changes to it will be widely noticed. Please test any changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Please consider discussing changes on the talk page قبل تنفيذهم. |
| 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
{{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