/********************************************************************/
/// ########## Open API 함수를 이용한 전문처리 샘플코드 예제입니다.
[ opt10085 : 계좌수익률요청 ]
1. Open API 조회 함수 입력값을 설정합니다.
계좌번호 = 전문 조회할 보유계좌번호
SetInputValue("계좌번호" , "입력값1");
2. Open API 조회 함수를 호출해서 전문을 서버로 전송합니다.
CommRqData( "RQName" , "opt10085" , 0 , "화면번호");
/********************************************************************/
[INPUT] (1)
"계좌번호"
[OUTPUT:멀티데이터] (17)
"일자", "종목코드", "종목명", "현재가", "매입가", "매입금액", "보유수량", "당일매도손익"
, "당일매매수수료", "당일매매세금", "신용구분", "대출일", "결제잔고", "청산가능수량", "신용금액", "신용이자"
, "만기일"
opt10085의 출력에는 평가손익 항목이 없다. 그말인즉슨 위 정보를 토대로 사용자 프로그램이 세금과 수수료를 계산을 해야 한다는 뜻이다. 계산 과정은 생략하고, 다음과 같은 계산 결과가 나왔다고 가정해보자.
매입가: 7277원
보유수량: 100주
수수료: 4790원
세금: 0원
현재가: 6450원
평가손익 계산식이 (현재가-매입가)x보유수량-수수료-세금이므로 위 계산 결과에 따르면 평가손익은 (6450-7277)x100-4790-0 이다. -87490원이 나온다. 그런데 놀라운 점이 있다. 사실 실제 평가손익은 -87515원이라는 것이다!!
도대체 왜 평가손익이 다르게 나오는 걸까? 예상해보건대 매입가의 오차 때문인 것 같다. 파이썬 인터프리터에 (6450 - 7277.25) * 100 - 4790을 넣어보면 -87515가 나온다. 즉 사실 내 평단가는 7277.25원인데 키움증권이 반올림해버려서 7277원으로 표시되고 그로 인해 오차가 발생한다는 것.
그럼 정확한 평가손익은 어떻게 구하나요? 네, OPW00004를 쓰시면 됩니다.
'KHOpenAPI' 카테고리의 다른 글
[KHOpenAPI] 장 종료 후 주문 메시지 (0) | 2023.11.03 |
---|---|
[KHOpenAPI] test: 계좌평가현황 연속조회 (1) | 2023.11.03 |
[KHOpenAPI] RQName의 유효성 테스트: opw00013 (1) | 2023.10.09 |
[KHOpenAPI] 화면번호의 유효성 테스트 (0) | 2023.10.09 |
[KHOpenAPI] 조회횟수 제한 (0) | 2023.10.08 |
댓글