Saa za soko la hisa la Marekani na Daylight Saving Time
Saa za biashara za NYSE na Nasdaq hazibadiliki na hubaki saa tatu na nusu hadi saa kumi jioni kwa saa za New York. Jifunze athari za saa za mchana kwa masoko ya kimataifa.
Saa za soko la Marekani hazibadiliki kulingana na mabadiliko ya saa za mchana (daylight saving time). 24 Soko la Hisa la New York (NYSE) na Nasdaq huendesha kipindi cha kawaida cha biashara kuanzia saa tatu na nusu asubuhi hadi saa kumi jioni kwa saa za New York, kila siku ya biashara ya mwaka, mwezi Januari kama ilivyo mwezi Julai. Kinachobadilika mara mbili kwa mwaka ni saa za eneo husika kwa ajili ya ufunguzi huo kwa kila mtu aliye nje ya Marekani, na kwa wiki chache kila majira ya kuchipua na majira ya vuli, tofauti ya saa kati ya New York na Ulaya huwa na tofauti ya saa moja kutoka ile ya kawaida.
Je, saa za soko la Marekani hubadilika kulingana na daylight saving time?
Hapana. Soko la hisa huendesha vipindi vyake kwa kutumia Eastern Time, na Eastern Time ni saa ya ukutani inayotumia majina mawili kwa mwaka mzima: Eastern Standard Time (EST) wakati wa majira ya baridi, na Eastern Daylight Time (EDT) wakati wa majira ya joto. Saa hubadilika chini ya kipindi cha biashara. Kipindi chenyewe hubaki saa tisa na nusu (9:30).
Risiti ziko kwenye alama za muda (timestamps). Data ya soko huhifadhiwa kwa kutumia Coordinated Universal Time (UTC), saa ya marejeleo ya kimataifa ambayo haizingatii daylight saving. Jopo hapa chini linachukua dakika ya ufunguzi ya saa tisa na nusu (9:30) ya kipindi cha mwisho cha kawaida cha kila mwezi kwa kipindi cha miaka miwili, likitumia SPY (tracker ya S&P 500) kama kanda ya marejeleo, na kuchapisha muda huo mmoja kwenye saa zote mbili.
SQL halisi nyuma ya kila namba
WITH ny_opens AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
min(window_start) AS open_utc
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2024-08-01') AND toDate('2026-07-31')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) = 570
GROUP BY session_date
)
SELECT formatDateTime(toStartOfMonth(session_date), '%Y-%m') AS month,
formatDateTimeInJodaSyntax(toStartOfMonth(session_date), 'MMMM yyyy') AS month_label,
formatDateTime(toTimeZone(argMax(open_utc, session_date), 'America/New_York'), '%H:%i') AS ny_open_et_clock,
formatDateTime(argMax(open_utc, session_date), '%H:%i') AS ny_open_utc_clock,
toHour(toTimeZone(argMax(open_utc, session_date), 'America/New_York')) * 60
+ toMinute(toTimeZone(argMax(open_utc, session_date), 'America/New_York')) AS ny_open_et_minutes,
toHour(argMax(open_utc, session_date)) * 60
+ toMinute(argMax(open_utc, session_date)) AS ny_open_utc_minutes
FROM ny_opens
GROUP BY toStartOfMonth(session_date)
ORDER BY toStartOfMonth(session_date)Soma mistari hiyo miwili pamoja. Mstari wa New York haubadiliki: 09:30 katika August 2024, 09:30 ileile katika July 2026, na katika mwisho wa mwezi wa 24 yote iliyo katikati. Mstari wa UTC hupiga hatua: 13:30 kwenye saa ya majira ya joto, 14:30 kufikia November 2024 kwenye saa ya majira ya baridi, kisha hurudi tena wakati wa majira ya kuchipua. Saa moja, mara mbili kwa mwaka, na ufunguzi wa New York haubadiliki hata kidogo.
Saa za Marekani hubadilika lini?
Kuna kanuni mbili, si tarehe mbili zisizobadilika. Saa husogezwa mbele kwa saa moja katika Jumapili ya pili ya mwezi Machi na kurudishwa nyuma kwa saa moja katika Jumapili ya kwanza ya mwezi Novemba, zote zikifanyika saa nane kamili (2:00) kwa saa za huko. Mfumo huo umetumika tangu mwaka elfu mbili na saba. Standard time ndiyo mpangilio wa majira ya baridi, huku daylight saving time ikiwa ni ya majira ya joto, na mpangilio wa majira ya joto unachukua karibu theluthi mbili ya mwaka wa biashara.
Hakuna kinachobadilika katika siku ya biashara katika Jumapili yoyote kati ya hizo. Kikao hufunguliwa kwa dakika ileile ya saa ya ukutani jijini New York siku ya Ijumaa kabla na siku ya Jumatatu baada ya mabadiliko hayo. Kinachobadilika ni alama ya UTC katika dakika hiyo, 14:30 kwenye saa ya majira ya baridi dhidi ya 13:30 kwenye saa ya majira ya joto, na pamoja na hayo, kila saa ya kuanza kwa biashara nje ya Marekani hubadilika.
Soko la Marekani hufunguliwa saa ngapi katika eneo lako la saa?
Jibu lako la ndani ni saa tisa na nusu (9:30) ya New York ukijumlisha na umbali wa jiji lako kutoka New York, na umbali huo ndio sehemu inayobadilika. Jopo hapa chini linachukua muda mmoja halisi wa ufunguzi wa saa tisa na nusu kutoka kipindi cha kiangazi cha Marekani mwaka 2026 na mwingine kutoka kipindi cha baridi cha Marekani katika mwaka huo huo, kisha linabadilisha nyakati zote mbili kuwa miji minane.
SQL halisi nyuma ya kila namba
WITH anchors AS (
SELECT maxIf(window_start, toMonth(toTimeZone(window_start, 'America/New_York')) = 6) AS summer,
maxIf(window_start, toMonth(toTimeZone(window_start, 'America/New_York')) = 1) AS winter
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toYear(toTimeZone(window_start, 'America/New_York')) = 2026
AND toMonth(toTimeZone(window_start, 'America/New_York')) IN (1, 6)
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) = 570
),
local_opens AS (
SELECT arrayJoin([
('Sao Paulo', toHour(toTimeZone(summer, 'America/Sao_Paulo')) * 60 + toMinute(toTimeZone(summer, 'America/Sao_Paulo')), toHour(toTimeZone(winter, 'America/Sao_Paulo')) * 60 + toMinute(toTimeZone(winter, 'America/Sao_Paulo'))),
('London', toHour(toTimeZone(summer, 'Europe/London')) * 60 + toMinute(toTimeZone(summer, 'Europe/London')), toHour(toTimeZone(winter, 'Europe/London')) * 60 + toMinute(toTimeZone(winter, 'Europe/London'))),
('Frankfurt', toHour(toTimeZone(summer, 'Europe/Berlin')) * 60 + toMinute(toTimeZone(summer, 'Europe/Berlin')), toHour(toTimeZone(winter, 'Europe/Berlin')) * 60 + toMinute(toTimeZone(winter, 'Europe/Berlin'))),
('Dubai', toHour(toTimeZone(summer, 'Asia/Dubai')) * 60 + toMinute(toTimeZone(summer, 'Asia/Dubai')), toHour(toTimeZone(winter, 'Asia/Dubai')) * 60 + toMinute(toTimeZone(winter, 'Asia/Dubai'))),
('Mumbai', toHour(toTimeZone(summer, 'Asia/Kolkata')) * 60 + toMinute(toTimeZone(summer, 'Asia/Kolkata')), toHour(toTimeZone(winter, 'Asia/Kolkata')) * 60 + toMinute(toTimeZone(winter, 'Asia/Kolkata'))),
('Singapore', toHour(toTimeZone(summer, 'Asia/Singapore')) * 60 + toMinute(toTimeZone(summer, 'Asia/Singapore')), toHour(toTimeZone(winter, 'Asia/Singapore')) * 60 + toMinute(toTimeZone(winter, 'Asia/Singapore'))),
('Tokyo', toHour(toTimeZone(summer, 'Asia/Tokyo')) * 60 + toMinute(toTimeZone(summer, 'Asia/Tokyo')), toHour(toTimeZone(winter, 'Asia/Tokyo')) * 60 + toMinute(toTimeZone(winter, 'Asia/Tokyo'))),
('Sydney', toHour(toTimeZone(summer, 'Australia/Sydney')) * 60 + toMinute(toTimeZone(summer, 'Australia/Sydney')), toHour(toTimeZone(winter, 'Australia/Sydney')) * 60 + toMinute(toTimeZone(winter, 'Australia/Sydney')))
]) AS city_open
FROM anchors
)
SELECT tupleElement(city_open, 1) AS city,
formatDateTime(toDateTime(tupleElement(city_open, 2) * 60, 'UTC'), '%H:%i') AS local_open_us_summer,
formatDateTime(toDateTime(tupleElement(city_open, 3) * 60, 'UTC'), '%H:%i') AS local_open_us_winter,
round(((tupleElement(city_open, 2) + 1440 - 570) % 1440) / 60, 1) AS hours_ahead_us_summer,
round(((tupleElement(city_open, 3) + 1440 - 570) % 1440) / 60, 1) AS hours_ahead_us_winter
FROM local_opens
ORDER BY hours_ahead_us_summerLinganisha safu mbili za tofauti za saa. London na Frankfurt zinashikilia umbali uleule chini ya mifumo yote miwili ya Marekani, 5 na 6 saa mbele. Ulaya hubadilisha saa zake katika mwelekeo uleule kama Marekani, na kwa sehemu kubwa ya mwaka pengo kati ya pande hizo mbili halibadiliki.
Mashariki mwa Ulaya hali hubadilika. Dubai na Tokyo zinatumia saa moja mwaka mzima, na zinabeba mabadiliko yote ya Marekani kwa upande wao. Ufunguzi wa New York hufika Tokyo saa 22:30 kwa saa za kiangazi za Marekani na saa 23:30 kwa saa za baridi, mabadiliko kutoka saa 13 mbele hadi 14. Mumbai iko kwenye tofauti ya nusu saa, saa 9.5 mbele wakati wa kiangazi wa Marekani na 10.5 wakati wa baridi wa Marekani.
Sydney hubadilika zaidi, kutoka saa 14 mbele hadi 16. Mabadiliko ya saa za kiangazi katika nusutufe ya kusini huenda kwa mwelekeo tofauti kwenye kalenda, na mabadiliko hayo mawili hujumlishana badala ya kufutana. Katika saa za baridi za Marekani, ufunguzi wa New York hufika huko saa 01:30 asubuhi inayofuata. Juu ya jedwali, Sao Paulo iko saa 1 mbele wakati wa kiangazi wa Marekani na 2 wakati wa baridi wa Marekani: Brazil ilisitisha kubadilisha saa zake mwaka 2019.
Majuma matatu kila majira ya kuchipua ambapo London inakaribia zaidi
Marekani na Ulaya hazibadilishi saa katika Jumapili moja. Umoja wa Ulaya na Uingereza hubadilisha saa katika Jumapili ya mwisho ya Machi na kurudisha nyuma katika Jumapili ya mwisho ya Oktoba, zote zikiwa saa 01:00 UTC. Mabadiliko ya Marekani hutokea majuma mawili au matatu mapema mwezi Machi. Katika vipindi vilivyo katikati, New York inakuwa imeshasonga mbele na London haijafanya hivyo, na pengo la kawaida la London hupungua kwa saa moja. Majira ya kuchipua ya mwaka 2026, kipindi kwa kipindi:
SQL halisi nyuma ya kila namba
WITH ny_open AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
min(window_start) AS open_utc
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2026-03-02') AND toDate('2026-04-10')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) = 570
GROUP BY session_date
)
SELECT session_date AS date,
formatDateTime(session_date, '%b %e') AS date_label,
formatDateTime(toTimeZone(open_utc, 'Europe/London'), '%H:%i') AS london_local_open,
formatDateTime(toTimeZone(open_utc, 'Europe/Berlin'), '%H:%i') AS frankfurt_local_open,
round(((toHour(toTimeZone(open_utc, 'Europe/London')) * 60
+ toMinute(toTimeZone(open_utc, 'Europe/London')) + 1440 - 570) % 1440) / 60, 1) AS london_hours_ahead,
round(((toHour(toTimeZone(open_utc, 'Europe/Berlin')) * 60
+ toMinute(toTimeZone(open_utc, 'Europe/Berlin')) + 1440 - 570) % 1440) / 60, 1) AS frankfurt_hours_ahead
FROM ny_open
ORDER BY dateKuanzia Mar 2 hadi Mar 6, ufunguzi wa New York ulisajili 14:30 jijini London na 15:30 jijini Frankfurt, zikiwa 5 na 6 saa mbele. Mnamo Mar 9, kipindi cha kwanza baada ya Marekani kubadilisha saa zake, ufunguzi huo huo ulisajili 13:30 jijini London: 4 saa mbele, saa moja karibu zaidi kuliko juma lililotangulia. Hali hiyo iliendelea hadi Mar 27. Kuanzia Mar 30, kipindi cha kwanza baada ya mabadiliko ya Ulaya, London ilirejea kuwa 5 saa mbele na ufunguzi ulirejea kuwa 14:30.
Kikumbusho cha kalenda kilichowekwa kwenye saa ya kawaida ya eneo husika huwa si sahihi kwa kipindi hicho, ambacho ndicho gharama ya kivitendo ya kutolingana huko. Pia, husogeza dakika za kwanza za biashara ya Marekani saa moja mapema zaidi katika mchana wa Ulaya, na dakika hizo hufanya kazi kwa njia tofauti na muda mwingine wa siku (kwa nini spread hupanuka wakati wa ufunguzi).
Majira ya vuli, na miji ambayo haibadiliki kamwe
Katika majira ya vuli, kutolingana huku hufuata mwelekeo tofauti na hudumu kwa wiki moja pekee. Ulaya hurudisha saa nyuma katika Jumapili ya mwisho ya Oktoba, Marekani katika Jumapili ya kwanza ya Novemba. Jopo hapa chini linaongeza Tokyo, ambapo saa ya eneo hilo haisogei wakati wowote wa mwaka.
SQL halisi nyuma ya kila namba
WITH ny_open AS (
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
min(window_start) AS open_utc
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND toDate(toTimeZone(window_start, 'America/New_York')) BETWEEN toDate('2025-10-06') AND toDate('2025-11-07')
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) = 570
GROUP BY session_date
)
SELECT session_date AS date,
formatDateTime(session_date, '%b %e') AS date_label,
formatDateTime(toTimeZone(open_utc, 'Europe/London'), '%H:%i') AS london_local_open,
formatDateTime(toTimeZone(open_utc, 'Asia/Tokyo'), '%H:%i') AS tokyo_local_open,
round(((toHour(toTimeZone(open_utc, 'Europe/London')) * 60
+ toMinute(toTimeZone(open_utc, 'Europe/London')) + 1440 - 570) % 1440) / 60, 1) AS london_hours_ahead,
round(((toHour(toTimeZone(open_utc, 'Asia/Tokyo')) * 60
+ toMinute(toTimeZone(open_utc, 'Asia/Tokyo')) + 1440 - 570) % 1440) / 60, 1) AS tokyo_hours_ahead
FROM ny_open
ORDER BY dateKupitia Oct 24 London ilikuwa 5 saa mbele ya New York. Kuanzia Oct 27 ilikuwa 4 saa mbele, wiki moja katika majira ya vuli ambapo miji hiyo miwili iko karibu zaidi. Kuanzia Nov 3, kikao cha kwanza baada ya Marekani kurudisha saa nyuma, pengo lilikuwa 5 saa tena.
Mstari wa Tokyo unasimulia hadithi rahisi zaidi. Japani hutumia saa moja mwaka mzima, na mstari huo hupiga hatua mara moja tu, katika tarehe ya Marekani: 13 saa mbele kupitia Oct 31, 14 saa mbele kuanzia Nov 3, huku ufunguzi wa New York ukihama kutoka 22:30 hadi 23:30 kwa saa ya Tokyo. Saa hiyo nzima huangukia upande wa saa za ndani. Trading desk ya Tokyo hurekebisha kengele yake mara mbili kwa mwaka wakati kengele ya New York inabaki ilipokuwa.
Ukurasa huu hauhusu nini
Ukurasa huu unashughulikia mabadiliko ya saa pekee. Maswali yanayohusiana yana kurasa zake maalum:
- kikao cha kawaida na jinsi siku ya biashara inavyoundwa: saa za soko la hisa la Marekani
- vipindi vya kabla na baada ya saa za soko: biashara ya premarket na after-hours
- siku ambazo soko limefungwa au kufungwa mapema: sikukuu za soko na kufungwa mapema, pamoja na je soko la hisa limefunguliwa leo kwa tarehe mahususi
- jinsi kikao cha Marekani kinavyoingiliana na Ulaya na Asia: saa za soko la Marekani duniani kote
Sentensi moja ya kukumbuka: saa yako ya ndani ya kufungua soko hubadilika mara mbili kwa mwaka, lakini saa ya kufungua soko la New York haibadiliki.
Maswali yanayoulizwa mara kwa mara kuhusu saa za soko la Marekani
Je, saa za soko la hisa la Marekani hubadilika kulingana na mabadiliko ya saa za mchana (daylight saving time)?
Hapana. Kipindi cha kawaida cha biashara huanza saa 9:30 hadi 16:00 kwa saa za Eastern Time kila mwezi wa mwaka. Eastern Time hubadilika kutoka EST kwenda EDT katika Jumapili ya pili ya mwezi Machi na kurudi katika Jumapili ya kwanza ya mwezi Novemba, na alama ya UTC ya muda wa kufungua soko hubadilika nayo, kutoka 14:30 katika saa za majira ya baridi hadi 13:30 katika saa za majira ya joto.
Soko la Marekani hufunguliwa saa ngapi nchini Uingereza?
14:30 kwa saa za London wakati wowote nchi hizi mbili zinapokuwa kwenye mpangilio sawa wa saa, iwe zote ziko kwenye saa za majira ya joto au zote ziko kwenye saa za majira ya baridi. Katika wiki kati ya mabadiliko ya Marekani mwezi Machi na mabadiliko ya Uingereza mwishoni mwa mwezi huo, muda wa kufungua soko hufika saa 13:30 badala yake.
Soko la Marekani hufunguliwa saa ngapi barani Asia?
Saa za eneo husika hubadilika ingawa kipindi cha biashara cha New York hakibadiliki. Mwaka 2026, muda wa kufungua soko la New York ulikuwa Tokyo saa 22:30 kwa saa za majira ya joto ya Marekani na 23:30 kwa saa za majira ya baridi ya Marekani. Nchi nyingi za Asia hutumia saa moja mwaka mzima, hivyo mabadiliko kamili ya saa moja huonekana katika saa za eneo hilo.
Kwa nini pengo kati ya London na New York hubadilika kwa sehemu ya mwezi Machi?
Maeneo haya mawili hubadilisha saa zao katika Jumapili tofauti: Marekani katika Jumapili ya pili ya mwezi Machi, Uingereza na EU katika Jumapili ya mwisho. Katika vipindi vilivyopo katikati, New York huwa imeshasonga mbele wakati London haijafanya hivyo, na pengo hilo huwa ni saa 4 badala ya saa 5 za kawaida.
Je, muda wa kufunga soko nao hubadilika pia?
Muda wa kufunga soko hufuata saa ileile ya muda wa kufungua, yaani saa 16:00 kwa saa za New York mwaka mzima. Alama yake ya UTC hubadilika kwa saa ileile katika Jumapili hizo mbili, na kila muda wa kufunga soko wa eneo lolote nje ya Marekani hubadilika kulingana na hilo.
Kila takwimu hapo juu ni matokeo ya swali lililohifadhiwa (stored query) kuhusu mihuri ya muda (timestamps) ya vipindi halisi vya biashara. Fungua SQL chini ya paneli yoyote, au endesha ubadilishaji huohuo kwa ajili ya jiji lako kwenye terminal ya Strasmore.