본문 바로가기

Quant

(50)
퀀트 전략 업데이트 (7) : Backtrader skeleton code 회사 동료 분이 같이 저녁을 먹다가 이걸 왜 열심히 하냐 물어보셨다.뭐라 답하지 조금 고민하다가 무지개를 쫓아가는 중이라 말씀드렸다.무지개의 끝에 닿지 못할 수도 있지만, 그 끝을 따라가는 과정이 즐겁다고 했다. 봄이 오고 웃을 일도 많이 생기면서 마음도 조금 풀린거 같다.처음에는 세상을 노려보는 마음으로 시작했다가, 지금은 다시 세상을 바라보면서 즐기고 있다.Backtrader 라이브러리를 활용하려는데 자유도가 상당히 높아서 시작점을 어떻게 잡아야 할 지 고민을 했다. 1. 하책: 매뉴얼을 모두 정독하고 하나씩 쌓아올린다.- 시간이 오래 걸리고, 모든 기능이 다 필요하지 않다.- 그래도 알아두면 써먹을 데가 있다. 2. 중책: LLM한테 내 코드를 주고 다 변경해달라 한다.- LLM은 정답을 말하지 않..
퀀트 전략 업데이트 (6) : Backtesting library 조사 삼성리서치 스쿠버 동호회 회장이 됐다..가입 문의만 한건데 투어 추진할 사람이 없다고, 강사라면 환영한다 하셔서 어쩌다보니 회장을 맡게됐다.숟가락만 올리고 싶었는데 정신을 차려보니 밥상을 차려야한다. 데이터를 다시 쌓는 사이에 백테스팅을 보강하려 한다.기존 백테스팅 코드는 라이브러리를 활용하지 않고, try & error를 반복하며 직접 필요한 기능들을 개발했다.- 보조 지표 추가- 시각화- 백테스팅- 매매내역 정리- 수익률/승률 계산- ... 어느 정도 시스템이 안정화되어서 커스터마이징이 용이한 장점은 있지만,얼기설기 만들었던 코드를 뒤로하고 더 나은 솔루션, 라이브러리가 없는지 찾아보려한다.라이브러리를 활용하면 내가 인지하지 못했던 기능, 데이터 필드, 에러를 보강할 수 있으니 좋을 거 같다. 대체로..
퀀트 전략 업데이트 (5) : 데이터 파이프라인 업데이트 회사에서 서브 업무로 CI/CD/인프라 개발을 맡게 되었다. 서브업무치고는 헤비하다.오픈소스 프로젝트를 셋업부터 운영까지 진행하며 어느 정도 알게된 줄 알았고 자신감이 붙었었다. 그러다, 어제 선배님들이 서버실에 레이드 풀러가자고 했다. 개발자하며 처음 들어본 말이다...AWS로 딸칵 버튼만 누르다가 온프레미스로 운영하는 서버실에 처음 가본 것도 신기하고,선배님들이 서버에 선을 슥슥 꼽고 능숙하게 BIOS에 진입해서 RAID 구성을 변경하고, CLI로 슥슥 명령어를 날리는게 멋져보이더라.. 견학간 느낌이라 재밌기도 하고 선배님들의 네트워크 차력쇼에 겸손해지는 하는 날이다. 주도테마 선정 백테스팅 결과를 분단위로 체크하다가,전략의 트리거가 되는 거래대금 상위 30개 데이터가 문제가 있음을 파악했다. 상위 ..
퀀트 전략 업데이트 (4) : Supervised learning 쌓아왔던 퀀트 전략이 무너지고, 했던 걸 모두 다시 해야한다.그동안의 시간이 의미없게 느껴지기도 하고, 잃어버린 것도 없이 무엇인가를 계속 찾아 헤매는 느낌이 들기도 했다. 나의 것이 아니었음을 받아들이고, 이미 지나왔던 길인데 다시 가는 것이 대수랴. 이번에는 더 잘할 수 있다.그리고 시스템 트레이딩은 돈을 버는 것도 중요하지만, 나의 생각대로 동작하는 것이 핵심이라 생각한다. 좌절할 뻔 했지만, 고통의 단맛과 후회의 쓴맛을 알기에 다시 도전한다.전략 설정에 필요한 데이터, 시스템은 구축했기에 적절한 전략으로 정답에 맞게 끌고 가야한다.시스템 트레이딩의 장점은 백테스팅을 통해 무엇을 샀어야 했는지 내 돈을 안 넣고도 알 수 있다는 것이니 활용하도록 하자. 답지가 되어줄 매매내역이 필요하다.AI를 활용하..
퀀트 전략 업데이트 (3) : Google notebookLM 예비군 작계 훈련을 갔는데 꽃샘추위라 꽤 춥다..왜 이 훈련을 꼬박꼬박 받아야 할까 생각을 하다가,스타에서 급할 때 미네랄 캐던 SCV로 저글링 몸빵하고 연장으로 지지는 걸 생각하니 납득이 된다..   notebook LM을 활용해 내 부족한 직관으로 작성한 코드를 수정해보려 한다.Google의 notebook LM에서 집중한 기능은 2개.입력한 소스를 기반으로 RAG로 끌어와서 대답해주는 것 + 유튜브 링크를 소스로 제공하면 해당 영상의 자막을 Document로 활용하는 것. 트레이딩 유튜버의 아이디어를 디깅해서 코드화하는 나에게 꽤 유용한 기능으로 보여서 써보려한다. 1. 소스 추가 2. Q&A 애가 똑바로 알아먹었는지 물어보고.잘 이해한 거 같다.3. 코드 작성 요청. 4. 백테스팅결과는 이러한데테..
퀀트 전략 업데이트 (2) : chatGPT DeepResearch 더 세련된 방법으로 일할 수는 없을까 하다, AI 개발자인데 AI를 더 적극적으로 활용해보기로 한다.chatGPT Project & DeepResearch를 활용해 Document를 다듬은 다음에.Claude 3.7 Sonnet, Grok3 DeepSearch도 활용해 인사이트와 코드를 수정한다.그리고 Google notebookLM의 영상 요약 기능으로 특정 유튜브의 전략을 차용하는 것도 괜찮은 시도로 보인다. 마지막으로 나의 트레이더 친구 장희를 Human Expert로 활용해 성능을 비교해보려 한다.힘내라 장희. 컴퓨터를 이겨다오활용해 볼 기능은 아래와 같다. 모두 코드 개발에 특화된 모델이라 하니 성능이 궁금하다. 1. chatGPT o3-mini-high 모델의 DeepSearch & Proje..
퀀트 전략 업데이트 (1) 입사 초에 시스템 트레이딩에 관심을 가지는 개발자 동기가 꽤 있었지만 지금 남은 건 나 혼자 뿐인 듯하다.이걸 꾸준히 하는데 필요한 건 3가지 정도가 있는 거 같다.대학교 다닐 떄 창업 수업 때 배운 거지만 일맥상통한 부분이 있는 듯 하다. 열정. 매일마다 잠을 아끼면서 시간을 쏟을 수 있는가.아이디어. 트레이더로서 인사이트를 발굴할 수 있는가.기술. 아이디어를 직접 코딩해서 시스템을 구축할 수 있는가. 생각보다 이 3가지를 다 갖추기는 어렵다. 그래도 하는 사람은 분명히 있다.내가 못한다고 남들도 못한다는 좁은 생각은 버린다. 부족함을 알았다면 정진한다.dateprofittrade_count2024-11-260.98805722024-11-270.13566832024-11-286.04593222024-1..
시스템 안정화 (2) 스쿠버 동아리 신입생 환영회에 진호가 오라고 해서 애들 술 사주러 갔다.재학생 떄 매년하던 신입생인척 하기를 또 했는데, 애들이 잘 속아주더라.어느새 신입생이랑 10살 차이라서 이제 이짓도 그만해야 될 거 같다...백테스팅 시, 시스템 또는 로직을 변경할 때마다 에러 / 차이가 발생한게 이상하다.그래서 데이터 조회/저장에 Validation logic을 추가해 시스템 안정성을 재고하려 한다. 데이터 조회에 Validation 로직을 추가하고, 관련 함수를 호출할 때 Error handling을 통해 시스템을 안정적으로 구축하려 한다.@staticmethoddef get_minute_ohlcv_data(code, time: datetime): data_list = FiveMinuteOhlcvDAO()..