QQQ. Days of the month, open to close.
Profit/loss (%) calculated for each day of the month for the period from 3/10/1999 till 11/28/2011: go long on open, exit on close.
day | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | 2005 | 2006 | 2007 | 2008 | 2009 | 2010 | 2011 | Total |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | -0.48 | 4.30 | 13.23 | 6.44 | 4.60 | 5.62 | 0.85 | -0.28 | 1.69 | 0.41 | 0.56 | 1.14 | -4.81 | 33.29 |
2 | 6.45 | -11.41 | -17.79 | -11.52 | 6.95 | 0.79 | 3.65 | -1.83 | 1.35 | -11.45 | 6.47 | 4.72 | -2.51 | -26.15 |
3 | -2.38 | 3.59 | 18.80 | -4.56 | -1.71 | -4.91 | -2.89 | 2.76 | -1.62 | 0.68 | 1.93 | 3.78 | 1.65 | 15.13 |
4 | 0.20 | -3.33 | 2.73 | 1.20 | 0.84 | 0.92 | -0.14 | 4.27 | 4.37 | -5.31 | 4.24 | -4.97 | -1.26 | 3.74 |
5 | 5.86 | 9.91 | 4.22 | -1.47 | -2.67 | 1.37 | -1.10 | -0.49 | 2.90 | 3.58 | 2.57 | 4.18 | 2.62 | 31.43 |
6 | -2.03 | -18.28 | -4.23 | 2.19 | 1.56 | -0.53 | -2.26 | -0.12 | 2.98 | -8.52 | 2.68 | -3.73 | 3.11 | -27.17 |
7 | -1.18 | 15.33 | 0.20 | -9.00 | -0.21 | -0.02 | 1.95 | -4.86 | -2.53 | -7.63 | -8.11 | -3.01 | -0.33 | -19.42 |
8 | 0.68 | -13.47 | -9.52 | 11.94 | -1.13 | -3.79 | -1.56 | 2.78 | 0.23 | 4.59 | 1.41 | 2.50 | -2.24 | -7.56 |
9 | 0.04 | -4.36 | -10.05 | -10.79 | -4.34 | -0.52 | 0.44 | -4.99 | -4.33 | -8.40 | 2.07 | -1.08 | 0.17 | -46.14 |
10 | 0.59 | -18.73 | 8.45 | -1.32 | 1.58 | 1.29 | -1.95 | 0.80 | 0.40 | 0.40 | 1.85 | 3.83 | -0.71 | -3.57 |
11 | 1.63 | 1.35 | 4.74 | -2.04 | 2.84 | 2.29 | 0.26 | 0.06 | -1.87 | -2.20 | 0.17 | 4.24 | 4.79 | 16.26 |
12 | -2.36 | -21.81 | 11.63 | 3.67 | 6.85 | 3.28 | 0.86 | -2.71 | 1.28 | 0.10 | 3.15 | 2.79 | 2.39 | 9.15 |
13 | -3.63 | 11.26 | -4.73 | 1.69 | 0.90 | -4.95 | 0.09 | -0.08 | 2.80 | 17.74 | 0.95 | 0.55 | 0.89 | 23.45 |
14 | -6.42 | -15.05 | -1.26 | 12.76 | 2.25 | -0.69 | -1.13 | 4.40 | -1.33 | -15.18 | -0.35 | -0.65 | 1.91 | -20.75 |
15 | 4.16 | 4.46 | -7.05 | 8.50 | -6.31 | -2.38 | -2.10 | 4.44 | -3.15 | -10.61 | 3.39 | 2.10 | 3.99 | -0.52 |
16 | 5.33 | 1.97 | -1.08 | 5.39 | 2.22 | -2.65 | -1.00 | -0.12 | 1.08 | 15.55 | -0.05 | -0.69 | -3.09 | 22.90 |
17 | 3.94 | 15.54 | -2.72 | -4.82 | -0.24 | 1.93 | 0.71 | -0.97 | -2.82 | -5.02 | 2.67 | 0.57 | -4.50 | 4.25 |
18 | 3.43 | -6.77 | 4.83 | -3.61 | 5.98 | 5.56 | 0.36 | -1.13 | 1.44 | -2.11 | 3.97 | -0.64 | -0.93 | 10.42 |
19 | -9.05 | -1.06 | 4.98 | -7.80 | -5.40 | -7.23 | -0.55 | 1.10 | -1.85 | -11.79 | -0.63 | 0.42 | -0.54 | -39.42 |
20 | 0.56 | -5.78 | -14.58 | -1.76 | 0.91 | 0.16 | -1.57 | -4.60 | 0.28 | -1.80 | -5.96 | 2.31 | -1.98 | -33.77 |
21 | 12.16 | 0.06 | 5.73 | 1.07 | -0.85 | -2.22 | -0.50 | -3.57 | 5.27 | -4.62 | 5.60 | -3.42 | -1.31 | 13.42 |
22 | -6.76 | 4.63 | 7.34 | -1.78 | 1.02 | 1.45 | -1.76 | -0.40 | 0.16 | -4.06 | 0.20 | 1.63 | -3.23 | -1.56 |
23 | -4.61 | -3.34 | -8.19 | -2.30 | 2.76 | -2.68 | -0.36 | -1.69 | -0.96 | 1.39 | 2.46 | -1.06 | 5.83 | -12.67 |
24 | 3.00 | -0.17 | 5.50 | 6.82 | -8.22 | 0.50 | -0.24 | 3.18 | 1.36 | 11.86 | 3.62 | -0.06 | 3.18 | 30.40 |
25 | 0.13 | -7.15 | 3.59 | -1.04 | 0.98 | 6.71 | 0.11 | 1.99 | -1.04 | -4.05 | 2.15 | 3.37 | -0.89 | 4.85 |
26 | -2.84 | -5.58 | -4.02 | -5.50 | -0.54 | 1.58 | -0.69 | 2.26 | -3.70 | 5.53 | 4.03 | -1.91 | 4.79 | -6.59 |
27 | -4.98 | 0.37 | 0.78 | -7.44 | 5.74 | 0.01 | -2.29 | -2.65 | -3.13 | 0.16 | 0.93 | 1.41 | 0.38 | -10.69 |
28 | 2.80 | -9.57 | -14.37 | -7.55 | 6.50 | -2.91 | -2.21 | 1.23 | -1.02 | 5.66 | 1.39 | -5.13 | -2.31 | -27.47 |
29 | 3.69 | -17.78 | -6.36 | -2.90 | 5.02 | 1.63 | -0.88 | 4.21 | 2.95 | -7.11 | 0.60 | -5.32 | 1.08 | -21.17 |
30 | -8.80 | 9.46 | -7.30 | 6.22 | -7.29 | -2.55 | 0.87 | -1.23 | 0.78 | 4.48 | -6.74 | -4.02 | 0.73 | -15.39 |
31 | -3.99 | 12.92 | -6.36 | -4.25 | -0.96 | -0.51 | 1.34 | -0.71 | -1.25 | 6.32 | -1.58 | -0.22 | 0.05 | 0.80 |
Query used:
--1
select [day], [1999], [2000], [2001], [2002], [2003], [2004], [2005], [2006],[2007], [2008], [2009], [2010], [2011], [2012] Total into #t
from
(select cast((t.c- t.o)/t.o * 100 as decimal(10,2)) pl, DATEPART(d, t.d) [day], YEAR(t.d) y from qqq t) p
pivot
(
sum(pl)
for y in ([1999], [2000], [2001], [2002], [2003], [2004], [2005], [2006],[2007], [2008], [2009], [2010], [2011],[2012])
) r
order by [day]
--2
update t
set t.Total = p.pl
from #t t
join (
select
datepart(d, t.d) [day],
cast(sum((t.c- t.o)/t.o * 100) as decimal(10,2)) 'PL'
from qqq t
group by datepart(d, t.d)
) p on T.[day] = p.[day]
--3
DECLARE @HeaderList varchar(max)
SELECT @HeaderList = COALESCE(@HeaderList + '', '') + name
from tempdb.sys.columns where object_id = object_id('tempdb..#t') order by column_id
select ' ' + @HeaderList + ' '
--4
DECLARE @SelectList varchar(max)
SELECT @SelectList = COALESCE(@SelectList + '+''''+', '') + 'CAST([' + name + '] AS varchar(50))'
from tempdb.sys.columns where object_id = object_id('tempdb..#t') order by column_id
declare @sql varchar(max)
select @sql = 'select '' ''+' + @SelectList + '+'' '' from #t'
exec (@sql)
or, to combine 3 and 4:
DECLARE @HeaderList varchar(max), @head varchar(1000)
SELECT @HeaderList = COALESCE(@HeaderList + '', '') + name
from tempdb.sys.columns where object_id = object_id('tempdb..#t') order by column_id
select @head = ' ' + @HeaderList + ' '
DECLARE @SelectList varchar(max)
SELECT @SelectList = COALESCE(@SelectList + '+''''+', '') + 'CAST([' + name + '] AS varchar(50))'
from tempdb.sys.columns where object_id = object_id('tempdb..#t') order by column_id
declare @sql varchar(max)
select @sql = 'select ''' + @head + ''' union all select '' ''+' + @SelectList + '+'' '' from #t'
exec (@sql)