Codex Skill 등록하기 - bcpprm 사례로 익히는 워크플로 자동화 가이드
·
dev/ai
개발을 하다 보면 반복해서 수행하는 작업이 생깁니다. 변경 사항을 확인하고, 브랜치를 만들고, 커밋 메시지를 정리한 뒤, 원격 저장소에 푸시하고 PR까지 생성하는 흐름도 그중 하나입니다. 이런 반복 작업을 매번 자연어로 길게 설명하는 대신, Codex가 일정한 규칙에 따라 수행하도록 만들 수 있는 방법이 Skill입니다.이 글에서는 제가 실제로 등록한 bcpprm Skill을 사례로 삼아, Codex에 새로운 Skill을 등록하는 전체 과정을 정리합니다. 이후 다른 자동화 Skill을 만들 때에도 그대로 참고할 수 있도록 기록합니다.예시로 사용하는 bcpprm는 Branch → Commit → Push → Pull Request 흐름을 지원하도록 만든 Skill입니다.먼저 결정할 것: Skill인가, P..
Upbit 웹소켓을 이용한 급등 코인의 움직임 예측 모델 개발 (5)
·
dev/ai
저번에 모델 학습까지 완료했으니 이제 실시간으로 검증해볼까 한다. 현재 기준 제일 상승률 높은 종목 1개를 구독해서 웹소켓으로 실시간으로 데이터를 받아 30초 인터벌마다 feature에 해당하는 입력을 모델에 넣었고, 모델이 분류한 다음 인터벌의 label을 action과 매핑해서 실제와 비교하는 흐름으로 진행했다. 물론 현재 구간의 label은 아직 정해지지 않은 미래이므로 현재보다 30초 전을 기준으로 실시간 취급해서 모델 출력과 실제를 비교하며 평가했다. 매 30초마다 이전 5분의 입력을 토대로 buy, sell, hold중 하나를 예측하도록 했고 예측값을 모아서 Acc 와 macro F1을 계산해서 출력하도록 구성했다. 물론 처음 5분동안은 데이터를 모으는 warming up 구간으로 설정했다...
Upbit 웹소켓을 이용한 급등 코인의 움직임 예측 모델 개발 (4)
·
dev/ai
저번에 완성한 코드를 통해 시퀀스 데이터 자동으로 수집할 수 있게 되었다. 한 시간 넘게 돌리며 수집한 데이터는 다음과 같다. 오늘은 평소보다 차분한 시장이라 급등, 급락 클래스의 데이터 샘플이 충분히 안 모인것 같다. 시퀀스 데이터의 제일 끝 값은 (0: 매도, 1: 관망, 2: 매수)로 label 되어있다. 수많은 클래스 1(관망)의 데이터 속에서 2(매수)와 0(매도)이 섞인걸 포착했다. 해당 시간대에 급등한 KRW-DOOD와 급락한 KRW-UNI의 데이터임을 확인했다. 이제 모은 데이터를 학습할 기본 모델을 구성하였다. 시계열 데이터 국룰 모델인 lstm과 초단기 패턴이니만큼 국소적인 패턴인식에 강한 CNN을 합친 모델을 기본 골격으로 설정했다. 클래스별로 균형 잡힌 양질의 데이터가 아님을 감..
Upbit 웹소켓을 이용한 급등 코인의 움직임 예측 모델 개발 (3)
·
dev/ai
데이터 수집 과정에 사용될 하이퍼파라미터는 다음과 같이 설정했다.INTERVAL_SEC = 30LABEL_THRESHOLD = 0.008 # 0.8% 수익률 기준SELECT_TOP_N = 5SEQ_LEN_SEC = 300 # 예측에 쓸 과거 데이터 기간 : 5분 = 시퀀스 데이터 구성하는 인터벌 개수 : 10MAX_SEQUENCES = 2000 FEATURE_COLS = [ 'slope', 'accel', 'last_return', 'cusum_pos', 'cusum_neg', 'volume_ratio', 'bid_ask_imbalance', 'spread_ratio'] feature 컬럼 중 앞의 6개는 거래 정보(tick data), 뒤의 2개는 주문..
Upbit 웹소켓을 이용한 급등 코인의 움직임 예측 모델 개발 (2)
·
dev/ai
이전에 Upbit api와 websocket을 이용해서 종목별로 틱 데이터를 받아왔는데 이를 이용하여 ml용 시퀀스 데이터를 만들어야했다. 일단 모델의 목적은 종목과 관계없이 급등, 급락 전에 공통적으로 나타나는 abnormal한 패턴 감지이므로 종목의 종속을 최소화 하기위해 입력 feature를 절대값이 아닌 상대값으로 구성했다. (이와 같은 이유로 slope도 원래 의미인 변화량 대신 변화율로 계산했다. accel도 이렇게 바꾼 slope 변화량으로 계산) 그러다보니 당연하게도 가격과 거래량에 관한 변화율, 가속도 같은 값을 제일 먼저 찾게 됐고 평소 빠져있던 (on-premise용 경량모델의 핵심 입력 cusum) CUSUM도 당연히 넣었다. 그 외 gpt의 도움을 받아 급등 패턴 인식에 있어서 나..
Upbit 웹소켓을 이용한 급등 코인의 움직임 예측 모델 개발 (1)
·
dev/ai
평소 토스증권의 급상승 탭에서 소액으로 해외 주식 단타를 하던 차에 급등, 급락 이벤트 직전 몇 초 동안 abnormal한 전조 패턴이(주포가 리드하고 개인들이 달라붙으며 거래량이 몰림에 따라 나타나는) 공통적으로 존재함을 경험적으로 감지했다. 이와 같은 패턴을 감지하는 분류 모델을 만들어서 실제 매수, 매도에 활용해보고자 퀀트 투자에서 쓰일 법한 시장 데이터 제공 api를 알아보기 시작했다. 잘만 찾는다면 샘플 데이터도 무제한으로 모으고 사전학습된 모델에 실시간으로 입력시켜서 매수, 매도 결정에 활용까지 가능하겠다 싶었지만 대부분의 api들이 유료거나 무료여도 호출 횟수 제한이 있는걸 확인했다. 또한 실제 감지하고자 하는 패턴은 경험적으로 초단기 패턴이라 구하기 쉬운 1시간봉, 1일봉은 너무 길고 틱..