반응형

'타이탄의 도구들'은

'세상에서 가장 지혜롭고, 가장 부유하고, 가장 건간항 사람'들의 성공적인 벤치마킹, 그들의 아이디어와 전략, 습관 등을 실천함으로써 삶을 성장시켜 나가기 위한 행동지침들의 모음집이다.

타이탄들의 매일의 작은 습관, 태도, 명상, 주문, 보충학습 계획, 즐겨하는 질문들, 독서법 등등에 더 각별히 주목하도록 하자. 

타이탄들의 남다른 습관들

  • 그들 중 80퍼센트 이상이 매일 가벼운 명상을 한다
  • 45세 이상의 남성 타이탄들은 대부분 아침을 굶거나 아주 조금 먹는다
  • 많은 타이탄들이 잠자리에서 특별한 매트를 애용한다. 바로 칠리패드다
  • 유발 하라리라의 사피엔스, 찰스 멍거의 불쌍한 찰리 이야기, 로버트 차알다니의 설득의 심리학, 빅터 프랭클의 죽음의 수용소에서, 헤르만 헤세의 싯다르타를 다른 책들보다 훨씬 더 칭찬하고 더 많이 인용한다
  • 고도의 집중력이 요구되는 창의적인 작업 때마다 반복해서 틀어놓는 노래 한 곡, 앨범 하나를 갖고 있다
  • 거의 모든 타이탄이 오직 스스로의 힘으로 많은 고객과 클라이언트를 사로잡은 성공적인 프로젝트 완성 경험을 갖고 있다
  • 그들은 모두 '실패는 오래가지 않는다'는 확고한 믿음을 갖고 있다
  • 그들은 대부분 자신의 분명한 '약점들'을 받아들이고, 그것들을 커다란 경쟁력 있는 기회로 바꿔냈다

 

트렌드는 중요하지 않다.
다른 사람들이 해결하지 못한 문제를 찾아내는 것, 자신만의 '사명'을 찾아서 다른 사람들이 엄두도 내지 못하는 문제를 해결하는 노력을 해야 한다.

'내가 매일 떠올리는 문제들 중 아직 아무도 해결하지 못한 것은 무엇인가?'

'아직 아무도 세우지 않은 멋진 회사에 대한 아이디어는 무엇인가?'

매일 아침 메모장이나 작은 노트에 아이디어 10가지를 적는 습관을 들여라.

'아이디어 10개가 떠오르지 않으면 20개를 생각해내면 된다. 우리는 스스로에게 완벽한 아이디어를 꺼내라고 심한 압박을 가한다. 완벽주의는 아이디어 근육의 '적'이다. 우리의 뇌는 우리를 보호하기 위해 당황스럽거나 바보같거나 고통을 줄 것 같은 아이디어가 떠오르는 걸 막으려고 한다. 이런 방어기제를 차단하는 방법은 뇌가 터무니없는 아이디어를 떠올리도록 강제하는 것이다'
아이디어는 무조건 많아야 하고, 아이디어의 실행 플랜은 무조건 간단해야 한다.
좋은 아이디어를 떠올린다는 것은 모두 '연습'일 뿐이다.
많은 걸 떠올리고 많은 걸 버려라. 폐기하라.
안 되는 걸 끌어안고 평생을 쓰는 사람이 얼마나 많은지 알면 깜짝 놀랄 것이다.

메일함을 빠져나와 나만의 할 일 목록으로 삶의 중심을 옮기는 것, 그것이 성공의 첫 걸음이다.

돈을 벌려면 최대한 많이 배우고, 최고의 능력을 키워야 한다.

당신의 독특함과 유별남이 새로운 사람을 만나게 해주고, 당신을 돋보이게 해주고, 취업과 사업에 도움을 줄 것이다.

대부분의 사람들은 살면서 어떤 일에 대해 자신의 강력한 의견을 개진하거나 발전시키거나 구체적으로 진행시켜 본 경험이 없다.

강력한 의견과 침착한 태도, 이 둘이 당신을 타이탄으로 만들어 줄 것임을 의심하지 마라.

'죽어서 육신이 썩자마자 사람들에게 잊히고 싶지 않다면, 읽을 만한 가치가 있는 글을 쓰든지, 글로 남길 만한 가치가 있는 일을 하라'

반응형

괜찮은 대중연설가가 (상위 25%)되라. 연습만 꾸준히 하면 누구나 될 수 있기 때문이다.
자신이 갖고 있는 능력에 이 연습으로 얻은 재능까지 보태지면 어느 날 갑자기 한 가지 기술만 가진 사람들의 리더가 될 수도 있다.

탁월한 사진작가가 되려면 사진 기술보다는 스토리텔링의 기술을 더 익혀야 하고, 이를 위해서는 글쓰기, 말하기, 커뮤니케이션, 프레젠테이션 능력 또한 키워야 한다.

'성공은 복잡할 필요가 없다. 그냥 1,000명의 사람을 지극히 행복하게 만들어 주는 것에서 시작하면 된다'
천명의 팬은 '당신이 만드는 건 뭐든지 사주는 사람들'로 정의할 수 있다.

그리고, 두려움과 불안을 피하지말고, 굳건하게 대면하라.

'두려움'을 눈에 보이는 실체로 만들고, 그것에 구체적인 이름과 정의를 붙이는 방법을 통해 생각보다 쉽게 두려움에서 빠져나올 수 있다. 아무 것도 하지 않는' 불행'을 선택하지 않도록 한다.

긍정적인 일이든 부정적인 일이든, 시각화해서 정리하면 현명한 해결책과 효과적인 방법들을 더 많이 얻을 수 있다.

오직 당신에게만 편안함, 여유로움, 행복, 영감을 제공하는 영화와 음악을 찾아내보라. 

빠르게 변하는 시대에서 가장 소중하고 값진 것은 영원히 '변하지 않는 것'이다.
시대가 아무리 변해도 변하지 않는 것, 그걸 가진 사람이 성공한다. 

디로딩은 '내려놓는', '뒤로 물러나는', '부담을 제거하는' 등의 뜻을 갖고 있다.
촘촘하게 짜인 계획과 일에서 잠시 물러나 컨디션을 조절하고 회복하는 행동을 디로딩이라 할 수 있다.
디로딩의 시간을 얼마로 정할지는 개인의 자유다. 간단히 매일 아침 일기를 쓰고, 차를 마시고, 명상하는 것도 디로딩의 좋은 예라고 할 수 있다.

"꿈은 일어나지 않을지도 모르는 일을 그냥 상상하는 것이다. 하지만 목표는 그걸 이루기 위한 구체적인 계획을 세우고 열심히 노력해 마침내 이루는 것이다"

다른 좋은 내용도 많지만, 이제 사회 생활을 시작하는 젊은 사람들이 따르면 좋은 내용들이 많았다. 
나는 제2의 인생을 준비해야 하는 시기에 있고, 그래서 내 눈에 들어오는 부분도 나에게 도움이 되는 부분들만 보인다. 또 읽어보면 또 다른 내용이 들어올 것이라 생각한다. 앞으로도 내껄로 만들 내용이 계속 보였으면 좋겠다.

 

반응형
반응형

절대 모멘텀 전략은 단일 종목에도 백테스트를 할 수 있다. 그러나 상대 모멘텀 전략은 다수 종목으로 투자 대상군을 형성해야 이용할 수 있다. 

상대 모멘텀 전략에서는 모멘텀 지수를 계산하기 위해 과거 1개월 종가의 수익률을 계산한다. 지난달 마지막 일자를 기준으로 전체 투자 대상 종목에서 상대적으로 높은 수익률을 보인 상위 종목에 매수 신호를 발생시킨다. 

먼저 사용할 라이브러리들을 읽어들인다.

import pandas as pd 
import numpy as np
import FinanceDataReader as fdr

그 다음 파이낸스데이타리더 라이브러리를 사용해 주식 데이터를 읽어들인다.

# 주식을 먼저 선정한다. 여기서는 10개의 종목을 선정한다. 
# 애플 AAPL, 아마존 AMZN, 메타 META, 월마트 WMT, 넷플릭스 NFLX, 제너럴 모터스 GM, 마이크로소프트MSFT, 테슬라 TSLA, 엔비디아 NVDA, 코카콜라 KO
# 주식 기간은 2015.1.1~2023.08.31
ticker = ['AAPL', 'AMZN', 'META', 'WMT', 'NFLX', 'GM', 'MSFT', 'TSLA', 'NVDA', 'KO']
all_df = pd.DataFrame()
for f in ticker: 
    temp = fdr.DataReader(f, '2015-01-01', '2023-08-31')
    temp['CODE'] = f
    temp.reset_index(inplace = True)
    all_df = pd.concat([all_df, temp], axis = 0, ignore_index = True) #pandas 2.0이상에서는 append 함수가 없어지고, concat함수를 사용해야 함
all_df.head()

읽어드린 주식 데이터에서 필요한 컬럼만 추출해 사용할 수 있도록 데이터를 전처리하는 함수를 아래처럼 만든다.

def data_preprocessing(sample, t_code, base_date):
    sample = sample[sample['Date'] >= base_date][['Date','CODE','Adj Close']].copy()
    sample.reset_index(inplace = True, drop = True)
    sample['STD_YM'] = sample['Date'].dt.to_period(freq='M') 
    sample['1M_RET'] = 0.0
    ym_keys = list(sample['STD_YM'].unique())
    return sample, ym_keys

data_preprocessing함수로 데이터를 전처리해서 price_df, ym_keys 변수에 저장한다. 
이때 기준 날짜를 정할 수 있다. 이번에는 2019-01-01로 기준 날짜를 정했다.

price_df, ym_keys = data_preprocessing(all_df, ticker, base_date ='2019-01-01')
price_df.head()

월별 데이터를 저장할 month_last_df라는 데이터프레임을 만들고, 각 주식별 1개월간 수익률을 계산하여 '1M_RET'이라는 컬럼에 넣도록 한다.

month_last_df = pd.DataFrame(columns = ['Date', 'CODE', '1M_RET'])

for f in ticker: 
    temp_df = price_df[price_df['CODE'] == f][['Date','CODE','STD_YM','Adj Close','1M_RET']].copy()
    for ym in ym_keys:
        m_ret = temp_df.loc[temp_df[temp_df['STD_YM'] == ym].index[-1],'Adj Close'] \
        / temp_df.loc[temp_df[temp_df['STD_YM'] == ym].index[0],'Adj Close']
        temp_df.loc[temp_df['STD_YM'] == ym, ['1M_RET']] = m_ret
        month_last_df = month_last_df._append(temp_df.loc[temp_df[temp_df['STD_YM'] == ym].index[-1], ['Date', 'CODE', '1M_RET']])

그 다음으로 종목별 종가를 저장할 stock_df라는 데이터프레임도 만들도록 한다.

stock_df = pd.DataFrame(columns = ['Date', 'CODE', 'Adj Close'])
stock_df = pd.concat([stock_df, price_df.loc[:,['Date', 'CODE', 'Adj Close']]], sort=False)
stock_df.sort_values(by = 'Date', ascending = True).head(10)

월별 수익률이 행으로 쌓여있는 데이터를 피벗해 일자별로 종목별 수익률 데이터로 만든다. 종목 코드를 컬럼으로 올리고, DataFrame의 rank()함수를 사용해 월말 수익률의 순위를 퍼센트 순위로 계산하고 상위 40% 종목만 선별한 다음 나머지 값에는 np.nan값을 채운다.

month_ret_df = month_last_df.pivot_table(index='Date', columns='CODE', values='1M_RET').copy()
month_ret_df = month_ret_df.rank(axis=1, ascending=False, method='max', pct=True)
month_ret_df = month_ret_df.where(month_ret_df < 0.4, np.nan)
month_ret_df.fillna(0, inplace=True)
month_ret_df[month_ret_df !=0] = 1
stock_codes = list(stock_df['CODE'].unique())

month_ret_df.head()

월말일자로 1로 표시된 종목코드와 0으로 표시된 종목코드를 확인할 수 있다. 다음 날짜로 넘어갈 때 0에서 1로 되면 제로 포지션에서 매수 포지션으로 변경되고 1에서 0으로 변경되면 청산한다. 1에서 1로 변함없는 종목은 매수후 보유상태를 유지한다.

반응형

다음에 진행할 순서는 월말에 거래 신호가 나타난 종목을 대상으로 포지셔닝을 처리하는 것이다.

sig_dict = dict()
# 신호가 포착된 종목 코드만 읽어오기
for date in month_ret_df.index: 
    ticker_list = list(month_ret_df.loc[date, month_ret_df.loc[date,:] >= 1.0].index)
    sig_dict[date] = ticker_list
stock_c_matrix = stock_df.pivot_table(index='Date', columns='CODE', values='Adj Close').copy()
book = create_trade_book(stock_c_matrix, list(stock_df['CODE'].unique()))

for date, values in sig_dict.items(): # 포지셔닝
    for stock in values:
        book.loc[date,'p '+ stock] = 'ready ' + stock
        
book = tradings(book, stock_codes) # 트레이딩

신호가 발생한 종목 리스트를 만들고 stock_df 변수를 피벗해 만든 stock_c_matrix 변수를 전달해 새로운 거래 장부 역할 변수를 만든다. 

거래 장부 역할 변수는 다음의 코드로 작성된 create_trade_book() 함수로 만들어진다. 

그 다음 for 문을 사용해 월초 일자별 신호가 발생한 종목에 포지션을 기록한다. 이렇게 포지셔닝을 해놓고 두번째로 만든 tradings() 함수를 통해 트레이딩을 진행하게 된다.

- create_trade_book() 함수

def create_trade_book(sample, sample_codes):
    book = pd.DataFrame()
    book = sample[sample_codes].copy()
    book['STD_YM'] = book.index.to_period(freq='M')
    
    for c in sample_codes:
        book['p '+c] = ''
        book['r '+c] = ''
    return book

- tradings() 함수

def tradings(book, s_codes):
    std_ym = ''
    buy_phase = False
    for s in s_codes:
        print(s)
        
        for i in book.index:
            if book.loc[i, 'p '+ s] == '' and book.shift(1).loc[i, 'p '+s] == 'ready ' +s:
                std_ym = book.loc[i, 'STD_YM']
                buy_phase = True
                
            if book.loc[i, 'p '+ s] == '' and book.loc[i, 'STD_YM'] == std_ym and buy_phase == True:
                book.loc[i, 'p '+ s] = 'buy ' + s
            if book.loc[i, 'p '+ s] == '':
                std_ym = None
                buy_phase = False
    return book

마지막으로 거래 장부 book에 있는 거래를 가지고 상대 모멘텀 전략의 거래 수익률을 계산할 multi_returns() 함수를 아래와 같이 만든다.

def multi_returns(book, s_codes):
    # 손익 계산
    rtn = 1.0
    buy_dict = {}
    num = len(s_codes)
    sell_dict = {}
    
    for i in book.index:
        for s in s_codes:
            if book.loc[i, 'p ' + s] == 'buy '+ s and \
            book.shift(1).loc[i, 'p '+s] == 'ready '+s and \
            book.shift(2).loc[i, 'p '+s] == '' :     # long 진입
                buy_dict[s] = book.loc[i, s]
#                 print('진입일 : ',i, '종목코드 : ',s ,' long 진입가격 : ', buy_dict[s])
            elif book.loc[i, 'p '+ s] == '' and book.shift(1).loc[i, 'p '+s] == 'buy '+ s:     # long 청산
                sell_dict[s] = book.loc[i, s]
                # 손익 계산
                rtn = (sell_dict[s] / buy_dict[s]) -1
                book.loc[i, 'r '+s] = rtn
                print('개별 청산일 : ',i,' 종목코드 : ', s , 'long 진입가격 : ', buy_dict[s], ' |  long 청산가격 : ',\
                      sell_dict[s],' | return:', round(rtn * 100, 2),'%') # 수익률 계산.
            if book.loc[i, 'p '+ s] == '':     # zero position || long 청산.
                buy_dict[s] = 0.0
                sell_dict[s] = 0.0


    acc_rtn = 1.0        
    for i in book.index:
        rtn  = 0.0
        count = 0
        for s in s_codes:
            if book.loc[i, 'p '+ s] == '' and book.shift(1).loc[i,'p '+ s] == 'buy '+ s: 
                # 청산 수익률계산.
                count += 1
                rtn += book.loc[i, 'r '+s]
        if (rtn != 0.0) & (count != 0) :
            acc_rtn *= (rtn /count )  + 1
            print('누적 청산일 : ',i,'청산 종목수 : ',count, \
                  '청산 수익률 : ',round((rtn /count),4),'누적 수익률 : ' ,round(acc_rtn, 4)) # 수익률 계산.
        book.loc[i,'acc_rtn'] = acc_rtn
    print ('누적 수익률 :', round(acc_rtn, 4))

상대 모멘텀 전략의 수익률은 다수 종목을 가지고 계산하므로 단일 종목으로 계산한 절대 모멘텀 전략의 수익률 계산과는 다른 것을 알 수 있다. 하지만, 절대 모멘텀 전략이나 상대 모멘텀 전략 모두 전에 보유하고 있던 포지션 여부를 검사한 후 그에 따라 진입과 청산, 유지를 결정하는 것이라는 기본적인 개념은 동일하다. 

마지막 수익률 계산은 다음 코드로 실행된다.

multi_returns(book, stock_codes) # 수익률 계산

 

<참고 서적> 퀀트 전략을 위한 인공지능 트레이딩

반응형
반응형

최근 55~64세의 베이비 부머들이 온라인 사업과 오프라인 사업을 추진하고, 성공적으로 운영하고 있는 사례가 늘고 있다고 한다. 물론, 실패한 사례도 매우 많이 있다. 퇴직후 자신의 일을 찾지 못하면, 결국 기다리는 건 우울과 공허함이 아닐까 싶다. 죽을 때 잘 살다 간다는 말을 하기 위해서라도 내가 하고 싶은 일을 즐기면서 할 수 있도록 해야 한다고 생각한다. 

인생 후반전의 성공 창업을 위한 8가지 법칙

- 위험을 적절히 감수하면서 서서히 창업으로 넘어가라

- 스왓 분석으로 자신의 강점과 약점을 파악하라

- 사업을 가족의 일로 만들어라

- 꼭 필요한 사람을 만나라

- 고객을 이웃처럼 대하고 그들과 이웃이 돼라

- 끈기 있게 버텨라

- 돈에서 눈을 떼지 말라

- 사업을 단순화해 품질로 승부하라

실천 지침들 1

  • 자신이 즐기는 동시에 이익을 낼 수 있는 사업을 골라라. 
  • 능력있고 믿을만한 회계사가 없이는 사업을 시작하지 마라.
  • 자기 평가의 일환으로 재무관리 상황을 평가하라.
  • 신용 거래를 제한하라.
  • 가격 전략을 개발하라.
  • 수치에서 눈을 떼지 마라.
  • 작게 시작해서 천천히 성장하라.
  • 품질을 희생시키지 않고 비용을 통제하라.
  • 공공요금을 비롯한 각종 비용을 제때 내라.
  • 퇴직금 사용에 신중하라.

늦깎이 성공 창업자들은 대부분 하나의 핵심 품목이나 서비스에 집중했다. 그렇게 한 분야에서 최고가 되기 위해 노력하며 사업을 일으켰던 것이다. 품목 측면에서 그 회사들은 단순했다.

단순화 방법을 효과적으로 실행하기 위해 고객이 핵심 상품을 통해 어떤 이익을 얻는지 이해해야 한다. 자신의 상품이 고객에게 진정으로 어떤 가치가 있는지를 아는 것은 중요하다. 

실천 지침들 2

  • 강점을 활용하라. '단순화'하고 싶다면 하나의 핵심 상품이나 서비스에 집중해야 한다.
  • 진심으로 몰두할 사업이 무엇인지, 그리고 고객이 진심으로 원하는게 무엇인지 알아내기 위해 깊이 생각하라.
  • 품질 관리를 보장할 시스템을 개발하라.
  • 품질로 승부한 유명한 기업의 사례 연구를 찾아서 읽어라.
  • 특정 모델 혹은 프로그램이 작동하지 않는다면 버려라.
  • 필요할 때 거절해라. 자신의 계획과 맞지 않는 유행이나 솔깃한 제안에 굴복하지 마라.
  • 핵심 사업에 집중할 수 있고 그 사업에 도움이 되는 기술만 업그레이드하라.
  • 다각화에 신중히 대처하라. 첫 번째 사업이 안정되고, 확실한 사업 확장 전략이 마련될 때까지 기다려라.
  • 검색 엔진 최적화에 대해 배워서 핵심 상품이 시장에 진출하는 데 이용하라.
  • 핵심 상품이나 서비스에 계속 집중하려면 열정이 필요하다.
반응형
반응형

한없이 풍족한 이 세상에서 우리가 꿈을 성취하지 못하도록 막아서는 유일한 한 가지는 안락한 곳 바깥으로 기꺼이 걸어나오려는 자발성에 독을 뿌리고 마는, 스스로에 대한 저항이다.

이 책에서 허슬은 '훔치다' 또는 '속이다'라는 뜻으로 쓰지 않았다.

목표를 향한 결단력 있는 움직임.

간접적으로 그 움직임 자체가 행운을 창조하고 숨어 있던 기회를 드러내고 우리의 삶을 더 많은 돈과 의미, 추진력으로 충전시키는 움직임을 말한다.

허슬은 자신만의 독특한 수단과 개인적인 성공을 찾으려는 사람들의 별스러운 면을 드러내는 말이다. 또한 타인의 성공을 맹목적으로 모방하기보다 자신만의 방법을 발견하는 것은 성공으로 가는 가장 진실된 길이다.

자신의 꿈을 전적으로 소유하려면 세 개의 기본적인 힘이 필요하다. 바로 돈, 의미, 추진력이다. 
허슬은 당신이 행하는 모든 것들, 개인으로서 되고자 하는 모든 것들을 통해 당신의 인생 전체에 걸쳐 이 세 가지 힘을 함양하고 증폭시키는 것을 목표로 한다. 

1. 마음

다른 사람이 두는 체스 게임의 '졸'이 된 것 처럼 느낀 적이 있다면, 당신은 아이러니하게도 '좋은' 회사에 다니는 것이다. 
어떻게 살아야 하는지에 관한 아주 오래된 조언은 현실 만족과 순응에 관한 모델에 불과하다. '책상에 진득하게 붙어 앉아 있어라. 공부해라. 좋은 학점을 받아라. 차를 타라. 결혼해라. 괜찮은 직장으로 옮겨 다녀라. 집을 사서 두 명의 아이를 낳아라. 그렇게 40년 안에 은퇴한 다음, 편안하게 있다가, 죽어라.'
무리 지어 함께 달리는 대부분의 사람들은 자신들의 직업을 싫어한다. 전 세계 노동자들 중 거의 90%가 자신들이 직업적으로 하는 일과 감정적으로 단절됐다고 느낀다. 직업은 성취의 근원이라기보다 좌절의 원천인 셈이다.

매우 극단적인 상황 속에서 공포와 회의를 견디면서도 당신은 위로 향하는 길을 반드시 추구해야 한다. 지독한 공산주의 체제나 징역살이를 각오해야 하는 상황이 아니더라도 '허슬 세대'는 자신이 통제할 수 있는 힘을 발견한다. 그에 따른 보상이 리스크를 감수할 만한 가치가 있음을 믿어야 하고 행동할 수 있는 용기를 가져야 한다. 엉망이 된 시스템으로부터 삶의 통제권을 되찾아 오는 것이 스스로를 위한 의무다. 자유롭고 힘차게 앞으로 나아갈 수 있는 선택을 해야 한다. 꿈을 향해 움직어야 한다. 더 나은 결과를 추구하게 되면 자신만의 모험을 선택할 수 있다. 

'꿈을 소유한다'는 것은 몰입하는 삶을 산다는 뜻이다. 최선을 다하고, 매우 결단력 있는 선택을 하며, 결과를 두려워하지 않고 필요하면 도중에 당신의 경로를 수정할 수도 있다. 
반대로 '꿈을 빌린다'는 것의 의미는 현재의 경제적 여건으로는 다른 어느 곳에서도 채용될 수 없을 테니 박봉에 감사하며 살라는 말을 따르는 것이다. 생활하고, 일하고, 노는 방식에 대해 이 사회의 가진 자들이 부당하게 제한해놓은 선택 메뉴를 받아들이는 것, 이것이 바로 '꿈을 빌린다'는 개념의 핵심이다. 

당신의 꿈을 소유할 때 당신의 성격과 요구에 따라 꿈을 재단할 수 있다. 그래야 당신의 꿈이 성장할 수 있고 함께 진화할 수 있다.

꿈을 소유한다는 것이 단순히 꿈꾸는 것 이상을 뜻한다는 점을 아는 것도 중요하다. '명사로서 꿈은 중요하다. 동사로서 꿈꾸기는 그리 중요하지 않다.'
우리는 꿈을 소유하는 것이 목표지, 꿈만 꾸는 것이 목표가 아니다. 꿈꾸기를 '과다복용'하는 상태에서 벗어나 그 꿈을 실천하기로 의식적으로 몰입할 때 기회가 확실히 보인다. 그래야 당신의 꿈은 현실이 된다. 

실천의 부족, 그리고 실패를 회피하려는 소심함은 예외 없이 사람들을 자기 파괴의 절벽으로 내몬다. 목표는 리스크와 실패를 모두 회피하는 것이 아니라, 리스크를 조금씩 받아들여서 성공을 추구하는 것이라고 머릿속에 각인시키는 것이다. 

당신은 소기업 두 곳 중 하나가 망하고 만다는 통계를 익히 알고 있을 것이다. 또한 개인적으로 아는 기업가들이 악전고투를 벌이는 모습을 목격하고 있을 것이다. 그래서인지 안정적인 직업을 그만두면 수입에 즉각적인 손실이 발생할 거라고 '깊이' 우려한다. 당신이 보지 못하는 것은 숨어있는 리스크다. 

진짜 문제는 '학습된 무기력'이다. 이것이야말로 고민의 해결책이 바로 눈에 보이는데도 불구하고 여러 저항에 직면할 때마다 스스로를 도울 수 없다고 체념하고 마는 끔찍한 현상이다.

'지루함의 일상화' 그것은 여러가지 것들이 섞인, 따분한 좌절감이다. 감각은 둔해졌고, 기대감은 완전히 김이 빠졌으며, 양망은 계속 깊은 잠에 빠져 있고, '왜 내가 그래야 하지?'란 이유로 실천을 회피하는 상황이다. 

'학습된 맹목'이라는 리스크는 당신의 모든 인생뿐만 아니라 생산성과 행복을 위한 당신의 능력을 규정할 것이다. 쉽게 말해, 당신이 하려고 의도했던 것이나 '되기로'했던 것에 대해 맹목적이 되어버리는 리스크다. 

진정한 재능을 발견하려면, 당신은 두 개의 왜곡된 거울이 당신의 진정한 자아를 발라보지 못하게 막는다는 것을 이해할 필요가 있다. 그 두 개의 거울은 바로 '워비곤 호수 효과'와 '재능의 인민재판'이다.

워비곤 호수 효과

워비곤 호수라는 가상의 마을 만들고 '그 마을에 사는 모든 여성은 강인하고, 모든 남성은 잘생겼으며, 모든 아이들은 평균 이상'이라고 말한다. 이 말은 우리가 어떤 스킬이나 행동에 있어 실제보다 더 낫다고 스스로를 속임으로써 연약한 자아를 보호하려는 경향을 일컫는다. 
현실에서 워비곤 호수 효과는 사람들이 다른 사람들에 비해 자신의 운전 실력이 어떤지 평가해 달라고 요청받을 때도 나타난다. 워비곤 호수 효과는 당신의 자아가 무의식적으로 도움이 안 되는 생각으로부터 스스로를 보호하려는 방어수단이다. 즉, 당신의 운전 실력이 남들보다 형평없다는 불편한 사실로부터 스스로를 보호하고자 하는 것이다. 

재능의 인민재판

사람들은 성공을 바라는 분야에서 자신의 능력을 과대평가하는 반면, 당신의 꿈에 별로 관심이 없는 사람들은 당신을 엄격하게 평가하는 경향이 있다. 이 또한 인간의 본성이다. 목표가 공정한 평가나 판단이 아니라 굴욕감, 공포, 벌주기가 목적인 우리 주변의 인민재판관들은 부당하리만큼 다른 사람들의 재능을 공격한다. 

허슬은 무슨 수를 써서라도 어려움을 견디고 참는 것이 아니다. 허슬은 긴 게임을 벌이는 동안 최선의 선택을 하는 것이다. 

하나의 정체성만 가지고 충분히 튼튼한 버팀목을 만들 수는 없다. 여러 개의 건강한 정체성은 성공이라는 탱크를 필요에 따라 가득 채울 수 있기 때문에 회복탄력성을 높여준다. 

당신에게는 '뚜렷한 재능(쉽게 보이고 쉽게 알아차리지만 보통 중간 수준의 가치를 지닌 재능)'과 '흐릿한 재능(보기 힘들고 표현하기 어렵지만 믿을 수 없을 만큼 가치있는 재능)'이 있다. 그리고 흐릿한 재능을 잘 이해하고 끌어올리기 위한 유일한 방법은 역동적인 환경과 다양한 상호작용을 자구 갖는 것이다. 
그러므로 당신을 움직이게 하는 무언가를 행하라. 당신을 흥분시키고 에너지를 북돋는 무언가를 행하라.

프로젝트를 시작하기 전 프로젝트에서 당신이 기여해야 할 것과 해내야 할 것이 무엇인지, 예상되는 바를 써보라. 그리고 그 프로젝트가 종료된 후에 결과를 기록하고 비교하라. 
이렇게 자신의 경험을 기록하고 재차 살펴봄으로써 경험의 거울을 통해 스스로를 진실하게 들여다볼 수 있고, '워비곤 호수 효과'와 '재능의 인민재판관'이라는 왜곡된 잣대들을 피할 수 있다.

까다로운 기술 문제에 해결책을 제시하는 능력이 있는가? 그렇다면 고도의 정신노동이 요구되는 복잡한 기술 업무를 수행하는 팀에 합류하라.

재능을 찾아내고 강점을 단련하는 것은 누구나 취할 수 있는 가장 간단하고 유일한 최고의 방법이다. 

대부분의 사람들은 리스크를 위험과 동일하다고 생각한다. 모두 피해야 할 것으로 여긴다. 하지만 리스크는 산소에 비유할 수 있다. 그것은 필수적이면서 불가피한 것이다. 너무 많아도, 너무 적어도 사람들에게 해를 끼친다.

완벽함은 사람들을 좀 더 '리스크를 회피하는 쪽'으로 선택하게 만든다. 하지만 적절한 크기의 적절한 리스크는 건전하다. 
"지금 곧바로 실행된 좋은 계획이 다음 주에 실행될 완벽한 계획보다 낫다."
허슬은 우주적인 변화가 아니라 매일의 작은 성취들이 모여 이루어진다. 결점을 고쳐 쓰고 개선해갈 수 있는, 일종의 선물인 셈이다. 그리고 그것이 추진력을 유지하고 앞으로 나아가는 방법이다. 허슬은 선순환이다. 더 많이 허슬할수록 더 좋은 행운과 만날 것이기 때문이다. 

반응형

2. 머리

운동은 약간의 고통을 스스로에게 투여하는 좋은 사례다. 인간의 신체는 근육에 생긴 미세외상을 이겨내기 위해 근육 조직을 재건하고 강화시킨다. 근육을 성장시키려면 때론 극심하기도 하겠지만 일시적으로 약간의 고통을 경험해야 한다. 
약간의 고통은 성장에 도움이 될 뿐만 아니라, 신체 위축증을 예방하는 데에도 중요하다. 
당신의 재능을 드러내려면 때로는 필연적으로 불편함을 경험할 수 밖에 없다. 약간의 상처를 받지 않는다면 앞으로 나아가지 못할 것이다.

뇌세포는 일생 동안 계속 성장한다. 물론 뇌세포는 노력 없이는 성장하지 않는다. 뇌세포의 성장 능력은 '신경가소성'이라고 불린다. 뇌세포는 새로운 언어를 배우거나 새로운 기술적·창조적 스킬을 습득하거나 참신한 경험을 하거나 낯선 땅에서 새로운 경험을 하거나 복잡한 문제를 해결하는 '인지적 활동'을 행할 때 성장한다. 

두뇌에 약간의 고통을 가하는 것은 엄청난 이득으로 되돌아온다. 심각한 부상 후에도 근육을 재활할 수 있는 것처럼, 새로운 지식과 낯선 경험을 추구하는 과정 속에서 두뇌 조직 역시 새로운 방향으로 확장되기 때문이다. 

기존에 가지고 있던 스킬들이 위축되는 걸 막고, 미래의 스킬과 지식을 계발하고, 복잡한 문제를 예상하고 해결하려면 약간의 고통 투여가 정말로 필요하다는 점을 명심하라.

하지만 당신의 허슬 과정이 온통 고통일 뿐이라면, 당신은 그저 사디스트일 뿐이고, 뭔가 잘못하고 있는 것이다. 

거울을 들여다보며 조용히 생각해 보라. 장기적인 이득을 거두기 위해 내가 오늘 할 수 있는 가장 사소한 일은 무엇인가? 매일 투여할 고통들은 모두 사소하고, 덜 성가시거나 괴상하지 않고 어떤 식으로든 이득이 되거나 밝은 미래를 약속해야 한다. 

신경과학자 제임스 오스틴 박사는 행운에도 네 가지 유형이 있다고 말한다. 단순하게 허슬하고, 움직이고, 실천함으로써 더 많은 행운을 '수확'할 수 있고 더 정기적으로 '세렌디피티'를 포착할 수 있다. 

  • 유형 1. 얻어걸린 행운 : 많은 사람들이 '횡재'라고 부르는 것으로 아무런 노력없이 생기고 당신에게 별다른 영향을 미치지 못하는 행운을 말한다.
  • 유형2. 허슬 행운 : 추진력과 행동으로 만들어진 행운이다. 무언가가 확실해야만 행동하겠다는 생각을 버려라. 무엇이든 행하라. 제일 중요한 것은 행동이다. 허슬 행운을 위해서는 닥치는 대로 움직이는 것이 가만히 서 있는 것보다 낫다. 
  • 유형 3. 숨겨진 행운 : 당신의 일상생활 속에서 당신 모르게 살금살금 돌아다니는, 정체를 보이지 않는 기회를 일컫는다. '기회는 준비된 자에게만 간다'라는 말로 요약되는 행운이다. 
  • 유형 4. 별난 행운 : 당신의 선천적인 기이함으로 인해 당신을 찾아오는 행운을 말한다. 별난 것에 관심이 있거나 순응주의자들이 이해 못할 이상한 습관을 가지고 있다면, 마음껏 저질러라. 절대 억제하지 마라. 

행운에 관한 놀라운 진실, 현실에선 최상이든 최악이든 상관없다는 것이다. 그들이 계속 활기차고 멋지게 행동한다면, 좋은 일들이 일어나기가 쉬울 테니까.

허슬의 첫 번째 법칙 : 당신을 움직이게 하는 것을 행하라

감정적으로 당신을 감동시키고 당신이 행동하도록 만드는 일을 하라. 사람의 마음은 자기 자신으로부터의 진정한 자극을 숨기느라 상당한 노력을 기울이도록 설계되어 있다. 당신의 동기가 명백하게 '타인을 다치게 만드는 것'에 뿌리를 두지 않는다면, 무엇이 당신으로 하여금 첫걸음을 떼도록 만드는 것인지는 그다지 중요하지 않다. 그 동기는 당신 내면 깊은 곳에 뿌리를 두기만 하면 된다. 

삶의 목적은 움직이는 표적처럼 끊임없이 진화한다. 삶의 목적을 찾는 일은 첫걸음을 떼는 것과는 관련이 없다. 첫걸음을 떼는 것의 핵심은 정말로, 그냥, 첫걸음을 떼는 것이다.

추진력에서 의미에 이르는 과정을 거치면서 당신은 좀 더 심오한 삶의 목적을 알게 될 것이다. 허슬을 한다면, 그리고 행동이라는 덕목을 실천한다면 나중에 가서 목적은 명확해질 것이다. 바로 지금, 당신은 무언가를 시작하고, 청구서를 지불할만큼 돈을 벌고, 신체적 건강을 유지할 필요가 있다. 

허슬에 착수하고 기회를 개척해갈 때는 바라를 항해하는 선박의 선장이 항로를 생각하는 것과 같은 방식으로 전략과 전술을 항상 생각하는 것이 중요하다. 
대부분의 사람들은 멈춰 서서 자신의 지도를 체크하고 또 체크하는데, 쉽게 얻을 수 있는 정보와 아주 잘 보이는 정보를 관찰하고 기록하면서 그것에 근거하여 행동하곤 한다. 배가 곧장 빙산을 향해 달려가는데도 말이다.
반면, 아주 약삭빠른 선장과 경험 많은 허슬러들은 수면 아래에 무엇이 감춰져 있는지를 반드시 파악한다.

허슬의 두 번째 법칙 : 고개를 들고 눈을 크게 떠라

보이지 않는 것을 보고 미개척의 기회를 규명함으로써 당신은 더 많은 추진력을 받고 돈, 의미, 추진력을 지탱하는 결과물들을 필연적으로 얻게 될 것이다. 

허슬을 하기 전에 반드시 다르게 바라보는 법을 배워야 한다. 
다른 사람들 대부분이 자신들의 경로에 놓인 장애물들을 위험한 것으로 바라보더라도, 허슬러들은 파쿠르(도심의 구조물을 오르고 뛰어다니는 스포츠) 훈련생들의 마인드를 지녀야 한다. 대부분의 사람들이 공포와 고통을 느끼는 곳에서 허슬러들은 기회를 바라본다.

"흥미롭고 창의적인 일을 하는, 내가 아는 거의 모든 사람들은 자신들이 만들어낸 것들이 원하던 수준이 아니었다고 말하는 단계를 몇 년 동안 거쳤더라고요. 우리는 우리의 일이 별로 특별할 것이 없다고 생각하죠. 모두들 그런 단계를 거쳐 간답니다. 그리고 당신이 이제 막 시작했거나 여전히 그 단계에 머물러 있다면, 이걸 알아야 해요. 그게 정상이고, 당신이 할 수 있는 가장 중요한 일은 '많은 일'을 하는 것이란 사실을요. 데드라인으로 자신을 밀어넣으면 매주 하나씩 일을 끝낼 수 있어요. 갭을 줄이고 열망했던 수준으로 끌어올리려면 많은 일을 하면서 그 단계를 뚫고 지나는 수 밖에는 없어요."

'데드라인으로 자신을 밀어넣는다'는 것은 일의 양과 완료 여부에 초점을 맞춘다는 뜻이다. 추진력을 유지하려면 일의 종결이 필요하다. 

세 번째이자 아마도 가장 무서운 법칙 : 계약을 맺고 그것을 실현하라

'할 것이라고 말했던 것'과 '해낸 것'의 갭을 줄여야 할 때 이 법칙이 필요하다. 허슬의 보이지 않는 세 번째 법칙은 '일시적인 종결'이다. 그것은 벨을 울려 승리에 마침표를 찍고, 깊은 숨을 쉬고, 지금껏 배운 것들을 다시 정리하고, 새롭게 시작할 수 있는 여유를 준다. 

책을 쓰고 싶다고?
알람을 오전 4시 30분에 맞춰 놓고 일어나 오전 8시까지 글을 써라.

계약을 맺고 계약을 실현함에 따라 당신의 습관을 필연적으로 변화를 요구받는다. 그리고 습관이 변화하면, 새로운 정체성이 형성된다. 절대 잊지 마라. 습관은 정체성을 창조한다. 정체성이 습관을 창조하는 것이 아니다. 

산에 오르길 원한다면, 가장 짧은 길은 산 밑에서 정상까지 이어지는, 기하학적으로 '직선'인 길이다. 하지만 엄마와 아빠가 헬리콥터로 당신을 데려다주는 경우를 제외하고 직선 경로는 현실적으로 존재하지 않는다.
정상에 오르기까지 180도로 크게 꺾인 여러 개의 길을 지나야 한다. 그 길을 가다보면 가끔은 정상에서 뒤로 물러나는 듯하고, 어떨 때는 밑으로 내려가는 듯하지만, 결국 그 길은 정상으로 이어져 있다. 

우회성이 그토록 '아름다운' 이유는 당신의 스킬과 요구에 따라 그것을 재단할 수 있기 때문이다. 당신은 허슬러로서 항상 B에서 A로 가기 위한 자신만의 길을 설계하는 것이 중요하다. 당신에게 최적화된 길을 찾으라는 말이다. 모든 사람들은 서로 다른 재능, 스킬, 경험을 가지고 있기 때문에 자기만의 최고의 길이 존재한다. 

직장생활에도 사회적인 관습이 존재해서 A에서 B로 가는 익숙한 길을 따르라고 당신을 몰아세운다. 이런 관습은 그들이 현상유지를 추구하기 때문에 존재한다. 그리고 관습의 문지기들은 하나같이 당신이 이런 과정을 거치기를 원한다. 

3. 습관

앞으로 나아가겠다는 '생각'에서 벗어나 '실제로' 앞으로 꾸준히 나아가도록 당신을 좀 더 밀어넣을 시간이 되었다. 이 말은 비현실적으로 보이는 꿈을 손에 잡히는 것으로 전환시킨다는 뜻이다. 이런 전환을 현실화하려면 허슬의 보이지 않는 세 가지 법칙을 훈련해야 한다.

10분 습관

10분 동안 하고, 그 다음에 판단하라. 실행하고 싶은지 아닌지 스스로에게 묻지 마라. 계획하지 마라. 대신 씩씩하게 걸어서 헬스클럽으로 가라. 그리고 운동 기구를 집어들어라. 그냥 하라. 10분만 하면 된다. 가서, 바로 시작하라!

이것이 생산적으로 그 순간에 집중하게 하는 간단한 방법이다. 
1. 빠르게 완료할 수 있다 : 중요하고 필수적인 거을 해야 하는가? 즉시 그 일을 하라. 오늘 반드시 해야 하는 일이 있다면 나중보다는 지금이 낫다. 그러니 바로 시작하라.
2. 자유롭게 집중할 수 있다 : 과중한 업무가 주는 압박 때문에 주의를 기울일 수 없다고 느끼거나 무력감을 느끼는가? 끌려다니지 말고 그 일의 주인이 돼라. 이 말은 올바른 자세로 앉거나 똑바로 선 다음 천천히 숨을 내쉬면서 손에 든 업무에 집중하라는 뜻이다. 
3. 갈등 없이 인내력을 발휘할 수 있다 : '제일 중요한 건 행동이다'라는 말이 있다. 10분간의 집중을 정신수양이라고 생각하라. 

POP : 당신의 개인적 기회 포트폴리오

1. 잠재력 : 일자리를 얻고 프로젝트를 딴다는 말은 당신의 잠재력을 회사 혹은 고객의 니즈와 일치시킨다는 뜻이고 그들이 해결할 수 없는 문제를 대신 푼다는 의미다. 당신의 미래는 능력에 달렸다. 잠재력 바구니는 새로운 재능을 발견해야 하고 다음 단계로 나아가는 데 필요한 강점, 성장력, 자율성, 자기 주도력, 목적을 규명해야 한다는 점을 강조한다.

2. 사람 : 당신의 일과 삶 속에서 기회와 행운의 가장 강력한 원천 무엇인가? '현실과 온라인 커뮤니티에서 당신이 형성한 관계는 당신과 다른 사람들을 위한 기회를 창출할 수 있다'. '사람'은 당신이 가진 사회적 자산의 총합, 즉 개인적이고 직업적인 인맥의 폭과 깊이를 뜻한다. 
사람 바구니에서 이보다 더 중요한 것은 다른 사람들의 니즈와 바람, 삶과 일에 기여하려면 어떻게 커뮤니티 내에서 활동해야 하고 어떻게 커뮤니티를 운영해야 하는가다.

3. 프로젝트 : 당신이 현재 하는 일과 그 일을 하는 방식은 당신에 대해 매우 개인적인 것을 말해준다. 즉, 당신을 독특하고 흥미롭고 주목할만하게 만들어준 여러 선택뿐만 아니라, 당신의 관심과 고도로 일을 실행하는 당신의 능력을 보여준다. 당신이 씨름하는 모든 프로젝트는 당신이 창업자이든 초급 사원이든 관계없이 어떤 식으로든 당신의 가장 강한 스킬과 능력을 보여주기 때문에 중요하다. 
프로젝트는 당신이 돈과 의미와 추진력을 구축하면서 허슬을 지속시키는 방법을 일컫는다. 프로젝트를 통해 당신은 행동, 아웃풋, 결과물을 통해 추진력을 유지하기 위해 돈을 버는 것은 물론이고 당신을 움직이는 무언가를 실행에 옮기는 것이라고 말할 수 있다.

4. 증거 : 무엇보다 증거 바구니는 당신의 신뢰성을 알려주는 최종적인 문장, 즉 당신에 대한 평판을 말해준다. 증거는 두 가지의 주요 문제를 해결해준다. 바로 직업적 문제와 개인적 문제다. 직업적으로 볼 때, 증거는 당신을 다른 사람들과 구별해주고 당신이 발휘할 능력을 분명하게 보여준다. 개인적으로 볼 때, 증거는 당신으로 하여금 세상을 향해 명백하게 말할 수 있도록 해준다. 

요약하면 POP의 네 가지 바구니는 당신에게 잠재력의 형태로 능력을, 사람의 형태로 커뮤니티를, 프로젝트의 형태로 창조력을, 증거의 형태로 신뢰성을 부여한다. 그것들을 이루러면 집중력과 위기감, 야망과 낙천주의 그리고 열정이 필요하다. 그것들이 인생의 나머지 시간 동안 당신의 추진력을 지속시킬 것이다. 

당신만의 POP와 당신이 원하는 삶의 방식을 설계하는 것에 대해 보다 전략적으로 사고하도록 요구한다. POP는 당신이 만들어야 하는 것이고, 당신이 세상에 전해야 하는 것이며, 당신이 얻어내야 하는 것이다. 

 

반응형
반응형

듀얼 모멘텀은 투자 자산 가운데 상대적으로 상승 추세가 강한 종목에 투자하는 상대 모멘텀 전략과거 시점 대비 현재 시점의 절대적 상승세를 평가한 절대 모멘텀 전략을 결합해 위험을 관리하는 투자 전략이다. 

  • 모멘텀(momentum)은 물질의 운동량이나 가속도를 의미하는 물리학 용어로, 투자 분야에서는 주가가 한 방향성을 유지하려는 힘을 의미한다.

듀얼 모멘텀 전략은 국내에서도 많은 미디어에 소개되며 대중에게 익숙한 퀀트 투자 전략이기도 하다. 

듀얼 모멘텀 전략을 구현하기 위해서는 먼저 절대 모멘텀과 상대 모멘텀을 이해하고 구현할 수 있어야 한다. 

최근 N개월간 수익률이 양수이면 매수하고 음수이면 공매도하는 전략을 절대 모멘텀 전략이라고 한다.
반면에 상대 모멘텀 전략은 투자 종목군이 10개 종목이라 할 때 10개 종목의 최근 N개월 모멘텀을 계산해 상대적으로 모멘텀이 높은 종목을 매수하고 상대적으로 낮은 종목은 공매도하는 전략이다. 

이번에는 절대 모멘텀 전략을 실행해 보도록 한다.

절대 모멘텀 전략

먼저 필요한 라이브러리들을 가져오고, 분석할 데이터셋을 읽어온다.

import pandas as pd
import numpy as np
import FinanceDataReader as fdr

read_df = fdr.DataReader('SPY', '1993-01-29', '2023-09-12') # S&P 500 ETF 데이터를 가져옴.
read_df.head()

그 다음 조정 종가만 선택해 price_df 변수에 별도의 데이터프레임으로 저장한다.

price_df = read_df.loc[:,['Adj Close']].copy()
price_df.head()

이 전략에서는 월말 데이터를 추가해서 사용한다.

price_df['STD_YM'] = price_df.index.to_period('M')
price_df.head()

이번에는 월말 종가에 접근하는 데이터프레임을 만들어 보자.

month_list = price_df['STD_YM'].unique()
month_last_df = pd.DataFrame()
for m in month_list:
    # 기준 연월에 맞는 인덱스의 마지막 날짜 row를 데이터프레임에 추가
    month_last_df = month_last_df._append(price_df.loc[price_df[price_df['STD_YM'] == m].index[-1], :])

month_last_df.head()

현재 데이터프레임에 있는 중복을 제거한 모든 '연-월' 데이터를 리스트에 저장해 월별 말일자에 해당하는 종가에 쉽게 접근할 수 있다.

월말 종가 데이터를 적재하는 별도의 데이터프레임을 만든다. 월말 종가 데이터 리스트를 순회하면서 index[-1]을 통해 월말에 쉽게 접근하고, 데이터를 추출해 새로 만든 데이터프레임에 적재한다.
(append가 pandas 2.0부터 제거됨. _append로 사용가능)

모멘텀 지수를 계산하기 위한 이전 시점의 데이터를 어떻게 가공하는지 살펴보자.

month_last_df['BF_1M_Adj Close'] = month_last_df.shift(1)['Adj Close']
month_last_df['BF_12M_Adj Close'] = month_last_df.shift(12)['Adj Close']
month_last_df.fillna(0, inplace=True)
month_last_df.head(15)

판다스 DataFrame에서 제공하는 shift()함수를 이용하면 손쉽게 데이터를 가공할 수 있다. shift() 함수는 기본값이 period = 1, axis = 0으로 설정되지만, 입력 매개변수를 원하는 값으로 대체해 사용할 수 있다. 
우리가 만든 데이터프레임에서 1을 지정하면 1개월 전 말일자 종가를 가져오고, 12를 넣으면 12개월 전 말일자 종가 데이터를 가져오게 할 수 있다. 데이터를 뒤로 밀어내는 것인데 초기 n개의 행에는 값이 없으므로 np.nan 값이 출력된다. 

이제 모멘텀 지수를 계산해서 거래가 생길 때 포지션을 기록할 DataFrame을 만든다.

book = price_df.copy()
book['trade'] = ''
book.head()

반응형

최종적으로 기록된 포지션을 바탕으로 최종 수익률을 계산하는 데 사용된다. 
처음에 만든 일별 종가가 저장된 DataFrame을 복사해 날짜 Date 컬럼을 index로 설정하고 거래가 일어난 내역을 저장할 Trade 컬럼을 만든다.

# trading 부분
ticker = 'SPY'
for x in month_last_df.index:
    signal = ''
    # 절대 모멘텀을 계산
    momentum_index = month_last_df.loc[x, 'BF_1M_Adj Close'] / month_last_df.loc[x,'BF_12M_Adj Close']-1
    # 절대 모멘텀 지표 True/False를 판단
    flag = True if ((momentum_index > 0.0) and (momentum_index != np.inf) and (momentum_index != -np.inf)) else False and True
    if flag :
        signal = 'buy ' + ticker # 절대 모멘텀 지표가 Positive이면 매수 후 보유
    print('날짜 : ', x, '모멘텀 인덱스 : ', momentum_index, 'flag : ', flag, 'signal : ', signal)
    book.loc[x:, 'trade'] = signal

월별 인덱스를 순회하면서 12개월 전 종가 대비 1개월 전 종가 수익률이 얼마인지 계산한다. 계산된 수익률은 momentum_index 변수에 저장해 0 이상인지 확인하고, 0 이상이면 모멘텀 현상이 나타난 것으로 판단해 매수 신호가 발생하도록 한다. 이 부분을 flag 변수로 처리했다. 이어서 signal 변수에 저장된 매수 신호를 book 데이터프레임에 저장한다.

월말 종가를 기준으로 매수/매도 신호를 계산하므로 최소 1개월 이상 해당 포지션을 유지한다. 포지션을 유지하는 기간은 개인마다 다르지만 보통 1개월을 유지하기도 한다. 이를 전문 용어로 리밸런스 주기라고 한다.

그 다음으로 전략 수익률을 확인해 보자. 

def returns(book, ticker):
    # 손익 계산
    rtn = 1.0
    book['return'] = 1
    buy = 0.0
    sell = 0.0
    for i in book.index:
        if book.loc[i, 'trade'] == 'buy ' + ticker and book.shift(1).loc[i, 'trade'] == '' :
            # long 진입
            buy = book.loc[i, 'Adj Close']
            print('진입일 : ', i, 'long 진입가격 : ', buy)
        elif book.loc[i, 'trade'] == 'buy' + ticker and book.shift(1).loc[i, 'trade'] == 'buy ' + ticker:
            # 보유중
            current = book.loc[i, 'Adj Close']
            rtn = (current - buy) / buy + 1
            book.loc[i, 'return'] = rtn

        elif book.loc[i, 'trade'] == '' and book.shift(1).loc[i, 'trade'] == 'buy ' + ticker:
            # long 청산
            sell = book.loc[i, 'Adj Close']
            rtn = (sell - buy) / buy + 1 # 손익 계산
            book.loc[i, 'return'] = rtn
            print('청산일 : ', i, 'long 진입가격 : ', buy, ' | long 청산가격 : ', sell, ' | return: ', round(rtn, 4))

        if book.loc[i, 'trade'] == '': # 제로 포지션
            buy = 0.0
            sell = 0.0
            current = 0.0

    acc_rtn = 1.0
    for i in book.index :
        if book.loc[i, 'trade'] == '' and book.shift(1).loc[i, 'trade'] == 'buy ' + ticker:
            # long 청산시
            rtn = book.loc[i, 'return']
            acc_rtn = acc_rtn * rtn # 누적 수익률 계산
            book.loc[i:, 'acc return'] = acc_rtn
    print ('Accumulated return : ', round(acc_rtn, 4))
    return (round(acc_rtn, 4))

SPY ETF의 경우 12개월 전 대비 가격이 올랐을 때 매수하는 절대 모멘텀 전략의 수익률은 다음과 같다.
1에서 시작해 16.4076으로 종료되었으므로 1994년부터 2023년까지 1600%의 수익률을 낸 것이다. 

지금까지 단일 종목을 절대 모멘텀 전략으로 구현해 보았다.
절대 모멘텀 전략은 종목별 자신의 과거 수익률을 기반으로 매수/매도 신호를 포착하므로 단일 종목으로도 구성할 수 있다.

 

<참고 서적> 퀀트 전략을 위한 인공지능 트레이딩

반응형
반응형

'현명한 투자자의 인문학' 로버트 해그스트롬

버크셔 해서웨이를 이끌고 있는 찰리 멍거는 '현명한 사람치고 항상 뭔가를 읽지 않는 사람을 단 한 명도 본 적이 없다. 버핏과 내가 다양한 분야의 책을 얼마나 많이 읽는지 알면 깜짝 놀랄 것이다.'
이런 멍거의 다학문적 독서 철학은 '격자틀 정신모형'으로 알려져 있다.
'현명한 투자자의 인문학'도 멍거의 '격자틀 정신모형'에서 영감을 받았다고 한다.

이 책은 투자에 대해 논하면서 물리학, 생물학, 사회학, 심리학, 철학, 문학, 수학을 비롯한 여러 학문을 다루는데 '인간의 인지적 편견과 그로 인한 잘못된 판단과 행동'이 계속 등장한다.
우리 인간은 본능적으로 손실 회피 기제를 갖고 있으며, 우리의 이성은 완벽하지 않다. 그리고 우리 지식에는 한계가 있다.

이 책을 읽고 나면 읽어야 할 책들이 엄청나게 많다는 걸 깨닫게 될 것이다. 책을 많이 읽을수록 자신이 모르는 것이 더 많음을 깨닫게 된다. 다양한 분야의 독서를 통해 우리 지식이 갖고 있는 한계를 깨닫게 되는 소중한 경험도 하게 된다. 

세상을 이해하는 제대로 된 격자모형을 만들기 위해서는 여러 학문분야의 정신모형을 받아들여 통합해야 하며, 그래야만 투자에서도 뛰어난 성과를 거둘 수 있다고 본다. 
우리는 각자 배운 전문분야의 좁은 울타리에 갇혀서는 안된다.
울타리를 뛰어넘어 세상을 보는 또 다른 관점을 찾아나서야 한다. 

주식시장 혹은 경제가 움직이는 방식은 여전히 미스터리하다.
그래서 시장과 경제를 보다 잘 이해하기 위해 다른 분야의 지식체계로 확장하는 것을 고려한다. 더 많은 지식 분야를 살펴볼수록 시장의 미스터리를 풀 수 있는 여러 방법들을 발견할 가능성이 높아진다. 

재무와 투자를 보다 큰 통합된 전체의 한 부분, 커다란 지식체계의 일부분으로 보는 능력을 개발하는 것, 이것이 격자틀 정신모형 투자 철학의 핵심이다. 격자틀 정신모형은 주식 선택과 같은 제한된 문제를 넘어 폭넓게 확장될 수 있다. 새로운 사업, 새로운 트랜드, 신흥 시장, 돈의 흐름, 국제적인 변화, 일반적인 경제 상황, 시장에서 사람들의 행동 등을 비롯해 시장을 움직이는 모든 힘들을 이해할 수 있도록 도울 수 있다.

물리학

물리학은 물질과 에너지 그리고 물질과 에너지의 상호작용을 탐구하는 과학이다. 
인간 존재의 가장 본질적인 면에 대한 질문일지라도 그 질문에 답하는 우리의 능력은 그 당시에 활용할 수 있는 측정도구와 측정된 데이터에 엄밀한 수학적 추론을 적용할 수 있는 과학자들의 능력에 크게 의존하고 있다.

학생 신분의 뉴턴은 케플러의 '행성 운동에 관한 천체 법칙'을 갈릴레오의 '지상의 낙체법칙'과 통합하기 시작했다. 이 작업은 우주는 변치 않는 기계적 법칙에 의해 움직여야 한다는 데카르트의 우주론에 기반하여 이루어졌다. 이런 작업을 통해 뉴턴은 물리학의 보편 법칙을 만들어 나갈 수 있었다.

뉴턴은 나무에서 떨어지는 사과를 보고 순간적인 통찰로 중력이라는 아이디어를 생각해낸다. 케플러가 세 가지 행성 운동법칙을 정의하고, 갈릴레오가 떨어지는 물체는 일정률로 가속한다고 확신했는데, 뉴턴은 천재적인 솜씨로 케플러의 법칙과 갈릴레오의 관찰을 결합시킨 것이다. 뉴턴은 사과에 작용한 힘과 지구 주위를 궤도 운동하는 달을 붙잡는 힘이, 그리고 태양 주위를 궤도 운동하는 행성들을 붙잡는 힘이, 모두 동일한 힘이라는 사실을 추론해내었다. 

그는 행성이 앞으로 나아가는 속도와 태양 쪽으로 잡아당기는 중력의 힘이 균형을 이루기 때문에 행성이 고정된 궤도를 유지함을 보여주었다. 두 개의 동등한 힘이 균형 상태를 만드는 것이다. 
균형은 대립하는 힘이나 물리력, 영향력 사이의 평형 상태로 정의된다. 균형 모델은 일반적으로 움직임이 없는 시스템을 나타내는데, '정적 균형'이라 불린다. 대립되는 힘들이 대등하게 맞설 때 그 시스템은 '동적 균형'에 이르게 된다. 

세상에 대한 뉴턴식 관점은, 과학을 시계처럼 예측 가능하고 질서 정연한 우주에 대한 탐구로 묘사한다. 시계를 개별 부품 조각들로 분해해봄으로써 시계가 어떻게 작동되는지 이해할 수 있는 것처럼, 우주를 구성하는 부분들을 하나씩 연구해나감으로써 우리는 우주 전체를 이해할 수 있는 것이다.
이것이 바로 물리학의 정의다.
즉 모든 현상을 몇 개의 근본적인 입자들로 환원시킨 다음 이 입자들에 작용하는 힘들을 정의하는 것이 바로 물리학이다.

물리학의 균형이라는 개념은 경제학에 도입돠어 현재까지도 깊은 영향을 미치고 있다. 

반응형

균형은 고전 경제학의 근간일 뿐 아니라 현대 포트폴리오 이론의 기초이기도 하다. 하지만 많은 과학자들이 이 균형 이론에 대한 의문을 제기하기 시작했다. 
복잡적응계는 함께 활동하며 서로 상호작용하는 많은 개별 행위자들의 네트워크다. 시스템을 복잡하고 적응할 수 있도록 만드는 핵심은 뉴런들, 개미들, 투자자들 같은 그 시스템을 구성하는 행위자들이 서로 상호작용하면서 경험을 축적하고 변화하는 환경에 적응하기 위해 스스로를 변화시킨다는 아이디어다. 
만약 복합적응계가 그 이름처럼 계속해서 적응하고 있다면, 주식시장을 포함해 그런 시스템이 완벽한 균형 상태에 도달하는 것은 불가능하다. 

표준 군형이론은 합리적이고 기계론적이며 효율적이다. 이 모형은 동질적인 개별 투자자들이 주가에 대한 합리적 기대를 공유하며, 가지고 있는 정보를 효율적으로 할인하여 시장에 반영시킨다고 가정한다. 나아가 이용가능한 모든 수익창출 전략이 이미 시장 가격에 반영되어 있다고 가정한다.
그와 반대로 복잡적응계는 시장은 합리적이지 않고, 기계적이기보다는 유기적이며, 불완전하게 효율적이다. 개별 행위자들이 실제로 비합리적이며, 그래서 주식가격을 잘못 산정할 수 있고, 이에 따라 수익성 좋은 투자전략을 만들 여지가 생긴다고 가정한다.

균형이 정말 세상의 자연 상태일 수도 있다. 그리고 균형이 어긋날 때 균형을 다시 회복하는 것이 자연의 목표일 수도 있다. 하지만 균형은 뉴턴 물리학이 시사하는 것처럼 그렇게 변함없는 상태는 아니다. 어느 주어진 순간에, 균형과 불균형이 시장에서 함께 발견될지도 모른다. 
우리가 어디에 초점을 맞추는가는 개인적 관점의 문제다. 마찬가지로 수요공급의 균형과 가격 가치의 균형이 시장의 일상적 움직임에서 항상 나타날 수 있다. 

지구가 더 이상 우주의 중심이 아니라는 것이 알려졌을 때 우리의 관점이 바뀌었듯이, 세상이 뉴턴의 역학법칙에 의해 엄격히 지배받지 않는다는 것을 받아들일 때, 시장 변화에 대한 우리 관점도 바뀔 수 있다.

생물학

물리학을 살펴보며 '균형'이라는 아이디어에 초점을 두었듯이, 생물학 분야에서는 '진화'에 초점을 맞출 것이다. 

다윈의 '종의 기원'의 자연선택이론은 경제학자들에게도 영향을 주었다.
다윈의 진화는 꾸준하고 느리며 지속적이다. 생물학자들은 이것을 점진주의라고 부른다. '다윈의 핀치'의 부리나 호랑이의 줄무늬는 몇 년이라는 짧은 기간에 신속하게 대체된 것이 아니다. 그보다는 수백 년 아니 수천 년의 시간을 걸쳐 점진적으로 일어난다. 
하지만 어떤 경우에는 변화가 신속하고 극적으로 일어날 수 있다. 아마도 DNA 돌연변이 때문이거나 환경의 급격한 변화 때문일 것이다. 그 속도가 어떠하든 항상 변화가 일어나고 있다는 것을 기억해야 한다.
이것이 바로 우리가 뉴턴의 세계를 버리고 다윈의 세계를 받아들여야 하는 이유다.

뉴턴의 세게에서는 변화가 없다.
당신이 뉴턴의 물리학 실험을 수천 년 동안 수천 번을 하더라도 항상 동일한 결과를 얻을 것이다.
하지만 다윈의 세계, 다윈의 경제에서는 그럴 수 없다.
얼마 동안은 기업과 산업, 경제에 눈에 띄는 변화가 전혀 보이지 않을 수 있다. 하지만 결국에는 변한다. 점진적으로 또는 급격하게 익숙했던 패러다임이 무너져 내린다.

자연선택을 통한 생존이라는 다윈의 아이디어와 매우 유사한 엘파롤 문제의 논리는 경제와 시장으로도 얼마든지 확장될 수 있다.
시장에서 각 행위자들의 예측모형은 다른 행위자들의 모형과 생존 경쟁한다. 결과치를 피드백 받아 일부 모형은 변경될 것이고, 일부 모형은 사라질 것이다. 이것이 바로 '복잡', '적응', '진화'라고 스탠퍼드대 교수인 브라이언 아서는 말한다.

만약 우리가 주식시장의 역사를 거슬러 올라가 시장을 지배했던 거래 전략을 찾아본다면, 다섯 가지 주요한 전략을 발견할 수 있을 것이라고 생각한다. 

  1. 1930년대와 1940년대에는, 벤저민 그레이엄과 데이비드 도드가 1934년 '증권분석'이라는 책을 통해 처음 제시한 엄격한 장부가치 할인 전략이 지배적이었다.
  2. 2차대전 이후 금융시장을 지배한 두 번째 주요 전략을 배당모형이었다. 1929년에 있었던 시장 붕괴의 기억이 희미해지고 번영의 시기가 돌아오자 투자자들은 고배당 주식에 점점 끌리게 되었다. 그보다 수익률이 낮은 채권은 인기를 잃었다. 배당주 투자 전략이 크게 유행하자 1950년대에는 역사상 처음으로 배당주 수익률이 채권 수익률 아래로 떨어지기도 했다.
  3. 1960년대에 세 번째 전략이 출현했는데, 투자자들은 고배당 기업을 버리고 이익 성장률이 가파를 것으로 기대되는 기업에 투자했다.
  4. 1980년대에 네 번째 전략이 등장했다. 워런 버핏은 주주이익 또는 현금흐름이 좋은 기업에 집중할 필요가 있다고 강조했다.
  5. 오늘날 우리는 투하자본에 대한 현금수익이 다섯 번째 전략으로 부상하고 있음을 볼 수 있다.

각각의 전략을 이전에 지배적이었던 전략을 뛰어넘어 인기를 얻었고, 그런 다음 그 전략 역시 결국에는 또 다른 새로운 전략에 자리를 넘겨주었다는 것을 알 수 있다. 한마디로 시장 선택을 통해 주식시장에서 진화가 일어난 것이다.

 

반응형
반응형

퀀트Quant 투자를 달리 표현하면 데이터 기반 data-driven 전략이라고 할 수 있다. 

퀀트는 정량적 방법론을 기반으로 투자 의사를 결정하는 것이며, 정량적 방법론이란 모든 것을 수치화하는 것을 의미한다. 

사용하는 데이터에 따라 주가를 사용해 기술 지표를 만들고 이를 투자에 활용하는 '기술 지표 투자 전략'과 기업 재무제표를 사용하는 '가치 투자 전략', 이렇게 두 가지로 크게 나눌 수 있다. 

주식 시장을 바라보는 트레이더의 시각에 따라 사용되는 지표는 다르다.

기술 지표를 활용한 퀀트 투자 전략 구현에서의 관건은 주가 데이터를 활용해 기술 지표를 만드는 것이다. 
많은 파이썬 라이브러리에서 해당 기능을 제공하지만, 전략 확장성을 위해 수식을 기반으로 직접 만들어보는 것이 더 의미가 있다. 
해당 지표들로 신호를 발생시켜 종목을 매매하고 전략의 수익률이나 승률 등을 살펴보는 방법도 알아본다. 

기술 지표를 활용한 퀀트 투자 방법으로 모멘텀 전략과 평균 회귀 전략을 알아볼 것이다. 평균 회귀와 모멘텀은 서로 상반된 개념이다. 두 전략의 상관관계가 낮고 전략이 초점을 맞추는 시간대도 다르기 때문에 양극에 있는 두 방법을 살펴볼 가치는 충분하다고 볼 수 있다.

가치 투자 전략은 당기순이익, 영업이익, 영업이익률, 매출액, 부채비율, PER, PBR, PSR, PCR, ROE, ROA 등 기업의 가치 판단에 기준이 되는 재무제표 데이터를 기초로 한다. 

가치 투자 전략에서는 기준이 되는 데이터에서 순위를 매겨 분위별로 자르는 작업이 훨씬 더 중요하다. 

하지만 전략 평가는 기술 지표를 활용한 퀀트 투자 방법과 유사하다.

평균 회귀 전략

평균 회귀 (regression to mean)란 결과를 예측할 때 평균에 가까워지려는 경향성을 말한다. 한번 평균보다 큰 값이 나오면 다음번에는 평균보다 작은 값이 나와 전체적으로는 평균 수준을 유지한다는 의미다. 

주식시장에서도 평균 회귀 현상이 통용되는지 검증하려는 많은 시도가 있었다.
이 현상에 의하면, 가격이 평균보다 높아지면 다음번에는 평균보다 낮아질 확률이 높다. 

평균 회귀 속성을 이용한 전략을 들여다보면, 주가의 평균가격을 계산해 일정 범위를 유지하느냐 이탈하느냐에 따라 매매를 결정한다. 현재 주가가 평균가격보다 낮으면 앞으로 주가가 상승할 것으로 기대해 주식을 매수하고, 현재 주가가 평균가격보다 높으면 앞으로 주가가 하락할 것으로 예상해 주식을 매도하는 규칙을 설정할 수 있다. 

볼린저 밴드 Bollinger band

볼린저 밴드는 현재 주가가 상대적으로 높은지 낮은지를 판단할 때 사용하는 보조지표다. 볼린저 밴드는 3개 선으로 구성되는데, 중심선은 이동평균 moving average 선, 상단선과 하단성을 구성하는 표준편차 standard deviation 밴드다.

볼린저 밴드를 사용하는 이유는 이동 평균선으로 추세를 관찰하고 상단선과 하단선으로 밴드 내에서 현재 가격의 상승과 하락폭을 정량적으로 계산할 수 있기 때문이다. 볼린저 밴드는 '추세'와 '변동성'을 분석해주어 기술 분석에서 활용도가 높으며 평균 회귀 현상을 관찰하는 데도 매우 유용하다. 
보통 중심선을 이루는 이동 평균선을 계산할 땐 20일을 사용하고 상하위 밴드는 20일 이동 평균선 ± 2 * 20일 이동 표준 편차(σ)를 사용한다.

그럼 판다스를 사용해 볼린저 밴드 공식을 구현해 보도록 한다.

import pandas as pd
import FinanceDataReader as fdr

df = fdr.DataReader('AAPL', '1997-01-01', '2023-09-12') #애플 주식데이터를 가져온다.
df.head()

가장 먼저 해야할 작업은 데이터를 불러와 탐색해 보는 것이다.
애플('AAPL') 데이터를 실시간으로 불러와 df 변수에 저장한 후 head()함수를 통해 상위 5개 데이터를 확인한다. 
인덱스는 날짜(Date)로 되어 있고, 각 컬럼은 시가(Open), 고가(High), 저가(Low), 종가(Close), 수정 종가(Adj Close), 거래량(Volume) 데이터로 구성된다.

데이터프레임에 있는 describe() 함수를 사용해 데이터셋의 분포, 경향 분산 및 형태를 요약하는 정보를 확인할 수 있다.

df.describe()

위 데이터셋에서 볼린저 밴드 분석에 필요한 컬럼만 선택하도록 한다.

price_df = df.loc[:, [''Adj Close']].copy()
price_df.head()

price_df 데이터셋으로 볼린저 밴드를 만들어 본자.

  • 상단 밴드 = 중간 밴드 + 2*20일 이동 표준 편차
  • 중간 밴드 = 20일 이동 평균선
  • 하단 밴드 = 중간 밴드 - 2*20일 이동 표준 편차

먼저 중간 밴드를 만들도록 한다. 중간 밴드의 20일 이동 평균선은 판다스의 rolling() 함수를 이용하여 만든다.

price_df['center'] = price_df['Adj Close'].rolling(window = 20).mean()
price_df.iloc[18:25]

iloc 인덱서를 사용해 18행부터 24행까지 어떤 값이 들어있는지 확인해 본다. 새롭게 만들어진 center 컬럼은 rolling()함수와 mean()함수로 계산된 20일 이동 평균선을 의미한다.
rolling() 함수 특성상 window 입력값으로 20일을 주었기 때문에 데이터가 20개 미만인 부분은 결측치를 의미하는 NaN으로 표시된다. 

일반적으로 결측치는 어쩔 수 없이 생성되기 때문에 볼린저 밴드에 필요한 기간보다 앞뒤로 더 많은 데이터(보통 쿠션 데이터 cushion data라고 부르는 여분의 데이터)를 추가하여 분석을 해야 한다. 실무에서는 생성하려는 자료를 고려해서 작성하는 것이 중요하지만, 여기서는 결측치가 발생한 행을 삭제한다.

중간 밴드를 만들었으니 이번에는 상단 밴드와 하단 밴드를 만든다.

price_df['ub'] = price_df['center] + 2 * price_df['Adj Close'].rolling(window=20).std()
price_df.iloc[18:25]

상단 밴드는 'ub'라는 컬럼으로 만들고, 표준 편차를 계산하는 std() 함수로 이동 표준 편차를 구한다.

price_df['db'] = price_df['center'] - 2 * price_df['Adj Close'].rolling(window=20).std()
price_df.iloc[18:25]

볼린저 밴드는 다음에 재활용할 수 있도록 파이썬 함수로 만들어 저장하면 편리하게 사용할 수 있다.

n = 20
sigma = 2
def bollinger_band(price_df, n, sigma):
    bb = price_df.copy()
    bb['center'] = price_df['Adj Close'].rolling(n).mean() # 중앙 이동 평균선
    bb['ub'] = bb['center'] + sigma * price_df['Adj Close'].rolling(n).std() # 상단밴드
    bb['db'] = bb['center'] - sigma * price_df['Adj Close'].rolling(n).std() # 하단밴드
    return bb
    
bollinger = bollinger_band(price_df, n, sigma)

그 다음 기간을 나눠 볼린저 밴드를 활용한 전략의 성과를 확인해 보자.

base_date = '2008-01-02'
sample = bollinger.loc[base_date:]
sample.head()

base_date 변수에 새로운 날짜를 할당하고 설정된 날짜 이후 데이터로 전략 성과를 확인한다. 

평균 회귀 전략에서 진입/청산 신호가 발생할 대 우리가 취하는 행동을 기록할 데이터프레임을 만들어보자. 앞으로 이러한 데이터프레임을 trading book이라고 명명한다. 

다음 book 변수를 만들어 거래내역 컬럼을 만든다.

book = sample[['Adj Close']].copy()
book['trade'] = '' # 거래내역 컬럼
book.head()

위 코드를 함수화 하면 다음과 같다.

def create_trade_book(sample):
    book = sample[['Adj Close']].copy()
    book['trade'] = ''
    return(book)

이번에는 볼린저 밴드를 활용한 전략 알고리즘을 만들어 본다.

반응형

트레이딩 전략 알고리즘에 대한 전체 코드는 다음과 같다.

def tradings(sample, book):
    for i in sample.index:
        if sample.loc[i, 'Adj Close'] > sample.loc[i, 'ub']: # 상단밴드 이탈시 동작 안함
            book.loc[i, 'trade'] = ''
        elif sample.loc[i, 'db'] > sample.loc[i, 'Adj Close']: # 하단밴드 이탈시 매수
            if book.shift(1).loc[i, 'trade'] == 'buy': # 이미 매수 상태라면
                book.loc[i, 'trade'] = 'buy' # 매수상태 유지
            else:
                book.loc[i, 'trade'] = 'buy'
        elif sample.loc[i, 'ub'] >= sample.loc[i, 'Adj Close'] and sample.loc[i, 'Adj Close'] >= sample.loc[i, 'db']: # 볼린저밴드 안에 있을 시
            if book.shift(1).loc[i, 'trade'] == 'buy':
                book.loc[i, 'trade'] = 'buy' # 매수상태 유지
            else:
                book.loc[i, 'trade'] = '' # 동작 안함
    return (book)

이 전략의 특징은 장기 보유보다는 과매도 / 과매수 구간을 포착하는 단기 매매에 더 효과적이라고 해석한다. 

완성된 거래 전략을 수행하면 다음과 같이 거래내역이 기록된 것을 확인할 수 있다. 

book = tradings(sample, book)
book.tail(10)

다음은 트레이딩 book에 적혀있는 거래내역대로 진입/청산 일자에 따른 매수/매도 금액을 바탕으로 수익률을 계산해 보자.

def returns(book): # 손익계산
    rtn = 1.000
    book['return'] = 1
    buy = 0.0
    sell = 0.0
    for i in book.index:
        # long 진입
        if book.loc[i, 'trade'] == 'buy' and book.shift(1).loc[i, 'trade'] == '':
            buy = book.loc[i, 'Adj Close']
            print('진입일 : ', i, 'long 진입가격 : ', buy)
        #long 청산
        elif book.loc[i, 'trade'] == '' and book.shift(1).loc[i, 'trade'] == 'buy':
            sell = book.loc[i, 'Adj Close']
            rtn = (sell-buy) / buy + 1 # 손익 계산
            book.loc[i, 'return'] = rtn
            print('청산일 : ', i, 'long 진입가격 : ', buy, '| long 청산가격 : ', sell, '| return:', round(rtn,4))

        if book.loc[i, 'trade'] == '' : # 제로 포지션
            buy = 0.0
            sell = 0.0

    acc_rtn = 1.0
    for i in book.index:
        rtn = book.loc[i, 'return']
        acc_rtn = acc_rtn * rtn # 누적 수익률 계산
        book.loc[i, 'acc return'] = acc_rtn

    print('Accumulated return : ', round(acc_rtn, 4))
    return (round(acc_rtn, 4))

수익률을 저장한 변수와 book변수에 수익률 컬럼을 만든다.
for-loop문을 돌면서 포지션 여부에 따라 수익률을 계산해 데이터프레임에 저장하고, 최종적으로 누적 수익률을 계산한다.

print(returns(book))

변화 추이를 한눈에 보고 싶다면 누적 수익률을 그래프로 그려보자.

import matplotlib.pylab as plt
book['acc return'].plot()

백테스팅이라는 불리는 과정을 통해 실제 데이터를 가지고 확인을 해봐야 자신이 만든 전략의 신뢰도를 높일 수 있다. 여기서는 간단하게 과거 데이터를 통해 평균 회귀 전략에 대한 기본 개념을 정리해 본 것이다. 따라서, 이 전략을 바로 활용하기는 어렵다고 생각한다. 또한 평균 회귀 전략이 모든 종목에 적합한 것도 아니다.
그렇기 때문에 본인의 투자 철학과 해당 주식에 대한 면밀한 파악을 통해 전략을 수립하고 실행하도록 해야 한다.

반응형
반응형

95%의 인간은 타고난 운명 그래도 평범하게 살아간다. 이들을 순리자라 부른다.
5%의 인간은 정해진 운명을 거스르는 능력을 갖고 있다. 이 능력으로 경제적 자유를 통해 인생의 자유를 얻는다.
이들을 역행자라 부른다. <역행자의 들어가는 글, 저자 자청>

역행자의 7단계 모델

1단계 자의식 해체
2단계 정체성 만들기
3단계 유전자 오작동
4단계 뇌 자동화
5단계 역행자의 지식
6단계 경제적 자유를 얻는 구체적 루트
7단계 역행자의 쳇바퀴

저자는 각 단계별로 연쇄 반응과 같은 상호 연관 작용이 있기 때문에 7단계를 반복적으로 밟아가야 하는 것이 중요하다고 얘기한다. 각 단계에 대한 이해를 돕기 위해 정리해 보았다.

※ 인간에 대한 이해

인간은 무의식, 자의식, 유전자에 의해 조종된다.
무의식은 스스로의 한계를 규정짓고 자의식은 끊임없이 합리화를 유도하여 발전을 가로막는다.
그리고 우리의 유전자는 선사 시대에 최적화되어 있다. 
가장 먼저 무의식을 바꿔야 한다.
자신과 똑같은 상황에서 자유를 얻어낸 이야기를 50여개 정도 듣게 되면 무의식에는 균열이 생길 것이다.
이 균열을 만든 뒤 7단계 모델을 밟아나간다.

  • 하루 2시간 동안 책을 읽거나 글을 쓰고, 나머지 시간은 쉰다. 뇌를 업그레이드하는 가장 좋은 방법이다.
  • 하루에 한 번, '5분 생각'의 시간을 갖는다. 이 여백의 시간을 통해 하루하루 복리로 좋은 결정이 쌓일 수 있다.
  • 적극적으로 논다. 그리고 무조건 7시간 이상 숙면한다. 노는 것은 인간의 행복과 건강에 필요하며 창의성의 원천이 된다.
  • 책을 읽기 싫다면 1주일에 하루, 그것도 30분만 읽자. 이런 차이는 훗날 나비효과처럼 극적으로 되돌아온다.

저자는 세상에 대한 공략집이 존재한다고 생각한다.
그래서 그저 공략집 순서대로만 움직이면 목표를 달성할 수 있다고 말한다.
적어도 경제적 자유를 얻을 수 있다고 말한다.

돈, 외모, 공부 모두 최악이라고 생각했던 젊은 저자가 절실하게 생각하며 붙들고 있던 것은 성공한 사람들은 모두 책 읽기와 글쓰기를 많이 한다고 믿고 본인도 무슨 일이 있어도 하루 2시간씩 책을 읽고 글을 쓰기로 한 것이다. 이런 단순한 믿음으로 2년간 매일 2시간씩 책을 읽었다고 한다. 

'한번에 큰돈을 버는 일은 없다. 사람은 제 그릇만큼 돈을 가져갈 뿐이다. 남을 탓하기보다는 내 문제에 집중하자.'  

1단계 자의식 해체하기

대다수는 자의식을 보호하기 위해 온갖 방어기제로 일생일대의 정보를 쳐낸다.
대다수의 사람들은 자의식을 꼭두각시 줄에 놀아난다. 이 끈을 잘라내야만 자유로 전진할 수 있다.
우리의 뇌는 우리 몸과 마찬가지로 가급적 안정된 상태를 유지하고 싶어하기 때문에, 급한 문제는 오래 생각할 필요 없이 바로 반응하고, 별로 중요하지 않은 문제에는 대충대충 둘러대면서 뇌는 가급적 적은 에너지로 많은 일을 처리한다. 

하지만, 자의식이 지나치면 오늘날에는 여러 부작용을 낳는다. 
자의식은 몇십만 년을 인류와 함께해 온 끈질긴 본능이다. 우리 유전자가, 타고난 본성이 자의식을 키운다. 게다가 현대 사회는 더욱 자의식을 부풀린다. 자기 자식을 애지중지 키우는 부모들, 남들의 관심을 받기 위한 온갖 SNS가 가득한 비대한 자아에 펌프질을 가한다.

자의식을 만족시키면 당장은 행복할 수 있다.
하지만 자기를 객관적으로 보지 못하면, 해야 할 일을 제때 하지 않으면, 인생이 꼬이고 가난이 찾아온다. 
자의식은 인간을 크게 성장시키는 원동력이기도 하면서, 인생을 불행과 가난으로 떨어뜨리는 아주 무서운 것이기도 하다.
자의식의 문제점을 철저히 깨달은 사람은 인생의 방향을 크게 틀 수 있다.
본능이 시키는 대로 살지 않고, 살아야 하는 대로 살게 되기 때문이다. 자의식이 굳어지면 일종의 방어막 같은 것이 쳐지면서, 새로운 생각과 사람, 기회 등을 흡수하지 못하게 된다. 

만약 어떤 사람을 만나 불편한 감정을 느끼게 되면, '자의식 해체'라는 단어를 떠올려본다.
그리고 이 불편한 감정이 어디서부터 온 것인지, 어떤 열등감이 자극됐는지 생각한다.
이런 '탐색'이 자의식 해체의 1단계다. 
1단계 '탐색'은 종종 누군가의 발언이나 존재에 불쾌함을 느낀다면 그 원인이 '자의식'때문은 아닌지 알아보는 것이다. 
그 다음 2단계는 '인정'이다. 내가 질투하는 것일 수도 있겠구나.
질투라 인정하고 일단 상대방이 어떤 포인트에서 인기가 있는지 흡수해야지 등 학습의 기회로 삼을 수 있다. 누군가를 처음 만났을 때 이유없이 빈정 상하는 건, 의식하지 못할 뿐 무의식이 발동한 것이라고 할 수 있다. 그러면 내 내면에는 자아를 지키기 위해 이런 저런 반응을 펼칠 준비를 한다.
자의식 해체는 이 단계로 넘어가지 않기 위한 노력이다.
마지막 3단계는 '전환'이다. 자의식 해체는 그저 흥분을 가라앉히는 방법이 아니다.
내가 발끈하거나 열등감에 사로잡히는 그 순간을 거꾸로 이용하는 스킬이다. 
자의식을 해체하지 못하는 이상, 어린 시절 자신이 그토록 혐오하던 '꼰대', '별 볼 일 없는 사람'이 되어버린다. 

 

2단계 정체성 만들기

정체성을 먼저 바꾸면 변화가 쉽게 만들어진다.
반면 정체성을 바꿀 수 있는 기회를 놓치면 계속 순리자로 살게 된다. 저자는 책을 통해 변화를 맞게 되었다. 책들은 패배주의에 사로잡힌 머릿속에 새로운 소프트웨어를 깔아주는 설치 가이드였다. 
자의식 해체를 이루었다면, 새로운 자의식을 세워야 한다.
정체성은 삶의 동기다. 이걸 자유 자재로 이용하면, 정말 놀라운 일이 벌어진다. 
다들 돈, 돈 하니까 돈에 관심이 많은 것 같지만 실제로 우리는 '정말로' 돈을 벌고 싶어하지 않는다.
왜냐하면 돈 버는 것과 관련된 '행동'을 하지 않기 때문이다.
그냥 큰돈을 벌고 싶다는 막연한 '생각'만 갖고 있는 몽상가에 가깝다. 
정체성 변화는 좌절, 열등감, 생존 위기, 동기부여, 책 등 다양한 계기로 일어난다. 
종종 사람들은 '나는 MBTI가 I형이라서 내향적이야', '나는 신경성이 높아서 예민해', '나는 공 운동은 못해', '나는 A형이라 소심해'라고 본인을 틀에 가둬버리곤 한다. 정체성을 변화시킴으로써 본인만의 틀을 깨버려야 한다. 정체성을 본인의 한계에 가두는 건 순리자들의 특징이다.

정체성 변화의 핵심 비결은 뭔가를 더 잘하고 싶으면 결심을 할 게 아니라 환경부터 만드는 것이다.
자동으로 움직일 수 밖에 없도록 세팅을 하면 저절로 열심히 살게 된다.
자유의지니 노력이니 진정성 같은 듣기 좋은 말을 믿는 대신 나를 훈련시킬 운동장을 만들어 스스로를 밀어 넣는 게 핵심이다. 
정체성을 변화시킬 환경을 만드는 방법 중 하나가, '나는 OO가 된다'라는 결심을 종이에 100번씩 쓰거나, 이 결심을 모든 벽에 붙이는 것이다. 이렇게 진심을 담아 100번씩 소원을 써보는 행위는 무의식에 깊이 각인이 될 것이다.

정체성을 바꾸는 몇가지 방법을 나열해 보자.
정체성을 바꾸는 가장 쉬운 방법은 관련 책을 읽는 것이다. 
다른 방법은 목표를 사람들에게 선언하고, 그걸 못 이룰 경우 벌금?을 내는 일이다. 

 

3단계 유전자 오작동

진화의 목적은 완벽함이 아니라 생존이다.

인간의 중뇌는 아주 오래된 후뇌 위에 말 그대로 얹혀 있으며, 이 두 뇌 위에 다시 전뇌가 얹혀있다. 이렇게 처음부터 새로 시작하는 것이 아니라 옛 체계 위에 새 체계가 얹히는 썩 아름답지 못한 과정을 앨먼은 '기술들의 누진적인 중첩'이라고 표현했다. 그리고 이런 과정의 최종 산물은 클루지가 되기 쉽다 <클루지, 개리 마커스>

조심성 강한 유전자는 살아남기 위해 과거에는 꼭 필요한 것이었지만 오늘날엔 열등한 것, 즉 클루지로 남았다. 유튜브나 블로그, 새로운 플랫폼에 도전하다 실패해도 죽지 않는다. 그러나 우리의 겁쟁이 클루지와 게으른 뇌는 '쓸데없는 짓 하지 말고 포테이토칩이나 먹어라'하고 명령을 내린다. 오늘날에는 아무것도 하지 않는 것이 '자유 박탈'이라는 결과를 낳는다. 
또 하나, 사람들에게 막대한 피해를 주는 클루지 바이러스로 소외감이 있다. 인간은 살아남기 위해 사회생활에 최적화되게 진화했다. 자기 평판에 아주 민감하게 반응하고, 남 이야기에 놀라울 정도로 관심을 가진다. 
가장 일반화된 클루지 바이러스로 인지적 편향, 즉 편견을 들 수 있다. 사람이 뱀 같은 모양을 보면 깜짝 놀라는 것, 다리 많은 독충 같은 것을 징그러워 하는 것, 쓴맛이 나거나 냄새가 이상한 것을 먹으면 토하는 것도 예전엔 인류 생존에 큰 도움을 주는 편향이었을 것이다.

하지만 오늘날에는 전체의 일부만 보고 재빨리 판단하는 어림짐작은 때로 큰 손해를 초래한다. '그거 내가 해봐서 아는데'만 반복하면서 무엇에도 도전하지 않는 사람들이 널려 있다. 물론 그들은 착실한 순리자의 삶을 살고 있다. 

유전자 오작동이 실제 작동하는지 예를 들어보자.
유튜버를 시작하려고 할 때 내면에서 '촬영장비가 없어서', '욕 먹을까 봐', '이미 레드오션이라서' 등과 같이 우리는 새로운 무언가를 실행하는 것을 망설이도록 진화했다.
이미 너무 늦어버렸다고 생각하는 것도 유전자의 오작동일 뿐이다. 지금 시작하면 100명 중 90등으로 늦게 출발하는 거라는 착각은 오작동일 뿐이다. 인간은 모두 심리적 오류에 시달린다.
내가 만약 지금이라도 유튜버를 시작한다면, 100명 중 2등으로 출발하는 것이다. 절대 늦은게 아니다.
모든 사람이 유전자 오작동에 시달리고 있을 때가 오히려 기회다. 

반응형

4단계 뇌 자동화

두뇌가 한번 최적화를 끝내면, 평생 자연스럽게 지능이 발달한다.
지능 발달은 복리의 성향을 띠어, 시간이 갈수록 지능이 눈덩이처럼 자동으로 높아진다. 
과거의 과학자들은 지능이 고정되어 있다고 믿었다. 사람의 지능은 유전자에 의해 거의 결정되며, 아무리 공부를 한다고 해도 성인이 된 후에는 더 발달하지 않는다고 믿었다. 
근육을 단련하듯이, 두뇌도 단련할 수 있다. 뇌를 성장시키기 위해선 책 읽기와 글쓰기가 가장 효율적인 방법이다. 2년간, 매일 2시간씩 책을 읽고 글을 쓰는 것을 말한다. 
인생을 바꾸는 방법은 간단하다. 의사 결정력을 높이면 된다. 인생이라는 미로에서 남들은 막다른 길로 갈 때, 나는 출구를 향한 길을 고르면 된다. 

자의식을 해체하고 뇌를 최적화해서, 남들이 보지 못하는 기회를 포착하면 인생이란 게임이 진행될수록 당신은 레벨업된다. 

독서를 하게 되면 다양한 뇌 영역이 서로 정보를 주고 받으면서 활성화되고, 뇌 세포의 증가로 뇌 신경망이 촘촘해진다. 쉽게 말해 지능이 높아진다. 근육이 증가하듯, 뇌 근육이 증가하여 코어가 강해진다. 
독서 외에 글쓰기까지 해야 하는 이유는 무엇일까? 글쓰기는 내가 생각하는 것을 조합하고 저장할 수 있게 도와준다. 완전한 지식으로 굳히기 위해서는 글쓰기를 해야 한다. 규칙적으로 2년간 2시간씩만 글쓰기와 독서를 하자. 아주 쉬워 보이지만 실제 실행하는 사람은 극소수일 것이다.
95%의 사람들은 곧 포기할 것이다. 그게 인간의 본성이기 때문이다. 
부자들의 인터뷰를 보면 공통적으로 하는 말이 있다. '돈은 처음에는 거의 모이지 않지만, 한번 벌기 시작하면 기하급수적으로 늘어납니다.'

사업이든 투자든 실패하는 사람들을 보면 당장 내일 인생이 끝날 것처럼 너무 조급해한다. 
정말 가진 게 없고 뭘 해야 할지 모르겠는가? 카카오 대리운전을 해라. 쿠팡 물류 알바를 해라. 카페 알바든 뭐든 해라.

그러면서 그곳에서 일어나는 현상들을 공부하고 책을 읽어라.
화술 책을 독파한 후 운전을 해라. 손님이 말을 걸면 뱅누 걸 써먹어봐라.
카페 알바를 한다면 카페 창업과 관련된 책을 20권쯤 읽어라. 쓸모없이 일하는 시간은 없다. 

안 좋은 환경에 있으면 세상이 온통 부정적으로 보이고 무엇도 하기 싫어진다. 하지만 시키는 대로 살면 계속 '반응'만 하며 살게 된다. 유전자가, 본능이, 세상이 만들어놓은 궤도 위를 불만 가득 품고 걷다가 죽을 것인가. 
본능을 거슬러야 한다. 미래를 그리며 본능을 억누르는 사람만이 운명을 거스를 수 있다.

뇌는 그저 생존만을 위해 에너지를 적게 쓰고 효율적으로만 작동하려 하지만 이런 방식은 원시 시대에는 효과적이었을지 몰라도 현대를 사는 우리에게는 불리할 때가 많다. 
이 게으른 뇌를 어떻게든 깨우고, 새로운 정보를 받아들여 새로운 것을 만들게 하고, 그 생각들이 외부 현실에서 구현되도록 만들고, 거기에서 다시 새로운 정보가 만들어져 뇌를 자극하는 일련의 선순환 루프를 만들어야 한다. 

과학 분야의 노벨상 수상자들은 문학이나 역사 등 다른 분야에 대한 관심과 이해가 높았다. 창의성이나 지혜는 통합적 사고에서 나온다. 멋진 아이디어를 내거나 기상천외한 해법을 발견하기 위해선 뇌의 여러 영역을 자극할 필요가 있다는 말이다. 

새로운 경험! 사업을 하다 보면 위기가 찾아온다. 상식적으로는 경영학 책을 읽는 게 타당해 보인다. 하지만 역사물을 보거나, 과학 관련 다큐 또는 유튜브를 보면서 자연스럽게 해결책이 떠올라 기적처럼 문제가 해결되곤 한다. 
해당 분야의 책을 읽을 때는 뭔가 더 진전이 안되는 느낌이다가, 전혀 다른 분야의 콘텐츠를 볼 때 갑자기 더 높은 레벨에서 뭔가 파바박 떠오를 때가 많다. 

운동은 행복감을 증진시킬 뿐만 아니라 대부분의 우울증을 치료해준다. 뿐만 아니라 뇌의 효율을 극대화할 수 있다. 1주일에 두 번 정도의 운동은 몸의 노화를 막고, 행복도를 높이며, 창의성과 의사 결정력을 극도로 높여준다. 
격렬한 운동이 아니라, 안가본 길, 새로운 동네를 가보는 산책을 권한다. 모르는 곳을 걷다 보면 뇌에 새로운 지도가 만들어진다. 새로운 공간을 탐색하면서 뇌는 공간지능 및 신체운동지능 등을 총동원하게 된다. 빠른 걸음으로 20분 정도 걸으면 뇌 혈류량이 증가해 뇌 자극이 더욱 강해지고 운동 효과까지 덤으로 얻을 수 있다.

수면도 매우 중요하다. 사람마다 다르겠지만 통상 6~9시간 수면이 최상의 컨디션을 유지하게 해준다. 잠을 많이 자야 하는 가장 중요한 이유 중 하나는, 장기기억화다. 잠은 뇌 최적화에 꼭 필요한 행위다. 

충분한 잠과 함께 멍 때리기도 필요하다. 여행 가서 아무 생각 없이 먼 곳을 바라보는 것, 좋은 풍경을 보면서 가만히 있는 것, 이런저런 생각을 하면서 샤워하는 것 등을 말한다. 여행을 뇌를 자극하고, 기존에 쌓아두었던 지식들을 통합하거나 정리해준다. 

 

5단계 역행자의 지식

인간은 본성과 유전자의 꼭두각시로 살아간다. 그렇기 때문에 어린 시절 소망했던 '특별한 인생'은 점차 사라져가고 인생에 순응하게 된다.
본성을 역행하는 지식을 알고 있다면, 순리자와는 다른 삶을 살 수 밖에 없다.
역행자가 된다고 해서 하루아침에 자유를 얻는 일은 없을 것이다. 1년 만에 자유를 얻을 확률도 극히 낮을 것이다. 하지만, 3년, 5년, 10년 후면, 일반인과 현격한 차이를 갖게 될 것이다. 

공짜로 생긴 돈의 10%는 상대에게 돌려준다는 철칙을 세워두었다. 
젊은 나이에 자수성가했다는 살마들을 수백 명 만나봤지만, 대부분은 밥을 사거나 고마움을 표시하는 데 돈을 아끼지 않았다. 사람들 생각과는 다르게, 부자들도 상당히 검소한 편이다. 
주변에 인색한 사람 중에 젊은 나이에 경제적 자유를 얻은 사람을 한 사람도 본 적이 없다.
역행자라면 단기 손실을 감수하고서라도 장기적인 투자를 해야 한다. 밥을 사는 것조차 못 하는 사람이 이런 판단을 잘하기 어렵다. 당연히 성공할 확률도 매우 낮다. 

잘되는 사람은 절대 아끼지 않는다. 어떻게든 사람을 도우려 하고 모든 것을 퍼주려 한다. 기버 성향을 갖고 있다. 그러니 당신도 기버가 되는 것에 대해 고민해 봐라.
월 200만원을 벌고 있더라도, 고마운 상대에게 밥 한 번 사는 건 어려운 일이 아니다. 정말 돈이 없다면 뭐든 정성을 보이면 된다. 1~2만원짜리 선물도 괜찮다. 

인간은 이득보다 피해에 대해 과도하게 생각하는 경향이 있다. 이를 '손실 회피 편향'이라고 부른다. 
현대 사회에선 사실 손실 회피 편향이 별로 필요 없다. 인생 게임은 태어날 때 로그인한 후 죽을 때에야 로그아웃하는 초장기 게임이다. 인생을 살면서 늘 의사결정이 어렵다. 결과를 확실히 알 수가 없기 때문이다. 그렇기에 '기버 이론'과 함께 말하고 싶은 것이 바로 '인생은 확률 게임'이라는 점이다. 확률 게임 이론은 매 순간 역행자가 올바른 선택을 하게 해주는 도구다. 

어떤 의사 결정을 할때마다 분노, 소망, 자존심, 본능의 방해를 받는다. 인간은 사실상 동물이기 때문에 매우 감정적이다. 특히 급박한 위기 상황일 때 원시 유전자는 감정적인 행동을 부추긴다. 
인생도 이성적으로 결정해야 결국 승리한다. 자의식 해체하고 뇌를 최적화해야 한다고 강조한 것도 이 때문이다. 우리 유전자는 손실에 유난히 민감하게 반응하도록 세팅돼 있다. 그런 클루지 때문에 잘못된 판단을 하지 않도록 자신을 객관적으로 돌아봐야 한다. 인간의 뇌로 파충류의 뇌, 포유류의 뇌를 억눌러야 한다. 

인간은 본래 제대로 배운 일 하나를 죽을 때까지 하도록 설계되어 있다.
과거의 대장장이는 사는 내내 그 일만 했고, 농사꾼도 이미 한 번 체득한 지식으로 평생을 살아갔다. 그걸로 충분했다. 
현대는 하나의 일만 하라는 뇌의 명령에 역행해야 자유를 얻을 수 있다. 하나의 일 대신 3~4개의 얕은 기술들을 습득해야 한다. 어떤 분야에서 상위 1퍼센트가 된다는 건, 타고난 재능에 노력이 합쳐져야 가능한 일이다. 하지만 상위 20% 정도, B정도의 실력은 누구나 노력만 하면 얻을 수 있다. 이 B 정도의 무기를 몇 가지 수집하면, 대체불가능한 사람이 된다. 이 타이탄의 도구들을 모아서 함께 갖추면 나만의 새로운 경쟁력을 갖게 되는 것이다. 

1) 온라인 마케팅 : 사업을 하다 보면 반드시 자신의 상품을 판매해야 하는 시점이 오는데, 이때 대표적인 온라인 마케팅 방법들을 알고 있는 것만으로도 사업을 확장하고 좋은 아이디어를 얻을 수 있다.

  • 블로그 마케팅 : 사람들이 블로그를 '한물간 것'으로 취급한다. 하지만 여전히 블로그가 최고라고 생각한다. 블로그의 제목에 당신이 잡고 싶은 키워드를 써라. 당신이 공략하고 싶은 키워드를 다섯 번 반복해서 블로그 본문에 써라. 이게 끝이다.
  • 인스타그램과 유튜브 : 관련 강의를 듣고 책을 읽어 '이런 시스템으로 굴러가는구나'를 꼭 이해해둘 필요가 있다. 팔로워와 구독자를 늘리는 콘텐츠 만드는 법, 스폰서 광고, 유튜브 광고 등을 검색해서 알아둬야 한다. 이런 지식은 습득해두면 1~2년 안에 다른 지식들과 결합해 아이디어가 팡 튀어나오게 된다.
  • 네이버 스마트스토어 : 관련 강의, 책, 유튜브를 보고 따라 해보면 된다. 

2) 디자인 : 디자인도 아주 가성비 좋은 기술 중 하나다. 디자인을 한번 배워두면, 여러모로 쓸모가 있다. 본격적인 사업가들은 잘 들어오지 않는 분야이며, 디자이너들은 뇌구조상 대다수가 사업 성향이 없기 때문에 경쟁자가 없다. 그래서 약간의 디자인 실력과 수완만 있다면 대박이 날 수 있다. 전형적인 'B 레벨 3개 모으기'가 통하는 시장이다.

3) 동영상 편집 기술 : 영상 편집 기술도 광범위하게 활용될 수 있다. 좀 더 확실하게 익히려면, 스스로 유튜브를 운영해보거나 지인의 유튜브를 돕는 것도 방법이다. 나중에 전문가에게 맡기게 되더라도, 본인이 어느 정도 알아야 한다. 

4) PDF 책 제작과 판매 : 최근 들어 PDF 책 제작 붐이 일고 있다. 일반적으로 출판사를 통해 책을 판매하면 정가 15,000원의 10%인 1,500원이 작가에게 돌아간다. 그러나 PDF 책을 만들어 직접 판매하는 경우 1만원 짜리를 하루 10권만 팔아도 매달 300만원의 순수익이 생기게 된다. 물론 절대 쉬운 일은 아니다. 다만 누구나 시도해볼 수는 있고 수익률도 높다는 장점이 있다.

5) 프로그래밍 : 프로그래밍은 타이탄의 도구들 중 최고 수준의 무기다. 시가총액 최고 수준의 신흥 기업들은 모두 IT기반 기업들이다. 창업자들은 모두 프로그래밍을 할 수 있었다. 프로그래밍 능력이 강점을 갖는 이유는 무한 복제 덕분이다. 

대부분의 사람들이 자유를 얻지 못하는 이유를 '판단력'이 흐리기 때문이라고 한다. 자아로 인해 대부분 주관적으로 판단하는데, 이 또한 결국 본성에 휘둘리며 운명의 흐름대로 사는 결과다.

메타인지란 자신의 현재 상황을 객관적으로 아는 능력이다. 메타인지가 그 어떤 지능보다 중요하다는 말들을 많이 하는데, 메타인지가 획득하기 매우 어려운 복합적인 능력이기 때문이다. 본인에게 무엇이 부족한지 알기 때문에 이 부분을 보완하려고 애쓰게 되어 저절로 발전이 이뤄진다. 
대부분의 순리자들은 '나는 이미 다 알아'라며 착각하거나, '난 해도 안돼'라며 스스로를 과소평가한다. 이게 바로 유명한 '더닝-크루거 효과 Dunning-Kruger Effect' 다. 

메타인지를 높이기 위한 방법은 독서와 실행력이라 생각한다. 책에서 습닥한 자신감과 함께 실행을 통한 실패 경험으로 메타인지를 높이게 된다. 본인이 어떤 시험에 도전하거나 현재 직장에서 맡은 일이 있다면 목표를 세우고 결과를 예측해 보자. 그냥 머릿속으로만 자신만만해 하지 말고, 구체적인 목표를 세운 다음 실행을 해보라. 실제 결과가 나오는 일을 실행해보면 메타인지가 상승하게 된다. 

실전 경험과 시행착오가 없는 상황에서는 아무리 책을 읽고 머리를 좋게 만들어봤자 의미가 없다. 그냥 실행해라. 실행한 사람과 하지 않은 사람은 전혀 다른 길을 걷게 될 것이다.

 

6단계 경제적 자유를 얻는 구체적 루트

돈을 버는 근본적인 원리는 간단하다. 돈을 버는 모든 활동은 '상대를 편하게 해주기', '상대를 행복하게 해주기'로 요약된다. 

결국 돈을 버는 핵심은 '문제 해결력'에 있다. 사람들이 어떤 것에 불편함을 느끼는지, 어떤 것에 행복을 느끼는지 알아내야 한다. 그리고 어떻게 불편함을 해결해 행복감을 줄 수 있을지 아이디어를 내고, 실제로 해결책을 마련하면 된다.

경제적 자유라는 성을 함락하기 위해선 반드시 병사라는 도구를 써야 한다.
직장생활로 시작했든, 일용직 노동자로 시작했든, 경제적 자유에 이르는 전략은 결국 2가지로 귀결된다.

첫 번째는 사업, 두 번째는 투자. 
자유를 얻은 사람들은 시작은 각기 달랐지만 그들의 공통점은 투자를 시작했다는 점이었다.
투자는 수많은 병사를 거느릴 수 있는 좋은 방법이다. 

젊은 나이에 경제적 자유를 이룬 사람들은 사업을 한다. 사업도 수많은 병사를 모으기에 좋은 방법이다.
예를 들어 고깃집 하나를 운영하더라도 시스템만 잘 갖춰둔다면 나 없이도 싸우는 병사들이 생겨난다. 경영, 마케팅, 인사 관리 등에 신경을 써서 잘 굴러가게 하면, 다른 점포 3~4개를 더 경영할 수 있다. 사업은 투자와 달리 내가 돈을 들여 사는 것이 부동산이나 주식이 아니라 주로 사람이나 기술 등이다. 사람들에게 보다 직접적으로 제품이나 서비스를 제공해서 문제를 해결해주고 만족감을 준다. 

경제적 자유에 도달하는 길은 '옳은 방법'으로 '오래 연습'하면 그만이다. 
돈을 벌 마음을 가졌다면 정체성 변화가 매우 필요하다. 현재에 안주해선 생존 위기를 겪을 일이 없다. 의도적으로 일을 벌이거나, 부업을 시도해보거나, 모임에 참가해 보잘것없는 자신의 모습을 확인하며 '인생 참 짜증나네'라는 감정을 겪어야 한다. 현실에서 자유롭지 못한 상황이라면 의도적으로 이런 정체성 변화를 주려는 시도가 필요하다.

책을 20권 쌓아두고 읽으면 어떤 일이 벌어질까? 당신의 머리는 온통 그 내용으로 꽉 차게 된다. 머리가 저절로 그쪽으로 돌아가고, 정체성이 바뀌기 시작한다. 이루고 싶은 게 있다면, 관련 분야 책을 10권씩만 꺼내서 훑어보라. 패배할 가능성이 현저히 떨어진다.

책 읽고 글 쓰는 게 너무 지겹다면 투자 혹은 사업을 다룬 유튜브를 보는 것도 방법이다. 유튜브를 본다면, 창업, 기업 경영, 부동산 투자나 경매, 주식 투자 등 다양한 분야의 인터뷰를 보는 것이 좋다. 하루에 3개 이상 필기를 하면서 봐라. 그 다음 블로그에 느낀 점이나 깨달은 점, 내용 요약 등을 정리해 두는 것이 좋다. 

글쓰기는 뇌를 발달시키고 논리성과 창의성을 증진시키는 최고의 방법이다. 20권의 책에서 읽거나 유튜브에서 보고 들은 내용은 블로그 등에 정리해 두어야 한다. 

 

7단계 역행자의 쳇바퀴

역행자의 7단계 모델을 한 바퀴 순환할 때 필연적으로 '실패'를 마주하게 된다. 
당신이 만약 월 천만원을 벌고 있다면, 그 다음엔 천오백만원이 라는 목표가 생긴다. 하지만 이는 완전히 난이도가 다른 게임이다. 반드시 패배에 직면할 수 밖에 없으며, 여기서 인간은 성장한다. 

인생이라는 게임은 '그 다음 목표'가 지금까지 상대해왔던 적들보다 수준이 높을 수 밖에 없기 때문에 실패를 하게 된다. 실패를 통해 '레벨업' 버튼을 누르게 된다. 삶이 안정되면, 도파민은 '새로운 것을 얻어라'라는 명령을 내린다. 이를 얻는 과정에서 고통과 실패를 반복한다. 

실패와 시행착오는 필연적인 것이다.
이 순간에 회피나 합리화보다는 '레벨업 순간이 왔구나!'라고 즐거워하면 된다. 당신의 수준보다 높은 과제가 눈앞에 나타났고 곧 레벨업할 거라는 뜻이니까. 자유와 가까워졌다는 뜻이니까.

반응형

+ Recent posts