inflearn logo
강의

講義

知識共有

枕投資法:寝ている間にお金を稼ぐAI株式自動売買マシン

データベース構成 📑

모의 계좌 잔고조회 params 확인 부탁드립니다.

172

sanare78449001

投稿した質問数 4

0

모의 계좌 잔고 테스트 하는데,

모바일에서도 모의 계좌는 분명히 맞게 확인됩니다.
params 확인 부탁드립니다.

{ "rt_cd": "2", "msg_cd": "OPSQ2000", "msg1": "ERROR : INPUT INVALID_CHECK_ACNO" }
 

params

{'CANO': '50142790',

'ACNT_PRDT_CD': '01',

'AFHR_FLPR_YN': 'N',

'OFL_YN': '',

'INQR_DVSN': '02',

'UNPR_DVSN': '01',

'FUND_STTL_ICLD_YN': 'N',

'FNCG_AMT_AUTO_RDPT_YN': 'N',

'PRCS_DVSN': '00',

'CTX_AREA_FK100': '',

'CTX_AREA_NK100': ''}

python 딥러닝 빅데이터 FastAPI 데이터-엔지니어링

回答 2

0

cheatkeylab

안녕하세요, @꺼부기주식으로 백억가자님.

우선 제가 본 강의에서 사용한 해외 주식잔고 조회 코드는 아래와 같습니다.

 

def get_overseas_balance(ovrs_excg_cd="NASD"):
    """해외주식 잔고 조회
    
    Args:
        ovrs_excg_cd (str, optional): 거래소 코드. Defaults to "NASD".
            NASD: 나스닥, NYSE: 뉴욕, AMEX: 아멕스
    """
    # 토큰 가져오기
    access_token = get_access_token()
    
    url = f"{settings.kis_base_url}/uapi/overseas-stock/v1/trading/inquire-balance"
    
    headers = {
        "Content-Type": "application/json; charset=utf-8",
        "authorization": f"Bearer {access_token}",
        "appkey": settings.KIS_APPKEY,
        "appsecret": settings.KIS_APPSECRET,
        "tr_id": "VTTS3012R"  # 해외주식 잔고 조회 TR ID
    }
    
    params = {
        "CANO": settings.KIS_CANO,
        "ACNT_PRDT_CD": settings.KIS_ACNT_PRDT_CD,
        "OVRS_EXCG_CD": ovrs_excg_cd,  # 매개변수로 받은 거래소 코드 사용
        "TR_CRCY_CD": "USD",     # 통화코드 USD
        "CTX_AREA_FK200": "",
        "CTX_AREA_NK200": ""
    }
    
    max_retries = 2
    for attempt in range(max_retries):
        try:
            response = requests.get(url, headers=headers, params=params)
            result = response.json()
            
            # API 응답에 오류가 있고, 재시도 가능한 경우
            if 'rt_cd' in result and result['rt_cd'] != '0' and attempt < max_retries - 1:
                print(f"API 오류: {result['msg_cd']} - {result.get('msg1', '알 수 없는 오류')}. 토큰 갱신 후 재시도...")
                # 토큰 강제 갱신 후 재시도
                access_token = get_access_token()
                headers["authorization"] = f"Bearer {access_token}"
                time.sleep(1)
                continue
            
            return result
            
        except Exception as e:
            print(f"잔고 조회 중 오류 발생 (시도 {attempt+1}/{max_retries}): {str(e)}")
            if attempt < max_retries - 1:
                time.sleep(1)  # 재시도 전 1초 대기
            else:
                raise

위 코드를 보면,

헤더 부분에는 아래와 같이 셋팅되어있고,

headers = {
        "Content-Type": "application/json; charset=utf-8",
        "authorization": f"Bearer {access_token}",
        "appkey": settings.KIS_APPKEY,
        "appsecret": settings.KIS_APPSECRET,
        "tr_id": "VTTS3012R"  # 해외주식 잔고 조회 TR ID
    }

request param 부분은 아래와 같이 셋팅되어있습니다.

params = {
        "CANO": settings.KIS_CANO,
        "ACNT_PRDT_CD": settings.KIS_ACNT_PRDT_CD,
        "OVRS_EXCG_CD": ovrs_excg_cd,  # 매개변수로 받은 거래소 코드 사용
        "TR_CRCY_CD": "USD",     # 통화코드 USD
        "CTX_AREA_FK200": "",
        "CTX_AREA_NK200": ""
    }

참고로 ACNT_PRDT_CD 값에 대해서는 01을 넣었습니다.

 

위와같이 조회했을 때 정상 조회가 됩니다. 위 에러를 보면, ERROR : INPUT INVALID_CHECK_ACNO 위와같은 에러가 발생하는 것 같습니다.

그리고 혹시 위 api는 해외주식 잔고 조회 api가 아니라 "해외주식 매수가능금액 조회" 아닌가요??
"OFL_YN"에도 "N"을 넣어서 테스트 부탁드립니다.

코드를 그대로 받아서 계좌만 셋팅하면 정상 작동해야되는데, 혹시 뭔가 설정이 꼬이거나 했을 것 같습니다.

상세 로그도 같이 전달 부탁드립니다.

감사합니다.

 

 

 

 

 

 

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 꺼부기주식으로 백억가자님.

모의 계좌 잔고 조회 시 발생하는 오류 “ERROR : INPUT INVALID_CHECK_ACNO”는 요청 파라미터 중 계좌 번호(CANO)나 제품 코드(ACNT_PRDT_CD)에 잘못된 값이 포함되어 있을 때 발생할 수 있습니다. 이 오류를 해결하기 위해 다음 사항을 확인해 보시기 바랍니다:

  1. 계좌 번호(CANO): 모의 계좌 번호가 정확한지 확인하십시오. 일부 플랫폼에서는 계좌 번호 앞이나 뒤에 불필요한 공백이 포함될 수 있으니, 이를 제거하고 정확히 입력했는지 확인하세요.

  2. 제품 코드(ACNT_PRDT_CD): 올바른 ACNT_PRDT_CD 값을 입력했는지 확인하십시오. 각각의 계좌 유형이나 상품에 대해 다양한 코드가 사용될 수 있으므로, 사용 중인 플랫폼의 API 문서나 안내서를 참고하여 올바른 코드를 입력하시기 바랍니다.

  3. 기타 파라미터: API에서 요구하는 다른 파라미터들도 정확하게 입력했는지 다시 한 번 검토합니다. 빈 값이나 잘못된 형식이 있는지 확인하세요.

이미 Git에서 공개된 소스코드나 강의 자료에서 이와 관련된 설정이 이루어졌을 가능성이 있으니 참고해 보실 수 있습니다. 그리고 혹시 강의 자료에서 제공한 예시 코드를 사용하는 경우, 정확히 복사하여 사용할 수 있도록 주의하시기 바랍니다.

문제를 해결하는 데에 있어서 여전히 어려움이 있으시다면 아래와 같은 질문 관련 유사한 논의들은 참고가 될 수 있습니다:
- 쓰레드, 외화 예수금 등 확인 부탁드립니다.

위의 답변이 도움이 되었기를 바랍니다. 추가적인 질문이나 문제가 있을 경우, 망설이지 말고 강의 페이지에 게시글을 남기시면 강사님께서 빠르게 도움을 주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

모의투자 주문이 불가한 계좌입니다.

0

85

2

미래에셋의 API 적용 가능성

1

1659

2

colab 실행시간이 너무 오래걸리는데 이게 맞을까요?ㅠ

1

531

2

MCP 적용 안되시는분 이거 보세요.

2

169

2

mcp서버 설치 문의

0

69

2

13,14강 외부 API 설정 오류

0

114

3

fastapi를 이용한 뼈대 프로그램 소스 제공 가능 여부 문의드립니다. (6강_Python FastApi 기본)

0

84

1

[베개투자법 :자면서 돈버는 AI주식 자동매매머신] 종목을 100개까지 추가 하고자 합니다.

0

111

2

[베개투자법 :자면서 돈버는 AI주식 자동매매머신] 종목 변경시 코드 수정 부문을 알려주세요

1

98

2

종합 점수 계산시에 가중치 관련 질문

1

65

1

cursor 관련 질문

1

122

3

pip 설치 오류 문의

1

125

2

문의 드릴 메일 주소좀 알려주시면 감사하겠습니다.

1

98

2

파이선 설치 문제

0

220

2

경제 데이터 업데이트 중 오류 발생 문제

1

106

2

4.15, 4.16 강의를 따라하는데 주가 데이터가 이상합니다

1

125

3

경제지표 업데이트 오류

0

95

2

모의투자에서는 받은 API키로 잘되는데 실제 API키로 변경해서 사용하면 기간이 만료된 token 입니다 라고 표시됨

1

260

4

RSI 오류인지...

0

97

2

Filesystem MCP 등록 질문

1

207

2

주식잔고조회 에러입니다.

0

200

2

env파일 등록?

0

95

2

코딩 의뢰 가능한가요.

0

119

1

강의 자료 어디에 있는지 알고 싶습니다

0

102

3