퀀트 프로그램 수차례 할까말까 고민
온갖 고민을 이리저리 다 했습니다
클로드는 쉬고 제미나이, 쳇지피가 열일 했네요
어떻게 프로그램을 만들까 고민한게 아니라
주식 트레이딩의 어떤 부분을 자동화 할 것인가를요
덕분에 주식공부 다시 했네요
종목선정, 포트폴리오운영, 지수선물옵션&시황뉴스분석(Qdrant 백터 LLM 임베딩), 트레이딩머신
초단타, 데이트레이딩, 스윙, 장투, ETF, 몰빵, 포트폴리오, 매트릭스, 올웨더 등등
결국 한번에 한종목 스윙 트레이딩머신부터 만들어 보기로 했네요
종목선정은 HTS로 사용자조건검색으로 스크리닝 해서 그 종목에 대한 기술적 분석, 재무, 증권사리포트, 뉴스 등은 제가 분석하고 판단하는걸로
오라클 평생무료 리눅스 인스턴스에서 go + oracle ATP database + 한국투자증권 openAPI 통해서 초 분 단위로 데이터 받아서 분석하고
알고리즘에 따라 매수, 트레일링 스탑 로스 매도, 손절가 매도 등 트레이딩 실행하도록 할겁니다
뭐 이정도면 MTS로도 사실 다 가능하죠
근데 당장 매수/매도 타이밍 잡을때 적어도 피봇값, 드마크값은 사용하면 좀 더 유리한 가격에 매매할 수 있습니다
그리고 시장가로 매매하지 않고 5초 단위로 호가잔량 분석해서 적절하게 주문을 분산시키면 슬리피지 비용을 아낄 수 있고요
누적되면 이것도 큽니다. 그래서 기관들이 프로그램 매매로 시장조성도 하지만
대량거래시 조금이라도 평균단가를 더 비싸게/싸게 팔려고/사려고 프로그램으로 수작질 부리는 겁니다
그리고 안정성과 보안을 위해서 go 와 사용자(나) 사이에 통신은 Telegram만 사용할겁니다
전에는 slack도 써봤는데 이 경우에는 telegram이 더 적합한 듯 합니다
인바운드 http https는 닫아서 외부접근을 막고. 개발할때만 ssh로 접속하고 서비스중에 피드백은 ssh로 하지 않기(termux 해도 되지만 안하기)
Telegram Bot의 long polling 방식으로 Telegram API (getUpdates, sendMessage)을 사용해서
go 프로그램이 매매를 했을때 매매 보고서를 나한테 보내고
승인이 필요하면 승인을 받고 실행하는 절차를 만들 수도 있는데 지금은 필요없고
가격 설정이나 조건에 대한 미세조정이라든지
/매수 50 카카오
/손절 100000
/매도 전량
/상태
/종료
/시작
뭐 이런 식의 강제 명령어 실행
트레이딩머신이 MTS로 해도 되는 단순한 매매를 대신해 주는 수준의 간단한 프로그램이겠지만
인간의 게으름, 정보한계, 탐욕, 공포를 보완해 주는 장치로서 이것저것 해 볼 여지가 있습니다
종목선정과 가격설정은 사람이 직접 했고 트레이딩머신은 그냥 조건에 따라 매매만 하는거니까
거래의 성과는 온전히 사람의 책임인 것이고
트레이딩머신은 매매비용을 조금 줄이고 사람의 정신적 비용을 많이 줄여주는 것