관리 메뉴

Leo's Garage

BackTrader란 본문

파이프라인 만들기/Algo Trading

BackTrader란

LeoBehindK 2023. 2. 3. 17:10
728x90
반응형

BackTrader를 통해서 여러가지 전략을 손쉽게 작성하고 백테스트를 하고 있었는데 생각해보니 BackTrader에 대해 정확하게 소개한 적이 없어서 이 글을 쓴다. 

BackTrader는 Trader나 투자자들이 마켓에 본인만의 전략이나 알고리즘을 이용해서 테스트하는 것을 도와주는 일종의 오픈 소스 프레임워크라고 이해하면 된다.

이 프레임워크는 기본적으로 자동매매 시스템을 개발, 테스트, 실행하는데 굉장히 강건하면서도 유연한 플랫폼을 제공해주고 사실 강력한 Back Testing Tool이라고 보는것이 더 정확할 수 있다 .

BackTrader를 설명하는 몇 가지 키워드가 있다.

1. 다양한 데이터 사용 가능 : BackTrader는 다양한 소스로 부터 다양한 데이터 형식을 넣을 수 있는데, 가량 일반적으로 많이 사용하는 YahooFinance Data를 api를 통해 사용할 수 있고, local data도 물론 사용할 수 있으며 online에서 수집한 데이터나 Broker(한국식으로 증권사) 데이터도 가공해서 충분히 사용이 가능하다.

2. 지표나 전략 개발 : BackTrader는 기본적으로 프레임워크이다. 따라서 이미 내장된 방대한 지표와 전략이 내장 함수로 구현되어 있다. 물론 내장함수를 그냥 써도 되지만 그렇다고 커스텀이 어렵냐? 그것도 아니다. 지표를 개선할 수 있는 능력만 있다면 얼마든지 다양하게 기존 지표를 사용해서 수정할 수 있다. 

3. 주문 관리 : BackTrader는 투자자나 Trader가 필요로하는 다양한 주문 관리 기능이 내장되어 있다. 진입, 진출 포인트를 지정하는 기능, 주문 타입 설정, 매매 관리 규칙 등을 지정할 수 있다.

4. Broker와 쉬운 통합 : BackTrader는 Broker 시스템과 통합이 쉽다. 근데 사실 이것은 미국 쪽 증권사 이야기인 것 같다. 하지만 국내 증권사와 아예 불가능한 것은 아니다. 예를 들어 Open API를 제공하는 한국투자증권의 경우 BackTrader를 통한 자동매매 코드 통합이 어려운 것은 아니다. 하지만 키움증권과 같이 폐쇄적인 API를 제공하는 증권사의 경우 불가능한 것은 아니나 속도면이나 환경면에서 제약이 있을 수 있다.

5. 성능 지표 : BackTrader는 전략에 대한 성능 지표를 다양하고 이해하기 쉽게 제공해준다. 가령 수익지표, MDD 혹은 다른 중요한 지표들을 매매 후나 중간에 User의 요청에 따라서 정리해서 보여준다. 

 

위와 같은 기본적인 특징 외에도 BackTrader는 적극적인 사용자들에 의해서 더 많은 툴과 자원을 제공하고 있다. 실제로 포럼에 가보면 다양한 추가 개발이 활발히 이뤄지는 것을 볼 수 있다. 예를 들어 script 기반의 개발 모델이라던지 아니면 이벤트 기반 아키텍쳐라던지 혹은 아주 low level 데이터 구조에 접근하는 방법과 같은 좀 더 매니악한 개발도 많이 하고 있다. [단, 공식적으로 유지보수는 하지않고 있다.]

BackTrader를 한 번 익히고 나면 머릿속에 어떤 아이디어가 떠오를 때마다 손 쉽게 테스트 모델을 만들 수 있다. 이런 저런 모델을 시험하다가 어느정도 성능이 나오는 전략이 만들어지면 실전에서 사용해보는 것이다.

Welcome - Backtrader

 

Welcome - Backtrader

Welcome to backtrader! A feature-rich Python framework for backtesting and trading backtrader allows you to focus on writing reusable trading strategies, indicators and analyzers instead of having to spend time building infrastructure. Open Source - GitHub

www.backtrader.com

 

728x90
반응형
Comments