목록분류 전체보기 (78)
유자차의 재테크 공부방
듀얼 모멘텀에서 안전자산이 AGG인데 이번년(2022)에 AGG가 방어하지 못했습니다. 그래서 듀얼 모멘텀의 안전자산 방식을 개선한 전략을 강환국님이 만들었습니다. 간단하게, 듀얼 모멘텀의 안전자산 방식을 채권 동적자산배분으로 변형시켰다고 보면 되겠습니다. 전략 로직 1. 공격형 자산의 최근 1년 수익률 비교하여 높은 1개에 투자 2. 만약 SPY가 0이하이면, 안전형 자산 8개의 최근 6개월 수익률 비교하여 가장 점수가 높은 자산 3개(Top3)에 투자 3. Top3 중 0이하인 ETF는 현금(BIL)로 대체 사용 ETF - 공격형(2) : SPY, EFA - 안전형(8) : SHY, IEF, TLT, TIP, LQD, HYG, BWX, EMB 파이썬으로 직접 구현해보기 - 직접 투자할 종목 구해보기 ..
"채권 동적자산배분"전략은 Paul Novell의 Investing for a Living 블로그에서 나온 전략입니다 전략 로직 1. 최근 6개월 수익률이 가장 높은 3개(Top3)에 투자 2. Top3 중 0이하인 ETF는 현금(BIL)로 대체 사용 ETF - 채권(8) : SHY, IEF, TLT, TIP, LQD, HYG, BWX, EMB 파이썬으로 직접 구현해보기 - 직접 투자할 종목 구해보기 채권 동적자산배분 영상

채권 동적자산배분 전략에 따라 다음과 같이 구현하여 매월말 투자할 종목을 구해보았습니다. 전략 로직 1. 최근 6개월 수익률이 가장 높은 3개(Top3)에 투자 2. Top3 중 0이하인 ETF는 현금(BIL)로 대체 import pandas as pd import numpy as np import yfinance as yf # 야후 파이낸스 부르기 ticker = ["SHY", "IEF", "TLT", "TIP", "LQD", "HYG", "BWX", "EMB"] # 데이터 불러오기 df = yf.download(ticker) # 야후 파이낸스에서 tickers에 해당하는 데이터 모두 불러오기 df = df["Adj Close"] # 불러온 데이터 중 Adj Close 데이터만 df.dropna(inp..

변형(수정) 듀얼 모멘텀 전략에 따라 다음과 같이 구현하여 매월말 투자할 종목을 구해보았습니다. 전략 로직 1. 공격형 자산의 최근 1년 수익률 비교하여 높은 1개에 투자 2. 만약 SPY가 0이하이면, 안전형 자산 8개의 최근 6개월 수익률 비교하여 가장 점수가 높은 자산 3개(Top3)에 투자 3. Top3 중 0이하인 ETF는 현금(BIL)로 대체 import pandas as pd import yfinance as yf # 야후 파이낸스 부르기 ticker_agg = ["SPY", "EFA"] ticker_safe = ["SHY", "IEF", "TLT", "TIP", "LQD", "HYG", "BWX", "EMB"] ticker_all = ticker_agg+ticker_safe+["BIL"] ..

quantstasts로 직접 구한 BAA 전략을 분석을 해보았습니다. 코드는 이전 글에서 사용했던 것에 뒷부분을 조금 바꾸어서 사용하였습니다. import pandas as pd import yfinance as yf # 주가 데이터 받기위한 라이브러리 import quantstats as qs # 리포트 형식으로 시각화해주는 라이브러리 # yahoo finance에서 필요 종목들의 공통 시작일부터 종가 데이터 받기 def get_yahoo_data(tickers, type="Adj Close"): df = yf.download(tickers) # df = df["Close"] df = df[type] df.dropna(inplace=True) return df def get_rebal_date(df, ..

BAA 전략을 모르신다면 BAA 이론 정리한 게시물을 읽고 오시면 되겠습니다! 사용하는 라이브러리는 다음과 같습니다. import pandas as pd import yfinance as yf # 주가 데이터 받기위한 라이브러리 import quantstats as qs # 리포트 형식으로 시각화해주는 라이브러리 # yahoo finance에서 필요 종목들의 공통 시작일부터 종가 데이터 받기 def get_yahoo_data(tickers, get_type="Adj Close"): df = yf.download(tickers) df = df[get_type] df.dropna(inplace=True) return df # 리밸런싱 하는 날의 데이터만 뽑기(월말 데이터만 추출) def get_rebal_d..
최근에 BAA라는 동적자사 배분 전략이 나왔습니다. 강환국님의 영상에 따르면, 1970 - 2022.06 백테스트 결과 CAGR 14.6 MDD 8.7 BAA를 자세한 설명은 강환국님이 설명한 유튜브 영상을 시청하시면 되겠습니다 → [링크] BAA 정리 PAA, DAA, VAA의 장점을 섞은 전략 전략 카나리아 자산군의 1-3-6-12 모멘텀 점수가 하나라도 0이하의 점수가 나온다면 안전자산에 모두 양수이면 공격자산에 투자 카나리아 자산 : SPY(미국 주식), VEA(선진국 주식), VWO(개도국 주식), BND(미국 잡채권) 공격 자산 - 중도형(G12) : SPY(미국주식), QQQ(나스닥), IWM(소형주), VGK(유럽주식), EWJ(일본주식), VWO(개도국주식), VEA(선진국주식), VNQ..
문제 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다. 예를 들어, 트럭 2대가 올라갈 수 있고 무게를 10kg까지 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 경과 시간다리를 지난 트럭다리를 건너는 트럭대기 트럭 0 [] [] [7,4,5,6] 1~2 [] [7] [4,5,6] 3 [7] [4] [5,6] 4 [7] [4,5] [6] ..
문제 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. prices의 길이는 2 이상 100,000 이하입니다. 입출력 예pricesreturn [1, 2, 3, 2, 3] [4, 3, 1, 1, 0] 입출력 예 설명 1초 시점의 ₩1은 끝까지 가격이 떨어지지 않았습니다. 2초 시점의 ₩2은 끝까지 가격이 떨어지지 않았습니다. 3초 시점의 ₩3은 1초뒤에 가격이 떨어집니다. 따라서 1초간 가격이 떨어지지 않은 것으로 봅니다. 4초 시점의 ₩2은 1초간 가격이 떨어지지 않았습니다. 5초 시점의 ₩3은 0초간 ..