Factor based 암호화폐 투자

2025. 1. 12. 18:45투자

작년에 Jane street와 Presto labs에서 우리 학교에 리쿠르팅 세션을 열었습니다. 무려 쉑쉑버거를 모든 참가자들에게 세트로 돌렸었던 기억이 나네요. 그 중에 Presto labs에서는 Chief Reserach를 맡고 계시는 정진혁님이 강연을 해주신 내용 중에, 수익이 매우 좋았던 기억이 나는 factor based 투자를 backtesting/live trading구현 해보았습니다.

https://www.prestolabs.io/research/authors/jin-h-jung

 

Jin H. Jung | Presto Research | Presto Research

Presto Research

www.prestolabs.io

지금까지 제가 올렸던 여러 전략들이나 github에 범람하는 여러 backtest/live trading 라이브러리들은 모두 event based로, 특정한 parameter나 indicator를 활용하여 가격이 특정 threshold를 넘으면 매수/매도를 하는 로직을 가집니다. factor based 전략은 여러 종목에 대해 특정한 수식에 의해 계산된 숫자를 매기고 해당 비중에 따라 투자를 진행하는 방식입니다.

예시 factor로는 모멘텀에 기반한 '지난 7일간 상승률의 순위'가 있을 수 있겠습니다.

Factor based가 가지는 장점으로는

- 자본이 놀지 않음.

Event based 전략은 특정한 event가 발생하지 않으면 자본이 계속 놀게되어 효율적으로 활용하지 못합니다. 특히 암호화폐 거래소는 예치금에 대한 이자가 없거나, 아주 적게 주기 때문에, risk free rate만큼도 못버는 단점이 있습니다. Factor based는 계속해서 모든 자본이 투자되어 있기 때문에 Alpha를 지속해서 얻을 수 있습니다.

- Scaling이 쉬움.

Event based 방식은 특히 market cap이 작은 소규모 종목에 진입할 때, 시장 교란 효과가 큽니다. 즉 내가 매수/매도 포지션을 잡음으로써 수익이 사라지는 경우가 많은데, factor based는 상대적으로 일시적인 큰 자본 투하가 적기 때문에, 큰 자본을 운용하기 쉽습니다.

- 수익

수익이 훨씬 높습니다...

 

해당 방법으로 투자를 해보려고 했지만, factor based backtesting/live trading tool이 github에 무료로 공개된 것이 거의 없습니다. quantconnect에서 factor 기반 기능을 제공하기도 하는데, 너무 복잡하고 고려해야 할 것이 많아서 포기했습니다. quantconnect에서 factor based 투자를 진행하고 싶으신 분들은 아래 링크를 참고하셔도 좋을 것 같습니다.

https://www.youtube.com/watch?v=tZ3zLCCSoYk&t=104s 

저는 GPT의 도움을 받아 제가 직접 Backtest/live trading 코드를 작성했습니다. 생각보다 오래 안걸리더라구요. factor research에는 alphalens를, backtesting에는 기본 pandas, ccxt를 사용했습니다.

투자 대상은 이전과 마찬가지로 binance future market 일봉이고, 공개된 factor를 계산하여 factor 강도에 따라 가중치를 설정하여 투자하였습니다.

2021~2024 레버리지 2, fee 0.1%, long short 상하위 10%입니다.

무척이나 좋은 결과를 얻을 수 있었습니다. MDD가 크긴 한데, 2021에는 50개도 안되는 종목들이 상장되어 diversifiaction이 충분히 안되어서라고 추정됩니다.(현재는 369개 상장됨).

아래는 추가한 기능들입니다.

- 종목당 최대 할당 자본%: 현재 5%

- long/short 비중 조절

- factor winsorize + compound factor winsorize

- turnover 낮추기 위해 factor smoothing: 60days

- turnover 낮추기 위해 trading threshold: factor 변화율이 5% 이상일때만 포지션 변경

liquidity가 높은 종목들만 했을 때와, 전체 종목에 대해 진행했을 때 비교해보면 확실히 liquidity가 높은 종목들을 대상으로 했을 때 낮은 MDD, 낮은 CAGR을 관찰할 수 있었습니다. 현재 제가 가진 자본이 상대적으로 소액이라, Lev2로 전 종목을 대상으로 live trading을 돌려도 괜찮다고 생각이 들어 현재 진행중입니다.

아래는 제가 기존 factor들을 조합하여 만든 compound factor의 분석입니다. 하루 평균 80bp(0.8%)의 안정적인 수익을 냅니다.

 

future work

https://www.prestolabs.io/research/optimizing-risk-adjusted-return-in-constructing-portfolios-of-alphas

 

Optimizing Risk-Adjusted Return in Constructing Portfolios of Alphas | Presto Research

Modern Portfolio Theory (MPT), developed by Harry Markowitz in the 1950s, is a foundational concept in investment management and financial theory. It provides a framework for constructing a portfolio of assets to maximize the expected return for a given le

www.prestolabs.io

정진혁 박사님이 작성하신 포스트인데, sharpe/sortino/mdd 기준으로 factor 사이의 optimization을 진행하는 task를 앞으로 해봐야겠습니다. factor 사이의 최적 weight을 찾는 부분에서 ML이 활약할 수도 있지 않을까 싶네요.

공개된 Factor 중 아직 반정도 밖에 구현이 안되어서, 추가로 구현 시 성능이 더 올라갈 것 같습니다. 게다가 일봉 기준이라, scaling도 미친듯이 할 수 있을 것 같네요.