trading api

  • 주식 api를 멀티 뜨레드로 이용할 때 데드록이 생기는 경우

    멀티 뜨레드로 작동하지 않는 ls증권의 api를 이용하고 있다. 3천 개 정도 종목의 체결과 호가 대이터를 실시간으로 받는다. 수신되는 빈도와 대이터의 양이 너무 많아서 이들을 매인 뜨레드에서 모두 처리하면 하나의 코어에서만 부하가 커져서 멈추게 된다. 패킷을 받은 때 바로 새로운 객체를 만들어 새로운 뜨레드로 보내 연산하면 cpu의 모든 코어들로 부하를 나눌 수 있다. 연산을 한다는 건…

  • c#으로 키움증권 영웅문 글로벌 제어하기 – 종목 변경

    영웅문 글로벌은 4와 비슷해 보이지만 다르게 작동한다. wm_settext와 wm_keydown을 연달아 보내면 전자만 작동하고 후자는 작동하지 않는다. 4와 달리 종목 코드를 입력하는 edit에 wm_settext로 문자열을 보내 입력하는 거로는 충분하지 않다. 이 에디트는 표준 윈도우즈 컨트롤이 아니다. 키를 하나씩 눌러 입력해 보면 각 동작에 드롭 다운 리스트가 작동하는 걸 확인할 수 있다. 이렇게 드롭 다운 리스트가 작동하는…

  • c#으로 키움증권 영웅문 4 제어하기 – 종목 변경

    영웅문 4의 0101 현재 가격창을 띄워 놓고 이 창의 종목 코드 입력 에디트에 종목 코드를 입력한 뒤 엔터를 누른 거처럼 작동하게 하는 방법이다. 이 창에서 종목을 바꾸면 다른 창들도 바뀐다. 현재 가격창을 띄워만 놓으면 되고 눈에 보이지는 않아도 된다. 핸들에 대한 기본적인 지식은 있어야 한다.

  • 미국 주식 거래 대금 – vwap * 거래량 = ?

    미국의 거래소들은 주식의 거래 대금dollar volume 대이터를 만들지 않는 거 같다. 가능한 모든 거래소들과 api들을 확인해 봤지만 하나도 찾을 수 없었다. 그런데 ls증권 차트를 보면 거래 대금이 나온다. 어떻게 구하는 건지 물어 봤다. 미국의 거래소에서 보내 주는 대이터는 아니고 체결 대이터를 수신하여 가격과 체결량을 곱하여 누적한다고 했다. 이렇게 계산하는 게 맞다. 미국 유료 api들 가운데…

  • 미국 주식 api – fmp

    api가 편하게 되어 있긴 한데 대이터가 정확하지 않다. 오류를 알려 줘도 적극적으로 처리하려 하질 않는다. 거래량 가중 평균 가격을 아래와 같이 틀리게 계산한다. 주식 목록을 요청하면 채권을 일부 포함하여 응답한다. 미국의 주식 거래소 종목 리스트를 요청하면 다른 거래소에 상장되어 있는 일부 종목들을 포함하여 응답한다.

  • [전자 공시] 연결 손익계산서에서 누적 매출액이 감소하는 경우

    매출액은 음수일 수 없어서 누적 매출액은 줄어들 수 없다. 하지만 간혹 저런 경우들이 있다. 연결되어 있던 회사를 판 경우다. 예를 들어 1, 2, 3분기 각 매출액이 100이면 3분기 누적 매출액은 300이다. 4분기에 연결되어 있던 회사를 팔고 남은 회사들로만 연 매출액을 계산해 보니 200이다. 4분기에는 분기 실적 없이 연 실적만 공시한다. 이때 4분기 실적만 파악해야 한다면…

  • [전자 공시 api] 주요 계정과목에 매출액 등이 없는 경우 – 표준계정코드를 입력하지 않음

    금융감독원은 api를 통해 회사의 주요 계정과목과 모든 계정과목을 나누어 제공한다. 전자의 경우 대이터 양이 작아 100개의 회사들 꺼를 한꺼번에 받을 수 있다. 대부분의 경우 이거로 해결이 된다. 그런데 주요 계정과목에 매출액처럼 당연히 있어야 할 계정과목이 없는 회사들이 코스피와 코스닥 기준으로 수십 개 된다. 금융회사 등에는 개념적으로 매출액 계정과목이 없지만 문제는 이에 포함되지 않으면서도 주요 계정과목에…

  • 없어야 하는 계정 과목이 포함된 전자 공시 손익 계산서 오류

    금융감독원을 통한 전자 공시에는 오류가 많다. 아래 대이터는 api로 다운로드한 한화손해보험의 2023년 사업 보고서다. 위 회사는 보험 회사라서 손익 계산서에 매출액 계정 과목이 없어야 한다. 그런데 있고 그 값은 0이다. 다른 기간의 보고서에는 없다. 오류다. 위 보고서 대이터는 정정되어서 홈패이지에서 검색을 하면 위 보고서는 나오지 않는다. 정정된 나중의 보고서만 검색된다. 그런데 정정된 기재 내용에 위…

  • 전자 공시 open dart 여러 회사들을 조회 요청한 때 일부 회사들 대이터만 없는 경우의 응답

    금융감독원의 api를 이용하여 여러 회사들 정기 보고서의 주요 계정 대이터를 한꺼번에 요청한 때 요청한 분기의 보고서가 없을 수 있다. 이때 요청한 회사들 가운데 하나라도 보고서가 있으면 서버는 000으로 정상 처리하며 있는 보고서만 송신하고 모두 없는 경우에만 조회할 대이터가 없다며 013 예외로 처리한다.