วันนี้ตลาดหุ้นเปิด-ปิดกี่โมง ?

Investic
investic
Published in
2 min readApr 11, 2022

คงเป็นคำถามที่นักลงทุนในตลาดหุ้นหลายคนคงสงสัย เนื่องจากในตลาดหุ้นนั้นจะมีเวลาทำการของตลาดอยู่ไม่ว่าจะเป็นสหรัฐ จีน ฮ่องกง หรือแม้กระทั่งไทย ที่มีเวลาเปิดปิด หากเราเป็นนักลงทุนไทยก็คงไม่ติดใจอะไรเพราะเรารู้วันหยุดและเวลาค่อนข้างแน่นอน เนื่องจากมันเป็น timezone ปกติ แต่หากคุณเป็นนักลงในหุ้นต่างประเทศแล้วละก็จะชักเริ่มงงว่า เอ๋แล้วตลาดต่างประเทศวันนี้มันเปิดกี่โมงกันแน่ เพราะเวลาเราไปหาข้อมูลในเน็ตมันก็มักจะอ้างอิงเวลาตามบ้านเขา ดังนั้นวันนี้เราจะมาใช้ Python ช่วยหาเวลาเปิด-ปิดของตลาดหุ้นกัน

ก่อนอื่นเราจำเป็นต้องใช้ Library เฉพาะของ Pandas ที่ชื่อว่า pandas_market_calendars โดย Lib นี้จะรวบรวมเอาเวลาเปิดปิดของตลาดหุ้นจากหลากหลายประเทศมารวมไว้ให้ ซึ่งการเรียกใช้งานนั้นก็ง่ายไม่ซับซ้อนอะไร

ก่อนอื่นใครที่ยังไม่ install ก็ทำให้เรียนร้อย

!pip install pandas_market_calendars

หลังจากนั้นก็ import lib มาใช้กัน lib ในบทเรียนนี้จะใช้แค่สองอันคือ pandas และ pandas_market_calendars

import pandas as pd
import pandas_market_calendars as mcal

ในส่วนต่อมาคือการเรียกดูว่าในตัว Lib มีตลาดอะไรให้เราเล่นบ้างลองเรียกมาดูก็จะเห็นว่ามีเป็นร้อยตลาดซึ่งเราก็ลองเลือกดูว่าอยากได้ตลาดไหน หรือไม่ก็ลองเสิร์ชหาได้

Market Calendars

ในส่วนที่จะยกตัวอย่างให้ดูก็เอาตลาดฮิตๆสักสองตลาดคือ Nasdaq และ Hongkong แล้วกันนะ

ตัวโค๊ดที่ใช้คือ .get_calendar ซึ่งเราจะเก็บมันอยู่ในรูปของตัวแปร nasdaq ตามชื่อตลาดไปนะ

ส่วนต่อมาคือการเรียกดูข้อมูลเราจะใช้ ฟังก์ชันที่ชื่อว่า schedule(start_date=‘ ’, end_date=‘ ’ ) ส่วนนี้จะมีสอง parameter ที่จำเป็นคือ start_date และ end_date เวลาเราเรียกดูเราสามารถเรียกดูย้อนหลังได้นะ แต่ตัวอย่างนี้จะยกตัวอย่างแค่วันเดียว ส่วน parameter อีกตัวที่อยากจะให้ใส่คือ tz = ‘Asia/Bangkok’ เพราะเวลาเรียกตัวข้อมูลมาดูมันจะได้เป็น tz บ้านเรา

nasdaq = mcal.get_calendar('NASDAQ')
market_data = nasdaq.schedule(start_date ='2022-04-11', end_date='2022-04-11', tz='Asia/Bangkok')
NASDAQ

เท่านี้เราก็จะเห็นแล้วว่าเวลาตลาดหุ้น Nasdaq เปิดปิดกี่โมงตามเวลาไทยหากเราลองเปลี่ยนมาใช้เป็นข้อมูลตลาดฮ่องกงบ้าง

HKEX

เราจะเห็นว่ามีสิ่งที่เพิ่มมาคือมี Break Time เหมือนตลาดหุ้นไทยเลย เพราะในตลาดหุ้นฝั่งบ้านเราจะมี Break time ช่วงเที่ยงๆเหมือนกัน

คราวนี้เราก็สามารถรู้ได้แล้วว่าตลาดหุ้นต่างประเทศเปิด-ปิดกี่โมงกันแน่ตามเวลาบ้านเรา

ทีนี้มีของแถม หากเราต้องการดึงหลายๆตลาดหละทำยังไง ?

ก็เขียนให้มันอยู่ในรูป Function ซะเลยเราก็สามารถเรียกดูตลาดที่เราสนใจได้แล้ว

def get_market(market, day):   data = mcal.get_calendar(market)   stock_market = data.schedule(start_date=day, end_date=day, 
tz='Asia/Bangkok')
return stock_market

ส่วนแรกจะเป็นการสร้าง Function เพื่อดึงข้อมูลและเปลี่ยน timezone

market_ticker = ['NYSE', 'NASDAQ', 'HKEX']market_time = pd.DataFrame()for i in range(len(market_ticker)):   df = get_market(market_ticker[i], '2022-04-11')   market_time = pd.concat([market_time,df])
market_time = market_time[['market_open','market_close']]market_time.index = market_ticker

ส่วนนี้จะเป็นการเรียกข้อมูลและยัดเข้า DataFrame จะเห็นว่าเราเลือกแค่เฉพาะ market_open และ market_close เพราะว่าตลาดเมกาไม่ได้มี break time ดังนั้นถ้าเอามาด้วยมันจะเป็นค่า NaN นั่นเอง

เท่านี้เราก็จะได้เวลาเปิดปิดของตลาดหุ้นที่เราอยากได้แล้วหละ

Stock Market

Investic

สนใจ สมัคร ได้ทาง inbox ของเพจนี้ หรือคลิก https://m.me/investicbkk

--

--