요약
- 목적: 매일 카테고리별 현재 자산과 입출금 시, 종목별 매수 및 매도 비용 계산
- 자산 조회 및 저장
- 투자 시, 자동 리프래싱을 위해 설정 비율에 맞게 항목별 매입 금액 산출
1. 개요
자산 카테고리
- 현금자산: CMA, RP, 발행어음
- 안전자산: 채권 및 채권, 금, 달러, 원자재
- 배당자산: 배당주, 리츠 등
- 투자자산: 국내 및 해외 주식, 비트코인, 이더리움
카테고리별 비율
대분류명(비율) | 소분류 | 비율(%) |
---|---|---|
현금자산(2.5) | 현금 | 2.5 |
안전자산(30) | 채권 및 펀드 | 15 |
금 | 5 | |
달러 | 5 | |
원자재 | 5 | |
배당자산(10) | 배당주 | 10 |
투자자산(57.5) | 국내주식 | 10 |
해외주식 | 32.5 | |
코인 | 15 |
메타데이터
영문명 | 영문 풀네임 | 한글명 | 타입 | 설명 | 예시 |
---|---|---|---|---|---|
prdt_cd | product_code | 상품코드 | varchar(10) | 상품코드 | 005930 |
prdt_nm | product_name | 상품명 | varchar(50) | 상품명 | 삼성전자 |
hldg_qnty | holding_quantity | 보유수량 | varchar(10) | 현재 보유 수량 | 7 |
crnt_price | current_price | 현재가 | int32 | 조회 기준 현재가 | 77600 |
buy_amt | buy_amount | 총 매수 금액 | int | 총 매수 금액 | |
avg_buy_price | average_buy_price | 매입단가 | int32 | 보유수량 당 평균 매입금액 = 매입금액 / 보유수량 | 80159 |
evlu_amt | evaluation_amount | 평가금액 | int32 | 보유수량 x 현재가 | 543200 |
evlu_profit | evaluation_profit | 평가손익 | int32 | 평가금액 - 매입금액 | -17912 |
profit_rate | profit_rate | 수익률(%) | float(64, 2) | 평가손익 / 매입금액 x 100 | -3.19 |
asset_rate | asset_rate | 종목비율(%) | float(64) | 평가금액 / 총 평가금액 x 100 | 8.61 |
main_ctgy | main_category | 자산 대분류 | varchar(10) | 자산대분류(안전, 투자, 배당현금1) | 투자자산 |
sub_ctgy | sub_category | 자산 중분류 | varchar(10) | 자산중분류 | 국내주식 |
standard_date | standard_date | 기준연월일 | varchar(8) | 조회 기준 연월일 | 20240505 |
2. 카테고리별 전체 자산 조회
한국투자증권
요약
- 필요사항: 각 계좌별 계좌번호와 appkey 및 appsecret(한국투자증권 홈페이지에서 계좌별 key 발급 받기)
- 계좌별 자산 불러오기: 국내외 주식 / ISA / 연금저축펀드
- 순서
- 각 계좌별 접근 키 발급
- 계좌 정보를 통해 현재 잔고 가져오기
- 컬럼명 표준화
- 해외 주식 잔고 현재 환율 적용하여 정수형 원화로 변환
- 계좌별 잔고 통합 및 파생변수 생성
업비트
요약
- 필요사항: 업비트 access 및 secret(업비트 홈페이지에서 IP 주소 등록 필요)
- 순서
- 예수금 제외 잔고 목록 추출
- 코인 항목코드 및 이름 추출
- 보유수량을 통해 현재가 산출
- 파생변수 생성
DB 저장
순서
- DB 내 보유 상품 정보 추출한 후, 상품 코드 기준 일별 자산과 결합
- 현재 날짜 삽입한 후, DB 내 일별 전체 자산(
tb_daily_balance_total
)에 삽입- 프로시저 활용하여 일별로 대분류 및 소분류별 누적 업데이트
sp_insert_daily_balance_main
: 대분류sp_insert_daily_balance_sub
: 소분류- 파생변수 생성
- 현재 카테고리별 자산 비율
- 카테고리별 현재와 기준 비율 차이 산출
2. 카테고리별 매수 및 매도 비용 산정
매수 순서 - DB 내 함수(
calculate_invest_amout
) 활용
- 일별 소분류 자산 현황 중 최신 기준년월을 대상으로 기준 자산 비율이 현재 자산 비율보다 큰 상품만 추출
- 매수 대상 상품 개수 및 비대상 기준비율 합계 산출
- 수정비율 산출: 비대상 기준비율 합계를 매수 대상 기준비율에 각각 배분
- 기준비율: 비매수 대상 비율 / 매수 대상 개수
- 투자 금액에 따라 수정한 비율 적용한 후, 각 항목별 투자금액 산출
- 수정된 투자금액 합계 산출
- 위 비율 적용 시, 카테고리별 비율 before / after 비교
참고 사이트