Eerder hebben we gekeken waarom we een automatisch handelsprogramma willen maken met behulp van de Korea Investment Securities API (한국투자증권 API) en wat de voordelen ervan zijn.
Deze keer wil ik het proces samenvatten van het verzamelen van informatie die nodig is voor de ontwikkeling van de Korea Investment Securities API en deze met jullie delen. Er zijn al veel experts die de Korea Investment Securities API hebben gedeeld, dus het was niet moeilijk om informatie te vinden. Toch wil ik kort mijn bevindingen delen over wat ik heb geleerd, in de hoop dat dit jullie zal helpen. (Begin met het bekijken van de Github-repository!!)
Officiële website
Officiële website van Korea Investment Securities (한국투자증권 공식 사이트)
De basisinformatie is te vinden op de officiële website. Via de officiële website van Korea Investment Securities kunt u taken uitvoeren zoals het instellen van uw ID en rekening, het aanvragen van een simulatiehandel en het aanvragen van buitenlandse handel. De officiële website biedt ook eenvoudig toegang tot de ontwikkelingswebsite.
In het menu van Korea Investment & Securities bevinden zich de ontwikkelingsgerelateerde onderdelen in het menu Handelen.
KIS Developer Developer Center (KIS Developer 개발자 센터)
De KIS Developer-website is een website die u tijdens de ontwikkeling van de API steeds opnieuw zult raadplegen. U kunt de gedetailleerde inhoud van de API-documentatie bekijken.
Dit is de API voor het verkrijgen van de meest basale toegangstoken.
Dit zijn de gedetailleerde gegevens over de aanvraag- en responswaarden van de API. Raadpleeg deze waarden om aanroepen te doen, responsen te ontvangen en deze te verwerken.
github - koreainvestment/open-trading-api
Dit is de Open Trading API Github-repository. Het README.md-bestand bevat een gedetailleerde handleiding voor de stappen. Daarom raad ik aan om, zoals hierboven vermeld, te beginnen met het bekijken van Github.
Dit is de github-repository.
Wikidocs (위키독스)
Tot slot is er Wikidocs, dat nuttige informatie bevat voor Python-ontwikkeling. Omdat de auteur van de inhoud Korea Investment Securities is, is het grootste deel ervan betrouwbaar. De reden waarom ik 'het grootste deel' zeg, is dat er geen nieuwe content is toegevoegd na verloop van tijd en ik persoonlijk vastliep tijdens het volgen van de realtime data-sectie en geen oplossing kon vinden.
Wikidocs biedt een goede ontwikkelingshandleiding.
Aanvullende bronnen
Als je al deze informatie hebt bekeken, zou je denken dat je er zomaar mee aan de slag kunt, maar ik ben niet zo vaardig, dus ik liep tegen veel obstakels aan. Daarom heb ik veel verschillende bronnen geraadpleegd en hulp gekregen. Ik zal een lijst met deze extra bronnen opsommen. Aangezien ik ze zelf heb gevonden, zou je ze ook gemakkelijk moeten kunnen vinden.
Een video van Jocoding (23:41)
Via deze video kon ik de voordelen van de Korea Investment Securities API vanuit het perspectief van de gebruiker begrijpen. En omdat de werkende broncode in de video wordt uitgelegd, was het makkelijker te begrijpen. Als je al een globaal idee hebt van wat er te vinden is op de officiële website, raad ik aan om snel naar de video van Jocoding (23:41) te kijken.
Websockets
Zoals ik al even eerder aangaf, liep ik vast bij het afhandelen van realtime data. In Wikidocs werd Python's websockets gebruikt. Maar ik begreep niet goed wat websockets zijn. In dat geval moet je het gewoon vragen. +_+
ChatGPT, help me!
Ik denk dat het erg vervelend zou zijn als ChatGPT verdwijnt.
Het lijkt erop dat het een manier is om te communiceren en dat je, zodra de verbinding tot stand is gebracht, constant data kunt ontvangen. Na het lezen van dit gedeelte kwam ik tot de conclusie dat REST API één antwoord geeft op één verzoek, terwijl Websocket na registratie van één verzoek constant antwoorden ontvangt. Voor het ontwikkelen van een automatisch handelsprogramma moet je beide oplossingen goed implementeren en combineren.
Maar ik liep vast bij het voorbeeld in Wikidocs. De aanvraag via websocket was succesvol, maar vervolgens bleef het programma hangen in een oneindige lus met while True:. Er moet een oplossing zijn, maar omdat ik een beginner ben en het concept niet zo goed begrijp, kon ik niet goed inschatten hoe ik het moest oplossen. Dus ging ik op zoek op Github naar een andere implementatie van de code.
Github-repository
- python-kis - Soju06/python-kis: 📈 Python Korea Investment Securities REST-based Trading API Library (github.com)
- pykis - pjueon/pykis: Python-pakket voor eenvoudig gebruik van de nieuwe Open Trade API van Korea Investment Securities (github.com)
- mojito - sharebook-kr/mojito: Python-wrapper voor KIS (github.com)
Ik besefte nogmaals dat er veel experts zijn. Ik heb er drie gecontroleerd, maar de repository die ik deze keer heb gebruikt, is de eerste, python-kis. Ik heb de logica hiervan overgenomen en het websocket-gedeelte als referentie gebruikt. Uiteindelijk heb ik in plaats van de websockets-bibliotheek de websocket- en websocket-client-bibliotheken gebruikt. Ik wil graag mijn dank uitspreken aan Soju06 en alle anderen die hun code op Github delen.
Nu kan ik deze informatie gebruiken om te gaan ontwikkelen. Ik heb wat problemen ondervonden, maar ik zal die apart samenvatten en met jullie delen. In de volgende post wil ik nadenken over de 'structuur van geautomatiseerde aandelenhandel', wat een beetje fundamenteler is. Op basis hiervan hoop ik in de toekomst problemen te voorkomen en reeds ontwikkelde onderdelen gemakkelijk te hergebruiken.
Reacties0