One cool thing to have come out of Asirikuy lately is forex historical data from http://www.forex-historical.com. The site sells 5 minute Historical data on 21 currency pairs to Asirikuy members for a modest fee through an arrangement between Daniel and Forex Historical. The site also offers free end-of-day data in for those same 21-pairs in 12-hour resolution.
Free is always transformational, so I downloaded the data for the free end of day data to see if I could get a better idea about seasonality. Specifically, I was contemplating how much seasonality can be measured. Put another way, how much different are the movements of the market during 'busy' times versus quiet times during August? With that in mind, I could potentially filter our trading signals during slow weeks to see if that would improve performance or perhaps decrease drawdown.
Data leads to information, and information leads to knowledge. But you can't get there without some work. So I dug right in and came up against these hurdles. First, the data is in 12-hour format with a single 12-hour record for Sunday, then 2 records for Monday, etc. I wanted to combine the data by date, so I imported it into MS-Access and ran some queries:
SELECT [EURUSD-Daily-RangePct].DayOfWeek, AVG([EURUSD-Daily-RangePct].PCTRANGE)*100 AS AVGOF1PCTMOVE
FROM [EURUSD-Daily-RangePct]
GROUP BY [EURUSD-Daily-RangePct].DayOfWeek;
That query produced the first graph which shows that Sunday evening session is the slowest, with only 0.6 times 1% of an average move. Monday comes up to just under 0.9 of 1% move followed by higher values on Tuesday and Wednesday and Thursday topping out at 0.98 of 1% and back to 0.82 of 1% on Friday. So much for the myth that Friday is the most active day of the week.
So with Days of the week tackled, I went onto seasonality. The way the holidays fall you can't really be sure that active times are going to fall on a specific day of the month, so month's are much help. I decided to go with this qualifier:
DatePart("ww",EURUSD1.Date)
This picks off the "week number" of the year. There are number of different ways to consider week numbers, but I don't care about the implementation, I just want to see what it tells us.
SELECT DISTINCTROW [EURUSR-Daily-WeekNo].TheWeek, Avg([EURUSR-Daily-WeekNo].MOVE1PCT) AS [Avg Of MOVE1PCT]
FROM [EURUSR-Daily-WeekNo]
GROUP BY [EURUSR-Daily-WeekNo].TheWeek;
This query produced the following table. There is one column for each week. As expected the busiest time of the year is actually the 2nd week of the year with average moves of over 1%. After that, the moves generally decrease then form another plateau around week 40. The 2nd highest expected move week is week #45 which is late October, early November.
So now that we are armed with this data, we can calculate our current week of the year and know how much movement to expect the coming week. We just finished week #36 which ends a period of several weeks with expected moved under 0.9 times 1%. In the next 3 weeks, we are now expecting generally higher moves of > 0.90 of 1% for the next 3 weeks.
Overall, the seasonality factor was not as great as I expected, at the maximum about 40% of the movement, but on average is was closer to explaining at most 20 or 25% of the price action. Anyway, I will upload both the MS-Excel file (Forex-Historical.mdb) and the Excel Spreadsheet DayOfWeek-WeekOfYear.xls to by Yahoo Group in case you want to play around with it.
On the topic of Forex performance, we finally had a good week, with nice gains in almost all accounts. But with the amount of draw down we have seen, its going to take some pretty spectacular gains just to get back to even.
Its a healthy reminder that Forex is not an easy way to make money versus say equities which at least have a positive historical expectation. Throw in a decent dividend yields and the expectation is even better. Makes me wonder why I even bother with Forex. Except that its a challenge and so much fun.
Have a great week and enjoy upcoming week #37 when we expect 0.92 of 1% average moves for the EUR/USD.
No comments:
Post a Comment