สร้าง Normal Distribution ผลตอบแทน S&P500 ด้วย Python
ก่อนอื่นต้องรู้ว่า Normal Distribution คือการกระจายโอกาสความน่าจะเป็นแบบสมมาตร โดยมีกึ่งกลางคือค่าเฉลี่ย ยิ่งข้อมูลใกล้ค่าเฉลี่ย ยิ่งมีจำนวนมาก และค่อยๆลดลง เมื่อออกห่างจากค่าเฉลี่ย
ซึ่งการสร้าง Normal Distribution จะมีส่วนประกอบสำคัญคือ mean และ std
mean คือค่าเฉลี่ยของข้อมูลที่เราต้องการจะนำเสนอเช่น return ส่วน
std คือตัววัดข้อมูลการกระจายตัวรอบค่าเฉลี่ยที่เกิดขึ้นของข้อมูลชุดนั้นๆ
สำหรับใครที่อยากรู้รายละเอียดเรื่อง Normal Distribution อย่างละเอียดตามอ่านได้ที่โพสนี้
https://medium.com/investic/normal-distribution-กับ-ตลาดหุ้น-392e43a8c623
เรามาลองสร้าง Normal Distribution ของ Return ใน S&P500 กันดีกว่า การสร้างนั้นไม่ยากเพราะเราจะใช้ matplotlib ที่เราคุ้นเคย
import yfinanceimport matplotlib.pyplot as pltimport pandas as pd
Part ต่อมาคือการดึงข้อมูล โดยเราจะใช้ข้อมูลจาก Yahoo Finance ซึ่งในส่วนนี้เราสามารถใช้แหล่งข้อมูลจากที่อื่นได้
spy = yf.download(‘SPY’, start=’2019–01–01', end=’2022–01–01')
หลังจากที่ได้ข้อมูลมาแล้ว ลองเช็คข้อมูลกันหน่อยว่ามีข้อมูลอะไรบ้าง
ข้อมูลที่มีก็ open, high, low, close, adj close และ volume
ต่อมาจะเป็นการสร้างคำนวณ Return เพื่อนำไปต่อยอดการทำ Normal Distribution กัน
การคำนวณ Return ก็ไม่ยุ่งยาก แค่ .pct_change()
spy['Return'] = spy.Close.pct_change()
ส่วนสุดท้ายคือการ Plot Normal Distribution เราจะใช้คำสั่ง .plot.hist() โดยตัวแปรที่จะใส่ก็คือแกน Y (Return) ที่เหลือก็จะเป็น bins (ขนาดของแท่ง Histogram) และ alpha (ความโปร่ง-ทึบของแท่ง Histogram) และ Figsize เพื่อกำหนดขนาดจของรูป
spy.plot.hist(y=[‘Return’], figsize=(15,10) ,bins=50, alpha=0.5)
เท่านี้เราก็จะได้ Distribution มาแล้ว ซึ่งจะเห็นว่าบนโลกการลงทุนหรือโลกของข้อมูลจริงๆมัน Normal Distribution แบบกลางเป๊ะๆหรอก เพราะข้อมูลยังไงมันก็จะต้องเบนไปทางใดสักทางนึงขึ้นอยู่กับจำนวนข้อมูลและเหตุการณ์ช่วงนั้น
และการที่จะนำข้อมูลเหล่านี้ไปใช้งานได้อย่างถูกต้องจำเป็นต้องใช้ การเรียนรู้ที่ถูกต้องด้วย
Quantitative for Investing 101 เรียนรู้การเป็น Quant ที่ถูกต้อง พร้อมการนำข้อมูลไปหากำไรในตลาดได้อย่างถูกวิธี โดยเนื้อหานี้ไม่จำเป็นต้องเขียน Python ก็เรียนได้ สนใจอ่านรายละเอียดเพิ่มเติมได้ที่ : https://bottomliner.co/investic-quantitative-investing/
Investic