0. SOD config time is expressed in local timezone (local to the server). This test
makes sure it works for Central (Chicago), Eastern (New York) and UTC timezones.

ExchangeSim {
  value {
    merge_with_md: true
    forward_implied: false
  }
}


2. Clean up your fills database. Cross the market to buy a 10 lot future (any future). Lets say the fill time is 6:03:XX
EST. Wait until 6:05 and do a 20 lot sell.

BE SURE NOT TO PICK AN EXPIRED SECURITY, THOSE FILLS ARE FILTERED

3. Now we will make 6:05 as the SOD Time. Enter this in your spark.conf

SODTime{
   value {
      sod_hh: 18
      sod_mm: 05
   }
}

Now start your server with the environment variable TZ set to East coast
TZ="America/New_York" ./sparkd run

4. In the fills window verify that the first fill(fills if there were partials) is SOD, and the second is DAY.
Make sure the PNL correctly divided it into DAY and SOD.
 
5. Now start the server in Chicago TZ, and all the fills should be STANDARD (this is an excercise for the user, to
figure out why its not all SOD)
 
TZ="America/Chicago" ./sparkd run
 
6. Change the SOD Time to 
 
SODTime{
   value {
      sod_hh: 17
      sod_mm: 05
   }
}

and start the server in Chicago timezone again
TZ="America/Chicago" ./sparkd run
This should be the functional equivelant to 3 (and produce the same result, verify that)

7. Change the SOD Time to
SODTime{
   value {
      sod_hh: 22
      sod_mm: 05
   }
}

and start the server in UTC
TZ="Etc/UTC" ./sparkd run

This should be the functional equivelant to 3 (and produce the same result, verify that)

  
  