Methods และ Attributes ทั้งหมด มีอะไรที่ใช้งานได้
ความแตกต่างระหว่าง SMART Marketplace (SET), yfinance (Yahoo Finance)
ความน่าเชื่อถือ สูงที่สุด (ข้อมูลตรงจากตลาดฯ) ปานกลาง (ใช้การ Scrape ข้อมูลมาอีกที)
ราคา มีค่าใช้จ่าย (เช่น 250 บาท/เดือน) ฟรี
ความครบถ้วนของข้อมูล "ครบมาก (ปันผล, งบการเงิน, Tick Data)" ข้อมูลพื้นฐานพอมี แต่อาจขาดรายละเอียดเชิงลึก
ความง่ายในการใช้งาน, ต้องสมัครสมาชิก และใช้ API Key ติดตั้ง Library แล้วใช้ได้ทันที (Python)
เสถียรภาพ เสถียรมาก รองรับการทำธุรกิจ ไม่แน่นอน (ถ้า Yahoo เปลี่ยนหน้าเว็บ Library อาจพัง)
ตลาดที่ครอบคลุม เฉพาะหุ้นไทย (SET/TFEX) "ทั่วโลก (สหรัฐฯ, ญี่ปุ่น, ไทย ฯลฯ)"
--------------------------------------------------------------
ใน Methods และ Attributes ทั้งหมด มีอะไรที่ใช้งานได้
โค้ดดึงรายชื่อ Methods และ Attributes ทั้งหมด
# Full code
import yfinance as yf
# 1. สร้าง Object ของหุ้น
ticker = yf.Ticker("CPALL.BK")
# 2. ใช้ dir() เพื่อดึงสมาชิกทั้งหมดของ Object
all_members = dir(ticker)
# 3. วนลูปเพื่อแสดงผลเฉพาะ Method/Attribute ที่เราสนใจ (คัดตัวแปรระบบออก)
count = 0
print(f"--- รายชื่อ Methods ทั้งหมดของ yfinance.Ticker ---")
for member in all_members:
# คัดเฉพาะที่ไม่ขึ้นต้นด้วย __ (Private methods ของ Python)
if not member.startswith('_'):
count += 1
print(f"{count}. {member}")
print("-" * 30)
print(f"รวมทั้งหมดที่ใช้งานได้: {count} รายการ")
# --------------------------------------- #
.actions: ดูเงินปันผลและการแตกหุ้น
.balance_sheet: ดูงบดุล
.calendar: ดูวันประกาศงบ
.cashflow: ดูงบกระแสเงินสด
.history: ดึงราคาประวัติศาสตร์
.income_stmt: ดูงบกำไรขาดทุน
.insider_transactions: ดูการซื้อขายของผู้บริหาร (ถ้ามีข้อมูล)
.major_holders: ดูผู้ถือหุ้นรายใหญ่
ความแตกต่างระหว่าง Method และ Attribute
ในรายการที่ดึงออกมา:
Attribute: คือข้อมูลดิบ เรียกใช้ได้เลย (เช่น ticker.info, ticker.dividends)
# Attribute
print(ticker.info['sector']) # ดึง sector ของบริษัท
print(ticker.info['longName']) # ชื่อเต็มของบริษัท
Method: คือฟังก์ชันที่ต้องมีวงเล็บและใส่พารามิเตอร์ (เช่น ticker.history(period="1y"), ticker.option_chain("2024-12-20"))
# Method
history_data = ticker.history(period="1mo") # ดึงข้อมูลราคาย้อนหลัง 1 เดือน
print(history_data.head())
dividends = ticker.dividends() # ดึงข้อมูลปันผล
print(dividends)
# ------------------------------------------ #
Link:

ความคิดเห็น
แสดงความคิดเห็น