Jump to content

Module:Stock tickers/NYSE: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
do not support preferred shares without period, otherwise you have cases like PRE (PartnerRe Ltd.) that you have to work around
Support Arca and NYSE MKT
Line 9: Line 9:
function p._GetURL(args)
function p._GetURL(args)
local ticker = args[1]
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
-- Get corrected ticker
Line 14: Line 18:
-- NYSE offical URL
-- NYSE offical URL
url = 'http://www.nyse.com/quote/XNYS:' .. ticker
url = 'http://www.nyse.com/quote/' .. exchangeCode[exchange] .. ':' .. ticker
return url
return url
Line 25: Line 29:
-- NYSE.com formats for preferred shares
-- NYSE.com formats for preferred shares
-- Example: Input: PRE.PRD, Output: https://www.nyse.com/quote/XNYS:PREpD
-- Example: Input: PRE.PRD, Output: PREpD
ticker = string.gsub(ticker, "%.PR", "p")
ticker = string.gsub(ticker, "%.PR", "p")
return ticker
return ticker
end
end

-- Get NYSE exchange codes
exchangeCode = {
['NYSE'] = 'XNYS',
['AMEX'] = 'XASE',
['ARCA'] = 'ARCX',
}


return p
return p

Revision as of 13:41, 3 August 2014

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 offical URL
	url = 'http://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
	-- Example: Input: PRE.PRD, Output: PREpD
	ticker = string.gsub(ticker, "%.PR", "p")
	
	return ticker
end

-- Get NYSE exchange codes
exchangeCode = {
	['NYSE'] = 'XNYS',
	['AMEX'] = 'XASE',
	['ARCA'] = 'ARCX',
}

return p