Korábban már megvizsgáltuk, hogy miért szeretnénk automatizált kereskedési programot készíteni a Korea Investment Securities API-jának használatával, és milyen előnyökkel jár ez.
Most szeretném megosztani Önökkel a Korea Investment Securities API fejlesztéséhez szükséges információk gyűjtésének folyamatát. Mivel számos tapasztalt felhasználó már megosztotta a Korea Investment Securities API-ját, nem volt nehéz információkat találni. Ennek ellenére szeretnék röviden kommentálni, hogy milyen információkat sikerült szereznem, és remélem, ez hasznos lesz Önöknek. (Kezdje a GitHub adattárral!)
Hivatalos weboldal
Korea Investment Securities hivatalos weboldal
Az alapvető információkat a hivatalos weboldalon keresztül lehet beszerezni. A Korea Investment Securities hivatalos weboldalán keresztül végezhetők el olyan műveletek, mint a felhasználói azonosító és számla beállítása, a demo kereskedés kérése, a nemzetközi kereskedés kérése stb. Ezenkívül a hivatalos weboldalon könnyen elérhető a fejlesztéshez szükséges weboldalakra mutató link.
A Korea Investment & Securities menüjében a fejlesztéssel kapcsolatos tartalmak a kereskedés menüben találhatók.
KIS Developer fejlesztői központ
A KIS Developer weboldal egy olyan weboldal, amelyet folyamatosan figyelemmel kell kísérni az API fejlesztése során. Az API dokumentáció részletes tartalmát itt tekintheti meg.
A legalapvetőbb, hozzáférési jogkivonatot (access token) kiadó API.
Az API kérési és válasz értékeinek részletes leírása. Ezeket az értékeket használjuk a híváshoz, a válasz fogadásához és a feldolgozáshoz.
GitHub - koreainvestment/open-trading-api
Az Open Trading API GitHub adattára. A README.md fájl részletes lépésenkénti útmutatást nyújt. Ezért, ahogy fentebb is írtam, érdemes a GitHub-bal kezdeni.
A github adattár.
Wikidocs
Végül, itt van egy Wikidocs oldal, amely hasznos lehet Python fejlesztés során. Mivel a szerző a Korea Investment Securities munkatársa, a legtöbb információ megbízható. A „legtöbb” azért, mert az idő múlásával nem kerültek hozzá új tartalmak, és személy szerint a valós idejű adatokkal kapcsolatos résznél elakadtam, és nem találtam megoldást a problémámra.
A Wikidoxs kiváló fejlesztői útmutatót nyújt.
További források
Ezeknek a forrásoknak az alapján valóban nagyszerű lenne, ha pillanatok alatt elkészíthetnénk, de mivel nem rendelkezem ilyen képességekkel, számos akadállyal találkoztam. Ezért sok mindent kerestem, és segítséget kaptam további forrásokból. Mivel az én általam talált forrásokról van szó, Önök is könnyen megtalálhatják őket.
Jocoding YouTube videója (23:41-től)
Ebből a videóból megérthettem a Korea Investment Securities API előnyeit a felhasználói szemszögből. És persze, mivel a működő forráskódot is bemutatják a videóban, könnyebb megérteni. Ha korábban már megismerkedett a hivatalos weboldal tartalmával, és nagyjából tudja, mi található rajta, akkor javaslom, hogy nézzen meg gyorsan Jocoding videóját (23:41-től).
WebSockets
Mint már említettem, a valós idejű adatok kezelése során elakadtam, a Wikidocsban pedig a Python websockets-jét használták. De nem értettem, mi is az a websocket. Ilyenkor meg kell kérdezni. +_+
ChatGPT, segíts!
Úgy érzem, hogy nagy bajba kerülünk, ha a ChatGPT eltűnik.
Úgy tűnik, hogy ez egy kommunikációs módszer, és ha létrejön a kapcsolat, akkor folyamatosan kaphatunk adatokat. Ezt elolvasva az a benyomásom, hogy a REST API egy kérésre egy választ ad, míg a Websocket egy kérés regisztrálása után folyamatosan válaszokat küld. Az automatizált kereskedési programozáshoz mindkettőt implementálni kell, és megfelelően össze kell hangolni.
De a Wikidocs példájánál elakadtam. A websockettel való kérés rendben ment, de a while True: miatt folyamatosan ebben az állapotban maradt. Biztosan van megoldás, de én, mint kezdő, nem vagyok túl járatos ezekben a fogalmakban, ezért nem volt könnyű rájönni, hogyan kell megoldani. Ezért megnéztem, hogy van-e a GitHubon másképp implementált forráskód.
GitHub adattárak
- python-kis - Soju06/python-kis: 📈 Python-alapú kereskedési API könyvtár a Korea Investment Securities REST API-jához (github.com)
- pykis - pjueon/pykis: Python csomag a Korea Investment Securities új Open Trade API-jának egyszerű használatához (github.com)
- mojito - sharebook-kr/mojito: Python wrapper a KIS-hez (github.com)
Még egyszer rájöttem, hogy mennyi tehetséges fejlesztő van. Három adattárat néztem meg, de végül az 1-es számú python-kis adattárat használtam. Ebből a logikából vettem át a websockettel kapcsolatos részt. Végül nem a websockets könyvtárat, hanem a websocket és a websocket-client könyvtárakat használtam. Ezen a ponton szeretnék köszönetet mondani Soju06-nak és minden GitHub-felhasználónak, akik megosztják a nagyszerű forráskódjaikat.
Most már ezekkel az információkkal fejleszthetek. Némi nehézséggel szembesültem, de ezt külön fogom megosztani. A következő lépésben a „részvény automatizált kereskedésének felépítéséről” fogok gondolkodni, és meg fogom osztani az elképzeléseimet. Remélem, hogy ezáltal a jövőben csökkenthetjük a hibákat, és könnyebben újra felhasználhatjuk a már elkészült részeket.
Hozzászólások0