Quantitative Trading (Ernest Chan 지음)

책 리뷰 2021. 1. 8. 23:38 Posted by 정직한 UnHa Kim

 

이 책의 저자는 데이터 분석 및 인공 신경망 전문가로서 IBM 연구소에 근무하다가

 

금융회사로 스카웃 된 후 자신의 실력을 발휘해서 개발한 전략이

 

실제 운용에서 주구장창 말아먹으면서 회사에 600만 달러의 거액의 손실을 입힌 후

 

깊은 절망감에 퇴사한 후 홀로 방구석에 앉아서 절치부심하던 중

 

그동안의 데이터 분석 전문가로서의 경력과 자존심을 모두 내려놓고,

 

처음부터 다시 시작하는 마음으로 아주 단순한 규칙을 적용해서

 

투자 수익을 지속적으로 내면서

 

주식 투자자로서 부활한 경험을 바탕으로 쓴 책이다.

 

 

자신의 실패 경험을 분석하면서 왜 간단한 규칙이 더 나은 지 설명하는 과정에서

 

과최적화에 대한 알레르기 반응이 보일 때

 

인공 신경망을 적용한 전략이 실패했던 과정에서 얼마나 마음 고생을 했었는 지 생각하면 짠해 진다.

 

그렇게 단순화 시킨 역추세 공식으로 수익을 내는 백테스트 결과를 보여주는 데,

 

아마도 마법의 공식의 존재를 믿는 사람은 이 책을 읽으면서 놀라움을 금치 못할 것이다.

 

 

물론, 이 책은 저자가 투자자로서 경험이 많이 쌓이지 않았을 때 지은 책이라서 부족한 점도 있다.

 

일단, 매매 규칙이 과최적화에 빠지지 않기 위해서 파라메터 갯수를 줄이는 데에만 집중하지,

 

통계적으로 신뢰도를 가지기 위해서 거치는 검증 과정에 대한 설명이 전혀 없다.

 

(경험이 좀 더 쌓인 후 쓴 2번째 책에는 통계적 신뢰도가 살짝 언급된다.)

 

그냥 파라메터 갯수를 줄이고 가능한 단순화 시켜서 맨땅에 헤딩하는 데 되더라는 내용이다.

 

물론, 더 이상의 내용없이도 정말 단순한 공식으로 수익이 나는 것을 지켜보는 전율과 쾌감이 있다.

 

 

이런 전율은 Andreas Clenow가 지은 책을 읽을 때에도 느낄 수 있다.

 

(Andreas Clenow 책 리뷰 링크 :  https://ghts.tistory.com/45 : )

 

 

저자는 경험이 쌓이고 이 책을 통해서 명성을 얻은 후

 

펀드를 설립하고 운용할 정도로 성장하면서

 

2번째 책에서는 좀 더 발전된 내용을 다루는 데 상당히 좋다.

 

다만, 3번째 책에서는 1번째 책에서 그렇게나 비판했던 복잡한 기법을 설명하면서 좀 변한 느낌이다.

 

 

내용상으로는 미숙해도 저자가 실패의 깊은 절망에서 탈출구를 찾아내고 느낀 흥분이

 

책에 생생하게 느껴지는 이 책이 좀 더 마음에 든다.

 

고백하자면, 나는 이 책을 읽은 후 시스템 트레이딩에 꽂혔다.

 

 

아직도 마법의 기술 지표를 찾아헤매는 분들께 이 책을 강추하고 싶은 데, 아직도 번역이 안 되어 있다.

 

이렇게 좋은 책들이 왜 번역이 안 되어 있는 지... 참 안타깝다.

 

참고>

인공 신경망 공식에는 수많은 파라메터가 존재하고,

이를 모두 최적화 시키려면 엄청난 양의 빅데이터가 필요한 데,

1년에 300개, 10년치 모아봤자 3천개도 안 되는 데이터로

인공 신경망 공식을 최적화를 시도하면

여지없이 과최적화된 결과물만 나오고,

이를 기반으로 실제 매매하면 손실만 누적되는 결과를 초래한다.

데이터가 충분히 많은 틱 데이터 기반의 초단기 매매에서는 이런 기법이 적용 가능하지만,

일반인이 고정 비용이 많이 드는 초단기 매매에 뛰어들기는 쉽지 않다.

 

경고>

이 책에 나온 역추세 전략은 평소에 작지만 꾸준한 수익이 나는 관계로 안정감을 주고,

수익율 최대화를 위해서 레버리지를 쓰고 싶은 생각이 들게 되어 있습니다.

그러나, 과도한 레버리지를 쓰면 대략 10년에 한 번씩 찾아오는 주가 하락 때 정말 큰 봉변을 당하게 되어 있습니다.

 

컴퓨터는 감정의 개입없이 매매 전략을 일관되게 실행하도록 도와줄 뿐,

모든 문제를 해결해 주는 마법이 아닙니다.

컴퓨터로 투자해도 손실이 누적되는 기간이 발생하며 가끔씩 파괴적인 손실이 발생합니다.

 

리스크 관리는 결국 건전한 상식으로 해야 합니다.

수익율 극대화, 최적 레버리지, 스마트한 자금 운용등의 단어에 현혹되지 마십시오.

 

주식 시장 폭락은 거의 10년마다 한 번씩 어김없이 찾아옵니다.

우연이라고 보기에는 너무나도 일정하게 반복되는 패턴이 나옵니다.

 

역사적 주식 시장 붕괴 및 하락장 사례

https://en.wikipedia.org/wiki/List_of_stock_market_crashes_and_bear_markets

 

'LTCM 사태'는 노벨 경제학자 수상자가 참여해서

20배 레버리지 걸고 역추세 전략을 운용하며

5년 간 30%가 넘는 수익율을 올리다가

순식간에 원금을 다 잃은 유명한 사례입니다.

 

'책 리뷰' 카테고리의 다른 글

What works on Wall street.  (0) 2021.01.13
Kaufman Constructs Trading Systems  (0) 2021.01.13
Quantitative Trading (Ernest Chan 지음)  (2) 2021.01.08
Following the Trend (Andreas Clenow 지음)  (0) 2021.01.08
터틀의 방식  (0) 2020.12.31
할 수 있다! 퀀트 투자  (0) 2019.08.28

댓글을 달아 주세요

  1. 2021.01.13 00:35  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  2. 정직한 UnHa Kim 2021.01.13 18:22 신고  댓글주소  수정/삭제  댓글쓰기

    국내 증권사의 API는 모두 32비트에서만 호출 가능합니다.
    OLE/OCX 모두 간단한 호출은 32/64비트 경계를 넘어서 가능하겠지만,
    API 호출 후 응답을 넘겨받는 데 OLE 이벤트는 안 되더군요.
    그래서, API 호출은 무조건 32비트 프로세스에서 해야 합니다.

    전략 구동을 비롯한 모든 코드를 32비트 프로세스에서 작성하면 간단하게 쓸 수 있겠지만, 여하한 이유(대량의 메모리 필요 혹은 프로파일러 지원등등)로 전략을 64비트 프로세스에서 운용해야 한다면 32비트에서 API를 호출한 결과물을 64비트 프로세스에 전달하는 방법을 찾아야 합니다.

    32비트 프로세스에서 API를 호출한 결과물을 64비트 프로세스에 전달하는 기술적인 문제는 다음과 같이 해결했습니다.

    Go 자료형을 []byte로 변환
    https://github.com/ugorji/go

    []byte 로 변환된 데이터를 전송 및 수신
    https://github.com/nanomsg/mangos


    자료형 변환에 가장 유명한 형식은 구글의 '프로토콜 버퍼'인데, 각 자료형을 정의하는 IDL파일을 작성해야 하는 게 귀찮아서 비슷한 기능을 하면서 IDL 작성이 불필요한 MsgPack형식을 사용하는 데, Go언어에서 MsgPack 변환을 해 주는 게 ugorji가 작성한 go/codoc 패키지 라이브러리입니다.

    이렇게 []byte로 변환된 데이터를 프로세스끼리 송수신 하는 것을 편하게 해주는 기술로 가장 유명한 게 ZeroMQ입니다만, ZeroMQ를 사용하면 컴파일이 느려지는 문제로 인해서 개발 생산성이 너무 타격이 큰 관계로 비슷한 기능을 하는 nanomsg의 순수 Go언어 구현 라이브러리인 mangos를 사용합니다.
    https://github.com/nanomsg/mangos

    키움API는 OCX형식이라서 Go언어와 호환성이 대단히 안 좋습니다.
    저도 골머리를 앓다가 윈도우 메시지를 통해서 간접적으로 사용하는 방식을 써서 겨우 가장 간단한 TR실행까지 성공한 후 프로젝트 개발 시한 압박으로 다음으로 미루어 두었습니다.

    다음 링크에 들어가면 제가 개발하다만 코드를 볼 수 있습니다.
    아마 IDE에 불러들여서 봐야 좀 볼만 할 겁니다.
    https://github.com/ghts/ghts/tree/master/experimental/kiwoom

    키움 API의 경우 파이썬 코드를 호출해서 쓰는 게 나을 듯 합니다.
    https://pypi.org/search/?q=kiwoom

    지금 64비트 코드에서 32비트 API호출 부분을 연동하듯이
    Go언어에서 파이썬으로 된 키움 API 호출 부분과 연동하는 게 낫지 싶습니다.
    그럴 경우 파이썬 쪽에서도 Go언어와 호환되는 데이터 변환 및 RPC 패키지가 필요할 텐데,
    MsgPack, ZeroMQ, nanomsg 모두 파이썬에서도 사용가능하므로 기술적으로 가능하다고 생각됩니다.

    제가 작성한 코드의 github 소개 페이지에 보시면,
    이베스트 증권 API를 채택한 주요 이유 중에 하나가 DLL지원을 통한 Go언어와의 호환성을 꼽고 있는 것을 확인하실 수 있습니다.
    https://github.com/ghts/ghts

Following the Trend (Andreas Clenow 지음)

책 리뷰 2021. 1. 8. 23:17 Posted by 정직한 UnHa Kim

 

이 책의 저자는 굉장히 어려울 것 같은 내용을 정말 이해하기 쉽게 설명하는 데 탁월한 능력이 있다.

 

시스템 트레이딩에서 진짜 중요한 것은  마법의 공식 혹은 비밀스러운 기술 지표가 아니라,

 

상관 관계가 낮은 자산들에 대한 분산 투자를 통해서

 

장기적인 관점에서 유리한 확률 게임을 일관되게 수행하는 것이라는 것을 설득력 있게 설명한다.

 

결국 내용은 '터틀의 방식'(커티스 페이스 지음)과 같지만 훨씬 더 설득력 있게 보여준다.

 

 

아마존 웹사이트 구매자 리뷰 란에도 요약 내용이 다 나와있는 데,

 

요약 내용을 읽을 때와 책을 직접 구매해서 저자의 설명을 따라가는 것과 천지차이이었다.

 

그 중요성에 대한 체감이 확~ 다가온다고 해야 할까??

 

 

똑같은 전략의 파라메터를 줄이거나 키워서 거의 비슷한 결과를 나오는 것을 보여주는 것도 놀라웠다.

 

추세 포착이라는 목적을 달성하기만 파라메터가 좀 바뀌어도

 

결과에는 큰 변화가 없다는 것을 확실하게 보여준다.

 

(25일 -> 50일 -> 100일로 바꾸는 데도 결과가 비슷하다.)

 

달을 봐야지 손가락을 보면 안 되듯이

 

가격 상승 추세 포착이라는 매매 규칙 설계자의 의도를 봐야지,

 

매매 규칙에 사용된 이동 평균이 몇 일인지에 연연하면 안 된다는 것을

 

설득력 있게 보여준다.

 

 

터틀 전략과 비슷한 단순한 추세추종 전략을 이용해서

 

전세계 유수의 헤지펀드의 운용성과를 복제해 내는 실증을 하는 것은

 

정말 소오름~~~ 돋는다.

 

 

가격 상승 추세라는 목적만 달성할 수 있다면 그 아무리 간단한 공식이라도

 

전세계 헤지펀드의 수익 원천에 동승할 수 있다는 것을 보여주는 것이니까.

 

 

'터틀의 방식'에 나온 그 단순한 규칙이 거액을 벌었다는 게 뻥이 아니라,

 

실제로 전세계 헤지 펀드들이 (좀 더 복잡하고 정교한 공식을 사용하는 지 몰라도)

 

결국에는 '중장기 가격 상승 추세'라는 동일한 시장 움직임에 기대어서

 

운용되면서 수십년 째 지속적인 수익을 내고 있다는 것을 알게 되면,

 

돈 버는 비법의 단순함에 대한 허탈함과

 

그런 단순함으로 돈을 번다는 것에 대한 놀라움이 교차한다.

 

 

이 책은 일반인이 따라하기 힘든 선물 투자에 관한 책이며,

 

저자가 쓴 후속작은 주식 투자에 관한 책인데,

 

일반인이 바로 써먹기에는 2번째 책이 더 좋겠지만,

 

개인적으로 이 책의 그 감탄이 나오게 하는 그 설명 방식이 너무 좋았다.

 

 

거금 60달러나 주고 전자책을 질렀지만, 읽고 나서 너무 잘 샀다고 생각한 책이다.

 

역추세(Mean Reversion) 전략에 대한 챈(Ernie Chan)의 1번째 책을 읽을 때 느꼈던 그 전율을

 

이 책을 읽으면서 추세추종 전략으로도 똑같이 경험하게 된다.

 

( Ernie Chan의 역추세 전략 서적 리뷰 : ghts.tistory.com/46 )

 

단순함이 모든 것을 이기는 이 전율은 정말 감동이다.

 

이 책도 번역이 안 되어 있는 것 같아서 안타깝다.

 

 

어쨌든 강추~~

 

'책 리뷰' 카테고리의 다른 글

Kaufman Constructs Trading Systems  (0) 2021.01.13
Quantitative Trading (Ernest Chan 지음)  (2) 2021.01.08
Following the Trend (Andreas Clenow 지음)  (0) 2021.01.08
터틀의 방식  (0) 2020.12.31
할 수 있다! 퀀트 투자  (0) 2019.08.28
R for Data Science  (0) 2019.07.30

댓글을 달아 주세요

터틀의 방식

책 리뷰 2020. 12. 31. 13:51 Posted by 정직한 UnHa Kim

 

유명세를 떨치던 트레이더가

 

트레이딩 경험이 없는 사람들을 모아다가 가르쳐서 실전 트레이딩을 시켜서 대박을 터뜨린

 

역사상 전후무후한 '터틀 실험'에 참여했던 사람이 직접 쓴 책.

 

책에 나온 터틀 거래 규칙은 아주 단순하고,  장기적으로 수익이 나지만,

 

수익 변동성이 극심해서 일반인이 그대로 따라하기 어려워서

 

모두가 알지만 아무도 안 쓰는 전략으로 유명하다.

 

 

저자는 그 규칙이 왜 수익이 나는 지,

 

그 규칙이 공개되어도 왜 사용하고 지키기가 어려운 지,

 

대안으로는 어떤 전략이 있는 지 등등

 

자세하게 설명해 주고 있다.

 

 

추세 추종 전략을 개발하기 전에 반드시 읽어봐야할 명저이라고 생각한다.

 

 

'책 리뷰' 카테고리의 다른 글

Quantitative Trading (Ernest Chan 지음)  (2) 2021.01.08
Following the Trend (Andreas Clenow 지음)  (0) 2021.01.08
터틀의 방식  (0) 2020.12.31
할 수 있다! 퀀트 투자  (0) 2019.08.28
R for Data Science  (0) 2019.07.30
월스트리트 퀀트 투자의 법칙  (0) 2019.07.27

댓글을 달아 주세요