(로또 사는 아빠) 살림 하는 엄마

คู่มือการพัฒนา API ของบริษัทหลักทรัพย์ Korea Investment & Securities

สร้าง: 2024-04-22

สร้าง: 2024-04-22 23:53

ก่อนหน้านี้ เราได้เรียนรู้เกี่ยวกับเหตุผลในการสร้างโปรแกรมเทรดอัตโนมัติโดยใช้ API ของบริษัทหลักทรัพย์เคไอ (한국투자증권) รวมถึงข้อดีต่างๆ ที่ได้รับจากการใช้ API นี้แล้ว

ในครั้งนี้ เราจะมาสรุปและแบ่งปันขั้นตอนการรวบรวมข้อมูลที่จำเป็นสำหรับการพัฒนา API ของบริษัทหลักทรัพย์เคไอ (한국투자증권) เนื่องจากมีผู้เชี่ยวชาญหลายท่านได้แบ่งปัน API ของบริษัทหลักทรัพย์เคไอ (한국투자증권) ไว้แล้ว จึงไม่ยากที่จะค้นหาข้อมูล แต่ถึงกระนั้น เราอยากจะแชร์มุมมองและประสบการณ์ที่ได้จากการรวบรวมข้อมูล เพื่อเป็นประโยชน์ต่อผู้อ่าน (แนะนำให้เริ่มต้นจากการดูที่ GitHub ก่อนเลยนะครับ!!)


เว็บไซต์อย่างเป็นทางการ

เว็บไซต์อย่างเป็นทางการของบริษัทหลักทรัพย์เคไอ (한국투자증권)

สามารถค้นหาข้อมูลเบื้องต้นได้จากเว็บไซต์อย่างเป็นทางการของบริษัทหลักทรัพย์เคไอ (한국투자증권) โดยสามารถดำเนินการต่างๆ ผ่านเว็บไซต์ เช่น การตั้งค่าบัญชีผู้ใช้ การตั้งค่าบัญชีซื้อขาย การสมัครใช้บริการจำลองการซื้อขาย และการสมัครใช้บริการซื้อขายต่างประเทศ นอกจากนี้ เว็บไซต์ยังมีลิงก์ไปยังเว็บไซต์สำหรับนักพัฒนาอย่างง่ายดาย

คู่มือการพัฒนา API ของบริษัทหลักทรัพย์ Korea Investment & Securities

เมนูการพัฒนาในระบบของบริษัทหลักทรัพย์ Korea Investment & Securities อยู่ในเมนูการซื้อขาย



ศูนย์พัฒนา KIS Developer

เว็บไซต์ KIS Developer เป็นเว็บไซต์ที่จำเป็นต้องเข้าเยี่ยมชมอยู่เสมอระหว่างการพัฒนา API โดยสามารถตรวจสอบรายละเอียดของเอกสาร API ได้จากเว็บไซต์นี้

คู่มือการพัฒนา API ของบริษัทหลักทรัพย์ Korea Investment & Securities

API สำหรับออก Access Token ซึ่งเป็นขั้นตอนพื้นฐานที่สุด


คู่มือการพัฒนา API ของบริษัทหลักทรัพย์ Korea Investment & Securities

รายละเอียดของค่า Request และ Response ของ API ใช้ค่าเหล่านี้ในการเรียกใช้งาน API และประมวลผลข้อมูลที่ได้รับ



GitHub - koreainvestment/open-trading-api

นี่คือที่เก็บข้อมูล (Repository) ของ Open Trading API บน GitHub ไฟล์ README.md จะแนะนำขั้นตอนการทำงานอย่างละเอียด ดังนั้น ดังที่ได้กล่าวไว้ข้างต้น แนะนำให้เริ่มดูจาก GitHub ก่อนเลยครับ

คู่มือการพัฒนา API ของบริษัทหลักทรัพย์ Korea Investment & Securities

GitHub Repository



WikiDocs

สุดท้ายนี้ คือ WikiDocs ที่สามารถใช้เป็นข้อมูลอ้างอิงในการพัฒนาด้วย Python เนื่องจากผู้เขียนคือพนักงานของบริษัทหลักทรัพย์เคไอ (한국투자증권) จึงมีความน่าเชื่อถือสูง สาเหตุที่ระบุว่า “ส่วนใหญ่” เนื่องจากไม่มีการอัปเดตเนื้อหาเพิ่มเติมในช่วงเวลาหนึ่ง และส่วนตัวแล้วพบปัญหาในการทำตามขั้นตอนเกี่ยวกับข้อมูลแบบเรียลไทม์ แต่หาทางแก้ไขไม่ได้

คู่มือการพัฒนา API ของบริษัทหลักทรัพย์ Korea Investment & Securities

คู่มือการพัฒนาในรูปแบบ WikiDocs ทำได้อย่างครบถ้วน



ข้อมูลอ้างอิงเพิ่มเติม

หลังจากที่ได้ศึกษาข้อมูลอ้างอิงเหล่านี้แล้ว น่าจะสามารถเริ่มต้นการพัฒนาได้อย่างราบรื่น แต่เนื่องจากผมเองยังไม่มีความสามารถมากพอ จึงพบปัญหาและอุปสรรคหลายอย่าง ดังนั้น จึงได้ค้นหาข้อมูลเพิ่มเติมและได้รับความช่วยเหลือจากแหล่งต่างๆ ดังต่อไปนี้ เนื่องจากเป็นข้อมูลที่ผมได้รวบรวมเอง จึงเชื่อว่าผู้อ่านก็สามารถค้นหาได้ง่ายเช่นกัน

วิดีโอของ Jocoding (23:41)

จากวิดีโอนี้ ทำให้เข้าใจข้อดีของ API ของบริษัทหลักทรัพย์เคไอ (한국투자증권) จากมุมมองของผู้ใช้ และเนื่องจากวิดีโอได้อธิบายโค้ดที่ทำงานได้จริง จึงทำให้เข้าใจได้ง่ายขึ้น หากก่อนหน้านี้ได้ทำความเข้าใจคร่าวๆ เกี่ยวกับข้อมูลต่างๆ จากเว็บไซต์อย่างเป็นทางการแล้ว ขอแนะนำให้ดูวิดีโอของ Jocoding (23:41) ก่อนเลยครับ


Websockets

ก่อนหน้านี้ได้กล่าวถึงไปบ้างแล้วว่า พบปัญหาในการจัดการข้อมูลแบบเรียลไทม์ โดย WikiDocs ได้ใช้ websockets ใน Python แต่ไม่เข้าใจว่า websockets คืออะไร เมื่อเกิดปัญหาแบบนี้ ก็ต้องถามสิครับ +_+


ChatGPT ช่วยด้วย

คู่มือการพัฒนา API ของบริษัทหลักทรัพย์ Korea Investment & Securities

ถ้าไม่มี ChatGPT คงแย่แน่เลย


ดูเหมือนจะเป็นวิธีการสำหรับการสื่อสาร และเมื่อเชื่อมต่อแล้ว จะสามารถรับข้อมูลได้อย่างต่อเนื่อง จากสิ่งที่ได้ศึกษา พบว่า REST API จะส่งคำขอหนึ่งครั้ง และได้รับการตอบกลับหนึ่งครั้ง แต่ Websocket จะส่งคำขอหนึ่งครั้ง และได้รับการตอบกลับอย่างต่อเนื่อง ในการเขียนโปรแกรมเทรดอัตโนมัติ จำเป็นต้องใช้ทั้งสองอย่างนี้ร่วมกัน และต้องทำงานได้อย่างราบรื่น


แต่พบปัญหาในตัวอย่างของ WikiDocs หลังจากส่งคำขอด้วย websocket แล้ว โปรแกรมก็เข้าสู่สถานะ while True: และหยุดทำงานอยู่ตรงนั้น แน่นอนว่าต้องมีวิธีแก้ไข แต่เนื่องจากผมยังเป็นมือใหม่ จึงไม่คุ้นเคยกับแนวคิดนี้ จึงไม่ทราบว่าจะแก้ไขอย่างไร ดังนั้น จึงได้ค้นหาใน GitHub ว่ามีโค้ดตัวอย่างที่เขียนด้วยวิธีอื่นหรือไม่


ที่เก็บข้อมูล (Repository) บน GitHub

  • python-kis - Soju06/python-kis: 📈 ไลบรารี API การเทรดแบบ REST ของบริษัทหลักทรัพย์เคไอ (한국투자증권) ที่เขียนด้วย Python (github.com)
  • pykis - pjueon/pykis: แพ็กเกจ Python สำหรับใช้งาน API การเทรดแบบใหม่ของบริษัทหลักทรัพย์เคไอ (한국투자증권) ได้อย่างง่ายดาย (github.com)
  • mojito - sharebook-kr/mojito: Python wrapper สำหรับ KIS (github.com)

ต้องขอขอบคุณผู้เชี่ยวชาญทุกท่านที่ได้แบ่งปันโค้ด ได้ลองตรวจสอบ 3 ที่เก็บข้อมูล (Repository) แต่ที่เลือกใช้ในครั้งนี้คือ python-kis โดยนำโค้ดส่วนที่เกี่ยวข้องกับ websocket มาใช้ สรุปแล้ว ไม่ได้ใช้ไลบรารี websockets แต่ใช้ไลบรารี websocket และ websocket-client แทน ขอขอบคุณ Soju06 และทุกท่านที่ได้แบ่งปันโค้ดดีๆ บน GitHub ครับ

ตอนนี้สามารถเริ่มพัฒนาโดยใช้ข้อมูลเหล่านี้เป็นแนวทางได้แล้ว แม้ว่าจะพบปัญหาบ้างเล็กน้อย แต่จะสรุปและแบ่งปันในภายหลัง ในขั้นตอนต่อไป เราจะมาวิเคราะห์ “โครงสร้างของระบบเทรดอัตโนมัติ” ซึ่งเป็นส่วนที่ค่อนข้างสำคัญ เพื่อที่จะได้ลดปัญหาและสามารถนำส่วนที่พัฒนาแล้วมาใช้ซ้ำได้ง่ายขึ้นในอนาคต

ความคิดเห็น0

2024-11-18 สิ่งที่สนใจอย่างหลากหลายในชีวิต : ฉันใช้เวลาว่างทำอะไรบ้าง?บทความบล็อกที่เขียนเมื่อวันที่ 18 พฤศจิกายน 2024 บทความนี้กล่าวถึงงานอดิเรก การลงทุน การเรียนรู้ และกิจวัตรประจำวันต่างๆ ของผู้เขียน รวมถึงความกังวลเกี่ยวกับการเพิ่มประสิทธิภาพการทำงานผ่านระบบอัตโนมัติ
Charles Lee
Charles Lee
Charles Lee
Charles Lee

November 19, 2024

6 วิธีการซื้อขายล่วงหน้า OKX | คำแนะนำการลงทะเบียนสมาชิก การรับรอง KYC และขั้นตอนการฝากเงินโพสต์บล็อกนี้แนะนำวิธีการซื้อขายล่วงหน้า OKX, การลงทะเบียนสมาชิก, การรับรอง KYC และขั้นตอนการฝากเงิน อธิบายวิธีการใช้ OKX สำหรับการซื้อขายล่วงหน้าสกุลเงินดิจิทัลทีละขั้นตอน
바이낸스
바이낸스
바이낸스
바이낸스

September 19, 2025

10 เคล็ดลับการใช้ OKX Exchange | การยืนยัน KYC ไปจนถึงการฝากเงินและการซื้อขายสัญญาโพสต์บล็อกที่แนะนำวิธีการใช้ OKX Exchange อธิบายขั้นตอนการสมัคร การยืนยัน KYC การฝากเงิน และการซื้อขายสัญญา รวมถึงเคล็ดลับส่วนลดค่าธรรมเนียมและข้อควรระวัง
바이낸스
바이낸스
바이낸스
바이낸스

September 19, 2025

[ไม่ต้องใช้เวลา+ฟรี+รับฟรีกาแฟทุกคน] การแข่งขันจำลองการลงทุน K-BIT $8000 (บิตคอยน์/อีเธอเรียม/แอร์ดรอป)เข้าร่วมการแข่งขันจำลองการลงทุน K-BIT และรับคูปองกาแฟฟรี 8,000 ดอลลาร์สหรัฐเป็นเงินรางวัล และร่วมสร้างประสบการณ์การลงทุนที่สนุกสนานไปกับทีม Sepower
팀 세력, SEPOWER
팀 세력, SEPOWER
팀 세력, SEPOWER
팀 세력, SEPOWER

August 12, 2024

4 วิธีใช้ Bitget | วิธีการลงทะเบียน การยืนยัน KYC และการฝากเงินและการซื้อขายฟิวเจอร์โพสต์บล็อกนี้เกี่ยวกับวิธีใช้ Bitget ให้ข้อมูลเกี่ยวกับการลงทะเบียน การยืนยัน KYC วิธีการฝากเงิน และวิธีการซื้อขายฟิวเจอร์
바이낸스
바이낸스
바이낸스
바이낸스

September 16, 2025

เรื่องราวการพัฒนาโครงการ LegiNote ตอนที่ 3 - Request ใน Goบทความนี้จะแนะนำกระบวนการพัฒนาโครงการ LegiNote ซึ่งใช้ภาษา Go ในการดึงข้อมูลกฎหมายจาก OpenAPI ของสภาผู้แทนราษฎร ครอบคลุมหัวข้อต่างๆ เช่น การส่งคำขอ HTTP และการกำหนดโครงสร้างข้อมูล
statpan
statpan
statpan
statpan

August 26, 2024