Bloomberg Query Language (BQL) เบื่องต้น

การใช้ BQL เพื่อดึงข้อมูลการลงทุนตอนที่ 1

NUTHDANAI WANGPRATHAM
QUANT I LOVE U
1 min readAug 2, 2021

--

ในการวิเคราะห์การลงทุนแบบมืออาชีพเราจำเป็นต้องใช้ข้อมูลจำนวนมหาศาล หนึ่งในแหล่งข้อมูลด้านการลงทุนที่สำคัญคือผู้ให้บริการด้านข้อมูลการลงทุน(Investments Data Provider) หนึ่งในนั้นคือ Bloomberg ผู้ให้บริการข้อมูลทางการเงินที่ใหญ่อันดับต้น ๆ

Bloomberg Query Language (BQL) คือ API ใหม่สำหรับการดึงข้อมูลด้านการลงทุนจาก Bloomberg ได้สะดวกมากยิ่งขึ้น

เปรียบเทียบกับ BDP (คนที่ไม่เคยใช้ข้ามไปได้เลย)

BDP หรือ Bloomberg Data Point คือ API เดิมของ Bloomberg สำหรับการดึงข้อมูล จริง ๆ แล้ว BQL คล้ายคลึงกับ BDP ค่อนข้างมาก ตัวอย่างเช่น เราต้องการดึงราคาปัจจุบันของ AAPL เราสามารถดึงได้ดังนี้

  • using BDP =BDP("AAPL US Equity", "PX_LAST")
  • using BQL =BQL("AAPL US Equity", "PX_LAST")

จะเห็นได้ว่าเหมือนกันเปะเลย แต่สำหรับ BDP หากเราต้องการดึงข้อมูลสองค่าสำหรับหลักทรัพย์ตัวเดิมใน BDP เราต้องเขียนสูตรใหม่ แต่สำหรับ BQL เราสามารถดึงด้วยสูตรเดียวซึ่งทำให้การดึงข้อมูลได้ง่ายดายขึ้น

เริ่มเขียน BQL

เราสามารถเขียน BQL ได้ทั้งใน excel หรือ Python ใน Jupiter หรือ BQUANT ถ้าใน Python เราอาจต้องทำสิ่งต่อไปนี้

โครงสร้างของ BQL.Query แบ่งออกเป็นสามส่วน:

  • let: คือการกำหนดตัวเเปรที่จะใช้ (ไม่จำเป็นต้องใส่)
  • get: สิ่งที่เราอยากรู้
  • for: เราอยากรู้ค่าของอะไร

เราสามารถกำหนดตัวแปรในส่วนแรกเพื่อดึงข้อมูล ทำให้เราประหยัดเวลาในการเขียนสูตรเดิมหลายๆรอบ และลดข้อผิดพลาดได้

จาก code ด้านบนเราจะเห็นว่าเราสามารถเพิ่มหลักทรัพย์หรือค่าต่าง ๆ ได้ในสูตรเดียว แต่หากเราต้องการค่าเป็นช่วงเวลาก็สามารถทำได้ดังนี้

การใช้ BQL เพื่อดึงข้อมูลการลงทุนตอนที่ 1

Universes Bloomberg Query Language (BQL)

การใช้ Statistical Functions บน BQL

การจัดการข้อมูลอนุกรมเวลาใน BQL

การ Grouping ใน BQL

การใช้ฟังก์ชั่นเงื่อนไขใน BQL

--

--

NUTHDANAI WANGPRATHAM
QUANT I LOVE U

I am a learner and have a multipotential life. You can contact me at nutdnuy@gmail.com