localgetArgs=require('Module:Arguments').getArgslocalp={}functionp.GetURL(frame)localargs=getArgs(frame)returnp._GetURL(args)endfunctionp._GetURL(args)localticker=args[1]localexchange=args.exchange-- By default the exchange will be NYSEifnotexchangethenexchange='NYSE'end-- Get corrected tickerticker=p.FormatTickerURL(ticker)-- NYSE official URLurl='https://www.nyse.com/quote/'..exchangeCode[exchange]..':'..tickerreturnurlendfunctionp.FormatTickerURL(ticker)-- Convert to upper caseticker=string.upper(ticker)-- NYSE.com formats for preferred shares / when issued-- Example: Input: PRE.PRD, Output: PREpDticker=string.gsub(ticker,"%.PR","p")ticker=string.gsub(ticker,"%.WI","w")returntickerend-- Get NYSE exchange codesexchangeCode={['NYSE']='XNYS',['AMEX']='XASE',['ARCA']='ARCX',['NASDAQ']='XNAS'}returnp