from datetime import datetime from src import ui as st from strategies.factors import f_score from db.common import DBManager # st.write(""" # '신F-스코어 3점 + 고GP/A 전략'을 '강환국 슈퍼 퀄리티 전략'이라 명명한다. # 이 전략은 신F-스코어가 3점인 종목을 매수하되, GP/A로 순위를 매겨서 순위가 높은 종목만 매수하는 것이다. # 이 경우 한국에서 수익이 어땠을지 분석해보자. # 연도별로 신F-스코어 3점을 충족하는 종목은 600-700개였다.\n # 신F-스코어 3점 기업 내에서도 GP/A가 높은 종목이 3점 종목 평균보다 CAGR 기준으로 3-4% 더 높았다. # 반대로 GP/A가 낮은 종목의 수익률은 상대적으로 저조했다.\n\n # --- # 투자 전략: 강환국 슈퍼 퀄리티 전략 1.0\n # 레벨: 초, 중급\n # 스타일: 퀄리티\n # 기대 CAGR: 약 20%\n # 매수 전략: # - 신F-스코어 3점 종목만 매수\n # - 여기에 GP/A 순위를 부여, 순위 높은 20-30종목을 매수\n # 매도 전략: 연 1회 리밸런싱\n\n\n # --- # 지금까지 소개한 거의 모든 전략에서 소형주 전략이 전체 주식 수익률보다 높았다. # 시가총액 하위 20% 종목의 CAGR을 분석해보았다.\n\n # --- # 투자 전략: 강환국 슈퍼 퀄리티 전략 2.0\n # 레벨: 초, 중급\n # 스타일: 퀄리티\n # 기대 CAGR: 20% 이상\n # 매수 전략: # 아래 조건을 만족하는 20-30종목 매수\n # - 신F-스코어 3점 종목만 매수\n # - 여기에 GP/A 순위를 부여, 순위 높은 종목만 매수\n # - 단, 소형주(시가총액 최저 20%)만 매수\n # 매도 전략: 연 1회 리밸런싱\n # --- # 소형주 중 신F-스코어가 3점인 종목을 찾아보니 2004-2016년 구간에 80-100개 종목이 남았다. # 그 주식들을 통째로 매수해도 CAGR 34.55%를 벌수 있었다! # 정말 상당한 수익이다. # 이 종목들을 다 샀으면 총 1,159개 종목 중 14개가 파산했다.(1.2%) # 또 1년간 마이너스 수익을 기록한 종목이 29.7%였다.\n # 신F-스코어가 3점인 종목 중 GP/A가 높은 종목 위주로 매수했으면 (1) CAGR도 조금 개선되고 (2) 최상 30개 종목을 매수했을 경우 선택받은 종목 360개 중 파산한 기업은 단 1개였다. # F-스코어와 GP/A는 엄청난 잠재력을 지닌 콤비네이션임이 분명하다. # """) def get_last_year_end(): # 현재 날짜 가져오기 (2025년 3월 16일 기준) today = datetime.now() # 작년 연도 계산 last_year = today.year - 1 # 작년 12월 31일 생성 last_year_end = datetime(last_year, 12, 31) return last_year_end.date() st.write("투자 전략: 강환국 슈퍼 퀄리티 전략 2.0") date = get_last_year_end() data = f_score.get_f_score(DBManager(), date) config = {} st.dataframe(data, column_config=config, use_container_width=True)