In TSQL you can write a query using dynamic pivot as:   
DECLARE @cols AS NVARCHAR(MAX),@colsFinal AS NVARCHAR(MAX),
    @query  AS NVARCHAR(MAX)
select @cols = STUFF((SELECT distinct ', ' + TICKER 
                    from test1
                    group by TICKER, [DATE]
            FOR XML PATH(''), TYPE
            ).value('.', 'NVARCHAR(MAX)') 
        ,1,1,'')
select @colsFinal = STUFF((SELECT distinct ', isnull( ' + TICKER  +
                           ' ,0) as [PRICE (TICKER ' + TICKER +' )]'
                    from test1
                    group by TICKER, [DATE]
            FOR XML PATH(''), TYPE
            ).value('.', 'NVARCHAR(MAX)') 
        ,1,1,'')
set @query = N'SELECT [Date],' + @colsFinal + N' from 
             (
                select [Date], TICKER , SharePrice
                from test1 
            ) x
            pivot 
            (
                max(SharePrice)
                for TICKER in (' + @cols + N')
            ) p '
exec sp_executesql @query;
 DEMO