투자회수 내역의 XIRR 값들을 일괄 업데이트 해야 하는 이슈가 있었는데 간결하고 심플한 파이썬으로 작업을 하게 되었습니다.이미 Spring 웹서버에 단건의 투자건에 대해 XIRR을 구하는 로직은 구현이 되어 있었고 포팅만 하면 되는 상황이었는데 생산성을 높이고자 파이썬으로 작업을 하게 됩니다 XIRR 일괄 업데이트는 FAST API 를 발행해서 스케줄러를 통해 새벽 시간대에 업데이트를 하도록 설정하고 XIRR 산식은 채찍피티를 갈궈서 빠르게 클래스 객체로 만들어 내게 됩니다.생산성은 기가 막히는데 딜레마에 빠지기도 하지만 MSDN 찾아보고 구글링 하던 시절 생각하면 별반 차이는 없다고 생각이 드네요 CashFlow 는 현금흐름 정보를 가지는 객체입니다class CashFlow: def __in..
WebSocket 을 활용한 주가정보 실시간 조회 작업 대쉬보드에서 주식 종목 정보를 보여주는 부분이 존재하는데 주가정보는 전일 오후 3시 30분, 장이 마감되고 난 뒤에 일괄 업데이트 된 정보만을 보여주다보니 당일 실시간으로 변하고 있는 주가정보를 반영해주지 못하고 있었습니다.20분 지연시세도 아닌 전일 종가라서 당일 변동에 따른 수익률의 변화를 실시간으로 반영하지 못하고 있는 부분으로 인해 이 부분을 개선해주기로 하였습니다. 주가정보는 서버에서 가져오게 하고, 뷰단에서는 수신된 주가정보를 업데이트 하도록 했습니다.웹페이지 접속 시 웹소켓을 이용해 서버로 접속 요청 이후 접속 성공 시 주가정보를 내려받을 종목 코드 리스트를 넘겨주도록 합니다. 서버는 python 으로 작성되었으며 주가정보는 Finan..
개요 퀀트투자 하시는 분들은 주가정보와 기타 지표들을 모두 수집하고, 또 그 데이터를 정제해서 본인만의 데이터를 구축합니다. 그리고 그 데이터를 이용해 전략을 수립하고 백테스팅 툴을 이용해 전략을 시뮬레이션 해보고 실전 매매에 적용해보는 순서를 가지는데요. 저 역시 퀀트투자를 위한 데이터를 데일리로 수집하는 시스템을 구축해서 사용하고 있습니다. 백테스팅은 python 라이브러리 backtrader 를 이용해 구성한 전략을 2000종목 이상 대입해보면서 전략의 가치를 판단해보고 있습니다. 오늘은 이동평균선 매매를 위한 전략을 세울때 그 이동평균선 데이터를 정제하는 방법을 소개해드리려고 합니다. 본문 주가정보 데이터는 키움 api를 통해 받아오고 있습니다. 실시간 데이터 수집과 스케줄러를 통한 데이터 수집을..
개요 주식 관련 정보를 키움증권api를 통해서 받아오는 서버를 운영중에 있는데 flask 로 end point를 제공하고 있습니다. 이번에 시스템 확장을 하면서 한국투자 KIS 에서 제공해주는 기능을 추가하기로 합니다. 그리고 flask를 걷어내고 FastAPI로 대체하기로 했습니다. Flask와 비슷한 구조를 가졌는데 기본적으로 비동기식으로 작성되어 있기에 웹 서버 구동시 빠른 성능을 보여준다고 합니다. 이외에도 빠른 코드 작성, 적은 버그, 직관성, 쉬운 설계, 견고함, 표준을 기반으로 했다는 다양한 장점이 있다고 하는데 대세가 Flask 에서 FastAPI로 넘어간다고 하니 저도 넘어가려는 이유가 큽니다. FastAPI에 대한 상세 설명은 공식 문서 페이지에서 확인하시기 바랍니다. https://f..