Kolik hodin je právě v New Yorku?

imagePři sestavování obchodních systémů je často třeba vědět, jestli v zadaný čas má burza  (typicky v New Yorku) právě otevřeno nebo zda má zavřeno. Burza v NY má otevřeno od 9:30 místního času do 16:00 místního času. Nicméně zjistit, zda náš “lokální” čas spadá do doby, kdy je burza otevřená není zase až tak jednoduché.Pravděpodobně úplně to první, co nás napadne je odečíst potřebný počet hodin představujících posun v časových pásmech. Je-li tedy například u nás 15:30, v NY by mělo být 9:30, protože posun je šestihodinový. Jenomže svět bohužel není tak jednoduchý. Jednak proto, že máme u nás i v USA letní čas, ale hlavně proto, že máme u nás a v USA letní čas zaváděný jindy.

Pokud jako já pracujete v prostředí .NET frameworku, pravděpodobně uvítáte informaci o tom, že verze 3.5 konečně inteligentně zavádí práci s časovými zónami. Pro zjištění kolik hodin je právě v New Yorku tedy můžete zapsat něco jako:

  Function ToUSATime(ByVal CzechTime As DateTime) As DateTime
Dim timeZoneCR As TimeZoneInfo = TimeZoneInfo.Local
Dim timeZoneUSA As TimeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(„Eastern Standard Time“)
Return TimeZoneInfo.ConvertTime(CzechTime, timeZoneCR, timeZoneUSA)
End Function

Pozn.: Kód výše funguje pochopitelně pouze tehdy, pokud máte v PC správně nastavený systémový čas.

Následně lze pochopitelně provést dotaz ve smyslu:

  If ToUSATime(Now).TimeOfDay >= New TimeSpan(9, 30, 0) _
And ToUSATime(Now).TimeOfDay <= New TimeSpan(16, 0, 0) Then
‚nacházíme se v čase, kdy burza obchoduje
Else
‚jsme mimo obchodní hodiny burzy
End If

Špinavou práci s letním časem za nás odvede počítač a my se můžeme soustředit na důležitější úkoly, jako je například stavba obchodního systému.

Příspěvek byl publikován v rubrice AOS, Strategie. Můžete si uložit jeho odkaz mezi své oblíbené záložky.

2 komentáře u Kolik hodin je právě v New Yorku?

  1. t. napsal:

    A jeste existuje jedna varianta, nastavit na pocitaci, jsme jsme v NY, i formaty (desetinne tecky, datumy) mam v NY a nemusim nikde nic programovat :-) Pocitac si proste mysli, ze jsme na vychode USA a hotovo…

  2. admin napsal:

    Tohle může docela dobře fungovat, pokud se používá počítač pouze pro trading. Pokud se používá ještě pro něco jiného, tak to může vadit.

Napsat komentář

Vaše emailová adresa nebude zveřejněna.