モジュール:Stock tickers/NYSE

2023年1月13日 (金) 01:38時点におけるAdminJP1 (トーク | 投稿記録)による版 (ページの作成:「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] ..…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

このモジュールについての説明文ページを モジュール:Stock tickers/NYSE/doc に作成できます

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