Hi All,
While back testing I discovered that my strategy would return different results between restarts of eSignal software.
What I found is that eSignal can connect to one of many different servers and those servers have independent databases that can be out of sync with each other.
This presents a HUGE problem when back testing because a valid strategy could appear invalid due to a missing day.
When I found this I contacted eSignal tech support and this problem has been addressed since.
Here is the code I used to detect the missing days:
function VerifyData()
{
if ((year(0) == 2004) && (month(0) == 12))
{
if ((day(0) == 9) && (day(-1) != 8))
MISSING_12_8_2004; //12/8/2004;
}
else if ((year(0) == 2008) && (month(0) == 10))
{
if ((day(0) == 22) && (day(-1) != 21))
MISSING_10_21_2008; //10/21/2008;
else if ((day(0) == 23) && (day(-1) != 22))
MISSING_10_22_2008; //10/22/2008;
}
else if ((year(0) == 2009) && (month(0) == 2))
{
if ((day(0) == 18) && (day(-1) != 17))
MISSING_2_17_2009; //2/17/2009;
}
}
Now, these are the only days I have seen missing in the stocks that I follow. There could be different missing days in other stocks - I don't know.
I always call this function when I am back testing a strategy, just in case, I recommend you do the same.
If you are experiencing varying results from your back testing between restarts of the app you should try to identify what is the difference in the data and it could be a missing day or two.
I used Yahoo and MSN to confirm that a particular day's data is, in fact, there...
-Ken
While back testing I discovered that my strategy would return different results between restarts of eSignal software.
What I found is that eSignal can connect to one of many different servers and those servers have independent databases that can be out of sync with each other.
This presents a HUGE problem when back testing because a valid strategy could appear invalid due to a missing day.
When I found this I contacted eSignal tech support and this problem has been addressed since.
Here is the code I used to detect the missing days:
function VerifyData()
{
if ((year(0) == 2004) && (month(0) == 12))
{
if ((day(0) == 9) && (day(-1) != 8))
MISSING_12_8_2004; //12/8/2004;
}
else if ((year(0) == 2008) && (month(0) == 10))
{
if ((day(0) == 22) && (day(-1) != 21))
MISSING_10_21_2008; //10/21/2008;
else if ((day(0) == 23) && (day(-1) != 22))
MISSING_10_22_2008; //10/22/2008;
}
else if ((year(0) == 2009) && (month(0) == 2))
{
if ((day(0) == 18) && (day(-1) != 17))
MISSING_2_17_2009; //2/17/2009;
}
}
Now, these are the only days I have seen missing in the stocks that I follow. There could be different missing days in other stocks - I don't know.
I always call this function when I am back testing a strategy, just in case, I recommend you do the same.
If you are experiencing varying results from your back testing between restarts of the app you should try to identify what is the difference in the data and it could be a missing day or two.
I used Yahoo and MSN to confirm that a particular day's data is, in fact, there...
-Ken
Comment