Coder Social home page Coder Social logo

stock-data-collector's Introduction

stock-data-collector

과거 private repo 에서 작업했던 프로젝트를 오픈소스로 공개하기 위해 리팩토링 작업 중입니다.

키움 증권 OpenAPI+를 사용한 틱 데이터 수집 모듈

Setup

키움증권 OpenAPI

아래 링크들은 유효하지 않다면 키움증권 홈페이지 접속 후 OpenAPI 페이지를 찾아주세요.

  1. 키움증권 회원가입

  2. 키움증권 OpenAPI 서비스 사용 신청

키움 Open API+ 개발 가이드 PDF

  1. OpenAPI+ 모듈, KOA Studio 다운로드

  2. 상시 모의투자 신청

Project

kiwoom-openapi

OpenAPI 모듈을 사용해 수집할 틱 데이터 요청을 담당합니다.

stock-data-collector's People

Contributors

hdmun avatar

Watchers

 avatar

stock-data-collector's Issues

`pyzmq` 윈도우 환경에서 `ProactorEventLoop` 미지원 문제

윈도우에서 zeromq 소켓의 recv 함수를 호출하게 되면 다음과 같은 예외가 발생한다.

Proactor event loop does not implement add_reader family of methods required for zmq. 
zmq will work with proactor if tornado >= 6.1 can be found. 
Use `asyncio.set_event_loop_policy(WindowsSelectorEventLoopPolicy())` or install 'tornado>=6.1' to avoid this error.
Traceback (most recent call last):
  File "C:\Users\hdmun\.virtualenvs\controller-3w4IbtC5\Lib\site-packages\zmq\asyncio.py", line 49, in _get_selector_windows
    from tornado.platform.asyncio import AddThreadSelectorEventLoop
ModuleNotFoundError: No module named 'tornado'

https://github.com/zeromq/pyzmq/blob/v24.0.1/zmq/asyncio.py#L49

윈도우 Proactor 이벤트 루프인 asyncio.windows_events.ProactorEventLoop 클래스가 add_reader 메소드를 지원하지 않아

아래 두 가지로 방법으로 해결하라고 안내하고 있다.

  1. WindowsSelectorEventLoopPolicy 사용
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
  1. tornado 패키지의 AddThreadSelectorEventLoop 를 사용
pip install tornado>=6.1

프로세스 내에서 `QAxWidget.clear()` 호출 시 간헐적으로 크래시 발생

    # ...
    def disconnect(self):
        if not self._api:
            return

        self._api.clear()  # QAxWidget.clear()
        print('disconnect KiwoomOpenAPI')
    # ...

키움 OpenAPI 에서 제공해주는 연결 종료 함수를 제공해주지 않아
키움 OpenAPI 연결 종료를 처리하기 위해 위와 같이 clear() 함수를 호출 했을 때 매우 높은 확률로 크래시가 발생한다.

 	msvcr100.dll!_invoke_watson(const wchar_t * pszExpression=0x00000000, const wchar_t * pszFunction=0x00000000, const wchar_t * pszFile=0x00000000, unsigned int nLine=0, unsigned int pReserved=0) 줄 155	C++
 	msvcr100.dll!_invalid_parameter(const wchar_t * pszExpression=0x00000000, const wchar_t * pszFunction=0x00000000, const wchar_t * pszFile=0x00000000, unsigned int nLine=0, unsigned int pReserved=0) 줄 110	C++
 	msvcr100.dll!_invalid_parameter_noinfo() 줄 121	C++
>	msvcr100.dll!memcpy_s(void * dst, unsigned int sizeInBytes, const void * src, unsigned int count) 줄 55	C
 	OPCommApi.dll!501b1bc0()	알 수 없음
 	[아래 프레임이 누락 및/또는 올바르지 않음, OPCommApi.dll에 대해 로드된 기호가 없음]	
 	OPCommApi.dll!501993c1()	알 수 없음
 	mfc100.dll!CWnd::OnWndMsg(unsigned int,unsigned int,long,long *)	알 수 없음
 	mfc100.dll!CWnd::WindowProc(unsigned int,unsigned int,long)	알 수 없음
 	mfc100.dll!AfxCallWndProc(class CWnd *,struct HWND__ *,unsigned int,unsigned int,long)	알 수 없음
 	mfc100.dll!AfxWndProc(struct HWND__ *,unsigned int,unsigned int,long)	알 수 없음
 	mfc100.dll!AfxWndProcBase(struct HWND__ *,unsigned int,unsigned int,long)	알 수 없음
 	user32.dll!__InternalCallWinProc@20�()	알 수 없음
 	...

RealType가 주식체결일 경우 sRealData (실시간 데이터 전문) 에 대하여

[답변] RealType가 주식체결일 경우 sRealData (실시간 데이터 전문) 에 대하여 알고싶습니다.

운영자252022.05.27 09:14조회수 48
안녕하십니까. 키움증권 운영자입니다.
먼저 키움증권에 관심을 가져주시고 이용해주시는 고객님께 감사 인사드립니다.

OnReceiveRealData() 이벤트의 파라메터로 전달되는 sRealData 데이터는 
영웅문4, 영웅문S 등 타매체에서 사용되는 데이터들을 포함하고 있습니다.
해당 값들은 시스템작업과 타매체 개발로 인해 변경이나 추가될 수 있습니다.
KOA스튜디오에서 제공하는 FID 목록외에는 OpenAPI에서 다루지 않는 데이터들로
모두 알려드리기 어려운점 양해 부탁드립니다.

감사합니다.

- 리테일전략팀 -
[원글] RealType가 주식체결일 경우 sRealData (실시간 데이터 전문) 에 대하여 알고싶습니다.
수고 많으십니다.

제목과 같이 sRealData로 추출되는 값들의 의미를 알고 싶습니다.

다른분 답글에서 데이터 유효성이 보장되지 못한다고 하셨습니다만, 참고용으로 알고 싶습니다.
첨부 사진과 같이 모르는 부분을 노란색을 표기하였습니다. (5월26일 12시22분54초 FSN 종목)

감사합니다.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.