A reader asks about the seasonal chart. Here is a simpler version.
The seasonality is defined as the percent change from the beginning of year to the end of each month.
monthlychange[stock_, year_] :=
Module[{data, firstdateprice, endofmonthprice},
data = FinancialData[stock, "Close", {{year, 1, 1}, {year, 12, 31}}];
data = Map[Flatten[#] &, data]; firstdateprice = data[[1, 4]];
endofmonthprice = Table[Last@Select[data, #[[2]] == i &][[All, 4]], {i, 12}]; (endofmonthprice/firstdateprice - 1)*100]
This will give you the monthly change of AAPL in the year of 2008.
monthlychange["AAPL", 2008]
For multiple years, the average seasonality:
mc = monthlychange["AAPL", #] & /@ Range[2000, 2008];
Mean@mc
For APPL, the following graph shows the average seasonality from 2000 – 2008. According to this graph, it is probably a good idea to hold the stock through Oct and Nov before selling it.
This is a graph shows the seasonality year by year.