tofulim / auto_trade

소소한 재테크를 위한 python 기반 자동매매
MIT License
1 stars 0 forks source link

Build flow & Architect with 5w1h #1

Open tofulim opened 6 months ago

tofulim commented 6 months ago

what

매월 특정 날짜마다 정해놓은 일정 금액을 주식에 투자하고자 한다. 이를 python 활용한 자동매매로 구현하는 프로젝트 기본적으로 long 포지션을 잡고 나는 이 주식들을 잊고 현생을 잘 살아가는 게 목표

public repo기 때문에 기타 credential을 env나 config로 만든 뒤 .gitignore하고 private하게 관리해야함

why

머신러닝 forcast류 모델과 주식 도메인을 결합한 프로젝트를 통해 airflow를 익히고 작은 재테크도 하기 위함 주식에 대한 관심과 기술적 호기심을 둘 다 해결할 수 있는 프로젝트

how

월급 다음날 내 월급의 10%를 정해진 n개의 종목에 투자한다. (이 때 비율은 사전에 정의한다.)

예측에 사용할 모델은 ARIMA를 활용하며 추후 가벼운 DL 모델로 변경될 수 있음. -> meta prophet 이용 구동 서버는 (AWS free tier | firebase ) 활용한다. 그렇기에 무거운 모델 사용 불가

단, 몇 가지 개발 요구사항이 있다.

when

RoadMap

Architecture

image
tofulim commented 4 months ago
image
tofulim commented 1 month ago

그림도 수정이 필요함 prophet도 slack으로 알람 보냄

tofulim commented 1 month ago

ec2 free tier인 t2.micro에서 Apache Airflow를 돌리려면 옵션 조절이 필요하다. (프로세스워커, 스레드, 갱신 인터벌 조절) 안그럼 인스턴스가 죽어버린다. cpu 스파크 튀어 stuck 걸려 중지하고 재시작해야함..

설정해야하는 옵션은 다음과 같다.

참조한 정보 https://stackoverflow.com/questions/42419834/airbnb-airflow-using-all-system-resources

tofulim commented 1 month ago

웹 ui에서 dag 하나를 활성화하면 갑자기 cpu가 치솟는다

image

그리고는 서버가 죽었다. 복잡한 DAG도 아니고 가장 기본적인 KIS token update dag를 킨 것 뿐인데 죽어버렸다.

image
tofulim commented 1 month ago

prophesy and decision dag에서 utc로 돼있어서

매일 08:25 시간 외 장전거래를 실행합니다 (08:20 - 08:40)

schedule_interval="25 8 * * *",

이 라인에서 실행하는데 아침이 아닌 오후 17:25에 예측 및 슬랙 알람이 옴 image

그리고 이 시점에 예약 매수 또한 진행되는데 이럼 사실 전날종가 기준으로 장마감전에 매수하는 꼴임ㅋㅋ 그럼 안되고 차라리 "예측 및 매수" DAG를 장 마감 오후 7-8시에 하는게 좋을듯 그럼 주문 정정 및 취소할 시간도 많음