วิเคราะห์และเปรียบเทียบตลาดหุ้นด้วย Python
Stock Market Comparison Analysis using Python เป็นการประเมินและเปรียบเทียบผลการดำเนินงานของหุ้นหลายๆ ตัวหรือเครื่องมือทางการเงินภายในตลาดหุ้น โดยมีเป้าหมายเพื่อให้รู้ว่าราคาหรือผลการดำเนินงานของหุ้นแต่ละตัวเป็นอย่างไร น่าสนใจที่จะลงทุนหรือไม่ เมื่อเทียบกับหุ้นตัวอื่นๆ และดัชนีรวมของตลาดหุ้น
ถ้าคุณพร้อมแล้ว เรามาร่วมหาคำตอบไปพร้อมกันในบทความนี้ …
Stock Market Comparison Analysis
การวิเคราะห์และเปรียบเทียบตลาดหุ้นเป็นกระบวนการที่ในการตรวจสอบหุ้นหลายๆ ตัวหรือสินทรัพย์ทางการเงินภายในตลาดหุ้น ซึ่งจะรวมถึงการวิเคราะห์ผลการดำเนินงานของหุ้นหรือสินทรัพย์ต่างๆ เพื่อให้ได้ข้อมูลว่าเหล่านั้นน่าสนใจหรือไม่ เมื่อเทียบกับหุ้นอื่นๆ และดัชนีตลาดหุ้นโดยรวม ซึ่งจะช่วยให้นักลงทุน นักวิเคราะห์ทางการเงิน และผู้ตัดสินใจ มีข้อมูลที่จะสามารถทำการตัดสินใจทางการลงทุนได้อย่างเหมาะสม
ด้านล่างนี้คือขั้นตอนที่เราสามารถทำตามได้ โดยเฉพาะในฐานะผู้เชี่ยวชาญด้านวิทยาศาสตร์ข้อมูล(Data Science):
1.รวบรวมข้อมูลราคาหุ้นย้อนหลังสำหรับบริษัทหรือเครื่องมือทางการเงินที่เราต้องการเปรียบเทียบ
2.ทำความสะอาดข้อมูล เพื่อประมวลผลข้อมูลที่รวบรวมมา
3.สร้างตัวแปรที่เกี่ยวข้องเพื่อช่วยในการเปรียบเทียบ
4.ตรวจสอบให้แน่ใจว่าข้อมูลของหุ้นแต่ละตัวมีการจัดเรียงถูกต้องตามวันเวลา
5.ใช้เทคนิคการแสดงผลข้อมูลเพื่อนำเสนอการเปรียบเทียบ
6.ใช้วิธีการทางสถิติเพื่อระบุรูปแบบหรือความสัมพันธ์ระหว่างหุ้นที่กำลังเปรียบเทียบ
7.เปรียบเทียบผลการดำเนินงานของหุ้นกับดัชนีรวมของตลาดหุ้น เช่น ดัชนีตลาดหุ้น S&P 500
มาถึงตรงนี้ หวังว่าทุกคนน่าจะพอเริ่มเห็นภาพ เริ่มเข้าใจขั้นตอนการวิเคราะห์และเปรียบเทียบตลาดหุ้น สำหรับในส่วนถัดไปนั้น เราจะพาทุกคนไปลงมือวิเคราะห์และเปรียบเทียบตลาดหุ้น โดยการเปรียบเทียบราคาหุ้นของ Apple และ Google โดยใช้ Python
“การวิเคราะห์และเปรียบเทียบตลาดหุ้นด้วย Python”
ผมจะขอเริ่มต้นโดยการรวบรวมข้อมูลราคาหุ้นของ Apple และ Google ในไตรมาสล่าสุด ซึ่งในการรวบรวมข้อมูลนี้ เราจะใช้ API จาก Yahoo Finance ที่สามารถติดตั้ง API นี้ได้โดยการรันคำสั่ง pip ที่ระบุไว้ด้านล่างนี้ใน
- pip install yfinance
ถัดมาให้เราเริ่มต้นด้วยการนำเข้าไลบรารีของ Python ที่จำเป็นสำหรับงานนี้กัน
import pandas as pd
import yfinance as yf
import plotly.io as pio
import plotly.graph_objects as go
pio.templates.default = "plotly_white"
ถัดมา เราจะมาดูวิธีการรวบรวมข้อมูลราคาหุ้นกัน
# Define the tickers for Apple and Google
apple_ticker = 'AAPL'
google_ticker = 'GOOGL'
# Define the date range for the last quarter
start_date = '2023-07-01'
end_date = '2023-09-30'
# Fetch historical stock price data using yfinance
apple_data = yf.download(apple_ticker, start=start_date, end=end_date)
google_data = yf.download(google_ticker, start=start_date, end=end_date)
code ข้างต้นที่เราเขียนนั้น คือ การวิเคราะห์โดยการกำหนดบริษัท, ช่วงเวลาที่สนใจ และดึงข้อมูลราคาหุ้นย้อนหลังสำหรับ Apple และ Google ในช่วงเวลานั้นๆ โดยข้อมูลที่ได้จะเป็นฐานสำหรับการวิเคราะห์และเปรียบเทียบทางการเงินต่างๆ เช่น การคำนวณผลตอบแทน ความผันผวน และเมตริกอื่นๆ เพื่อประเมินผลการดำเนินงานและความเสี่ยงที่เกี่ยวข้องกับหุ้นเหล่านี้
ถึงตรงนี้แล้ว เรามาเริ่มมาคำนวณหาผลตอบแทนรายวันของ Apple และ Google ในตลาดหุ้นกันต่อเถอะครับ
# Calculate daily returns
apple_data['Daily_Return'] = apple_data['Adj Close'].pct_change()
google_data['Daily_Return'] = google_data['Adj Close'].pct_change()
ถัดมา เราจะมาแสดงผลผลตอบแทนของหุ้นแบบรายวันในรูปแบบกราฟ:
# Create a figure to visualize the daily returns
fig = go.Figure()
fig.add_trace(go.Scatter(x=apple_data.index, y=apple_data['Daily_Return'],
mode='lines', name='Apple', line=dict(color='blue')))
fig.add_trace(go.Scatter(x=google_data.index, y=google_data['Daily_Return'],
mode='lines', name='Google', line=dict(color='green')))
fig.update_layout(title='Daily Returns for Apple and Google (Last Quarter)',
xaxis_title='Date', yaxis_title='Daily Return',
legend=dict(x=0.02, y=0.95))
fig.show()
และเราจะมาวิเคราะห์ผลตอบแทนสะสมของ Apple และ Google ในช่วงไตรมาสล่าสุด:
# Calculate cumulative returns for the last quarter
apple_cumulative_return = (1 + apple_data['Daily_Return']).cumprod() - 1
google_cumulative_return = (1 + google_data['Daily_Return']).cumprod() - 1
# Create a figure to visualize the cumulative returns
fig = go.Figure()
fig.add_trace(go.Scatter(x=apple_cumulative_return.index, y=apple_cumulative_return,
mode='lines', name='Apple', line=dict(color='blue')))
fig.add_trace(go.Scatter(x=google_cumulative_return.index, y=google_cumulative_return,
mode='lines', name='Google', line=dict(color='green')))
fig.update_layout(title='Cumulative Returns for Apple and Google (Last Quarter)',
xaxis_title='Date', yaxis_title='Cumulative Return',
legend=dict(x=0.02, y=0.95))
fig.show()
ถึงตรงนี้ เราก็จะได้ผลตอบแทนสะสมสำหรับ Apple และ Google ในช่วงไตรมาสล่าสุด เรียบร้อยแล้ว โดยผลตอบแทนสะสมแสดงถึงการเปลี่ยนแปลงเปอร์เซ็นต์รวมของมูลค่าหุ้นในช่วงเวลาที่กำหนด โดยคำนึงถึงผลกระทบของการทบต้นของผลตอบแทนรายวัน จากนั้นเราจะทำการเปรียบเทียบผลการดำเนินงานการลงทุนของ Apple และ Google ในช่วงเวลาที่กำหนด เพื่อจะแสดงว่าหุ้นตัวใดที่มีผลตอบแทนสะสมที่สูงหรือต่ำกว่าในช่วงเวลานั้น ซึ่งจากการวิเคราะห์จะพบว่า Google มีผลตอบแทนสะสมที่สูงกว่า Apple ในช่วงไตรมาสล่าสุด
ถัดมาเราจะมาดูเรื่องความผันผวน ของ Apple และ Google กัน:
# Calculate historical volatility (standard deviation of daily returns)
apple_volatility = apple_data['Daily_Return'].std()
google_volatility = google_data['Daily_Return'].std()
# Create a figure to compare volatility
fig1 = go.Figure()
fig1.add_bar(x=['Apple', 'Google'], y=[apple_volatility, google_volatility],
text=[f'{apple_volatility:.4f}', f'{google_volatility:.4f}'],
textposition='auto', marker=dict(color=['blue', 'green']))
fig1.update_layout(title='Volatility Comparison (Last Quarter)',
xaxis_title='Stock', yaxis_title='Volatility (Standard Deviation)',
bargap=0.5)
fig1.show()
เราได้ทำการหาค่าความผันผวนของหุ้น Apple และ Google โดยค่าความผันผวนเป็นการวัดว่าราคาหุ้นมีการเปลี่ยนแปลงมากน้อยเพียงใดในช่วงเวลาหนึ่ง ในกรณีนี้ เราคำนวณส่วนเบี่ยงเบนมาตรฐานของผลตอบแทนรายวันเพื่อวัดความผันผวน จากนั้นเราได้ทำการแสดงผลความผันผวนที่คำนวณได้เพื่อประเมินและเปรียบเทียบความผันผวนหรือความเสี่ยงที่เกี่ยวข้องกับหุ้น Apple และ Google ในช่วงเวลาที่กำหนด จากการวิเคราะห์เราสามารถเห็นได้ว่าความผันผวนของ Google สูงกว่า Apple
แหละนี่ก็หมายความว่าราคาหุ้นของ Google มีการเปลี่ยนแปลงราคาที่มากขึ้นหรือมีความผันผวนราคาที่สูงกว่าในช่วงไตรมาสล่าสุด โดยค่าความผันผวนอาจกำลังบอกเราว่า:
1.หุ้นของ Google ถือว่ามีความเสี่ยงสูงกว่าเมื่อเทียบกับ Apple นักลงทุนโดยทั่วไปมักจะเชื่อมโยงความผันผวนที่สูงกับความเสี่ยงที่สูง เพราะมันบ่งบอกว่าราคาหุ้นสามารถเปลี่ยนแปลงได้อย่างมากในระยะเวลาอันสั้น
2.หุ้นของ Google อาจมีความไวต่อสภาพตลาด ปัจจัยเศรษฐกิจ หรือข่าวและเหตุการณ์ที่เฉพาะเจาะจงต่อบริษัทมากกว่า ความไวที่เพิ่มขึ้นนี้สามารถนำไปสู่การเปลี่ยนแปลงราคาที่มากขึ้น
3.ผู้ค้าและนักลงทุนที่มีความอดทนต่อความเสี่ยงสูงอาจพบว่าหุ้นของ Google น่าสนใจหากพวกเขากำลังมองหาโอกาสในการทำกำไรจากการเคลื่อนไหวราคาในระยะสั้น
ยังไม่หมดเพียงเท่านี้ เราต้องมาเปรียบเทียบราคาหุ้น Google และ Apple กับดัชนีรวมของตลาดหุ้นกัน:
market_data = yf.download('^GSPC', start=start_date, end=end_date) # S&P 500 index as the market benchmark
# Calculate daily returns for both stocks and the market
apple_data['Daily_Return'] = apple_data['Adj Close'].pct_change()
google_data['Daily_Return'] = google_data['Adj Close'].pct_change()
market_data['Daily_Return'] = market_data['Adj Close'].pct_change()
# Calculate Beta for Apple and Google
cov_apple = apple_data['Daily_Return'].cov(market_data['Daily_Return'])
var_market = market_data['Daily_Return'].var()
beta_apple = cov_apple / var_market
cov_google = google_data['Daily_Return'].cov(market_data['Daily_Return'])
beta_google = cov_google / var_market
# Compare Beta values
if beta_apple > beta_google:
conclusion = "Apple is more volatile (higher Beta) compared to Google."
else:
conclusion = "Google is more volatile (higher Beta) compared to Apple."
# Print the conclusion
print("Beta for Apple:", beta_apple)
print("Beta for Google:", beta_google)
print(conclusion)
ในการวิเคราะห์นี้ เราใช้ค่า Beta เพื่อประเมินความผันผวนของหุ้น Apple และ Google เมื่อเทียบกับตลาดหุ้นโดยรวม โดยใช้ดัชนี S&P 500 เป็นมาตรฐานการเปรียบเทียบ ค่า Beta ที่ได้จะบ่งบอกถึงระดับความไวของหุ้นเมื่อมีการเปลี่ยนแปลงในตลาด
ค่า Beta ของ Apple อยู่ที่ประมาณ 1.2257 ซึ่งหมายความว่าหุ้น Apple มีความผันผวนมากกว่าตลาดโดยรวมประมาณ 22.57% ในทางกลับกัน ค่า Beta ของ Google อยู่ที่ประมาณ 1.5303 ซึ่งสูงกว่า Apple และบ่งบอกว่าหุ้น Google มีความผันผวนมากกว่าตลาดโดยรวมประมาณ 53.03% นั่นหมายความว่า Google มีความเสี่ยงและความไวต่อการเปลี่ยนแปลงของตลาดมากกว่า Apple
ต้องบอกว่า การทราบถึงค่า Beta นี้มีความสำคัญ โดยเฉพาะสำหรับนักลงทุนเนื่องจากมันช่วยให้พวกเขาเข้าใจถึงความเสี่ยงที่อาจเกิดขึ้นกับการลงทุนในหุ้นเหล่านี้ หุ้นที่มีค่า Beta สูงกว่า 1 มีความผันผวนสูงกว่าตลาดโดยรวม ซึ่งอาจนำมาซึ่งโอกาสในการทำกำไรสูง แต่ก็มีความเสี่ยงที่สูงตามไปด้วย
ดังนั้น นักลงทุนจึงควรพิจารณาค่า Beta นี้ร่วมกับปัจจัยอื่นๆ และระดับความเสี่ยงที่สามารถยอมรับได้ก่อนทำการลงทุน เสมือนประโยคที่เรามักได้ยินอยู่บ่อยครั้งว่า “การลงทุนมีความเสี่ยง ผู้ลงทุนควรศึกษาข้อมูลก่อนการตัดสินใจลงทุน”
ดังนั้นทั้งหมดนี้คือการวิเคราะห์และเปรียบเทียบตลาดหุ้นโดยใช้ Python ที่เป็นการตรวจสอบหุ้นหรือสินทรัพย์ทางการเงินภายในตลาดหุ้น ซึ่งรวมถึงการวิเคราะห์ผลการดำเนินงานของหุ้นหลายๆ ตัวเพื่อให้ได้มาซึ่งข้อมูลว่าหุ้นเหล่านั้นมีผลการดำเนินงานอย่างไร น่าสนใจลงทุนหรือไม่เมื่อเทียบกับหุ้นอื่นๆ และตลาดโดยรวม ซึ่งจะช่วยให้นักลงทุน นักวิเคราะห์ทางการเงิน และผู้ตัดสินใจมีข้อมูลที่สามารถตัดสินใจลงทุนได้อย่างเหมาะสม
สุดท้ายหวังว่าคุณจะชอบบทความเกี่ยวกับการวิเคราะห์และเปรียบเทียบตลาดหุ้นโดยใช้ Python นี้ หากคุณมีคำถามหรือต้องการข้อมูลเพิ่มเติม อย่าลังเลที่จะถามในส่วนความคิดเห็นด้านล่างนี้ //ขอบคุณครับ