검색 대상 종목 선정
57
3 câu hỏi đã được viết
안녕하세요. 강사님
다름이 아니오라 우리의 전략은 나스닥에서 상위 25개 종목을 대상으로 데이터를 수집하고 판단하는 것으로 알고 있는데요.
이 종목들의 선정 기준과 향후 시장 변화에 따른 종목 리밸런싱은 어떻게 하는 것이 좋을지 궁금하여 여쭙습니다.
감사합니다~
Câu trả lời 2
0
@Taihak Kim님, 안녕하세요.
선정 기준
현재 25종목은
stock.py의nasdaq_top_100리스트에 고정된 목록입니다. 2025년 4월 프로젝트 시작 때 제가 선정했습니다.엄밀한 "시총 상위 25"는 아닙니다. 나스닥100 상위 비중 종목을 중심으로 하되, 빅테크와 반도체에 편중되지 않게 소비재(COST, PEP, SBUX, MDLZ), 헬스케어(AMGN), 산업재(HON)를 섞었습니다. 그래서 PYPL이나 MDLZ처럼 비중 순위가 낮은 종목도 들어가 있습니다.
25개인 이유는 AlphaVantage 무료 플랜이 하루 25회라 감성분석을 하루에 다 돌릴 수 있는 상한이기 때문입니다.
리밸런싱
자동 리밸런싱은 없고, 수동으로 드물게 하는 걸 원칙으로 합니다. 저희는 대량 우량주 위주로 사전에 검증된 종목을 지정하고 운영하는 것을 목표로 했습니다. 이 시스템에서 종목 교체는 설정 한 줄이 아니라 DB 컬럼 추가, 과거 데이터 백필, ML 재학습까지 같이 가는 작업이라서요.
주기는 연 1회, 나스닥100 정기 변경(12월) 이후를 권합니다.
편입 기준은 시총과 거래대금 상위 유지, 1년 이상 거래 이력, 데이터 소스 커버리지입니다. 편출은 나스닥100 제외나 유동성 급감입니다.
6개월 미만으로 자주 바꾸는 건 비추천입니다. 학습 데이터가 리셋되고, 최근 잘 오른 종목만 넣는 생존편향이 커집니다.
종목을 뺄 때는 보유 중인 종목은 매도가 끝난 뒤에 빼세요.
종목을 바꿀 때 손대는 곳 (해당 내용은 강의를 참고해주시면 됩니다.)
코드:
stock.py리스트,stock_recommendation_service.py의STOCK_TO_TICKER와TICKER_TO_EXCHANGE, kaggle_notebook/predict.py의TARGET_COLUMNSDB:
economic_and_stock_data와predicted_stocks에 종목 컬럼 추가과거 데이터 백필 후 Kaggle 재학습
감사합니다.
0
네! 빠르게 알려주셔서 감사합니다. 참고하겠습니다~
그나저나 최근 매매이력은 어떠신가요?
저는 7월말~ 8월 초에 익절이 비율이 높았다가 8월 5일 이후로는 손절이 급격히 늘었네요. (익절 1회, 손절 9회)
강사님도 비슷하신지 궁금합니다.
0
안녕하세요, 인프런 AI 인턴입니다. Taihak Kim님
강의의 나스닥 상위 종목군은 거래량과 유동성이 충분하고, 실적·뉴스·거시경제 관련 데이터가 풍부한 빅테크 중심의 종목을 대상으로 구성되어 있습니다. 이는 예측 정확도뿐 아니라 자동매매 시 주문 체결과 시스템 안정성을 고려한 선택입니다.
시장 변화에 따라 종목을 리밸런싱할 때는 단순히 티커 목록만 변경하기보다는 다음 순서로 진행하는 것이 좋습니다.
종목 선정 기준 정의
- 시가총액 또는 나스닥 내 순위
- 평균 거래량과 유동성
- 충분한 과거 가격 데이터
- 실적·뉴스 데이터의 확보 가능 여부
- 거래 정지, 상장폐지 등 운영 리스크
- 시가총액 또는 나스닥 내 순위
티커 목록 변경
stock.py의 종목 목록
stock_recommendation_service.py의STOCK_TO_TICKER,TICKER_TO_EXCHANGE
volume_service.py의 관련 종목 목록
economic_service.py의stock_columns
데이터베이스 구조 확인
- 종목별 컬럼을 사용하는 구조라면
economic_and_stock_data,predicted_stocks테이블에 신규 종목 컬럼을 추가하거나 제외 종목 컬럼을 정리해야 합니다.
- 종목별 컬럼을 사용하는 구조라면
과거 데이터 수집 및 모델 재학습
- 신규 종목은 기존 종목과 동일한 기간의 데이터를 확보할 수 없으므로, 해당 종목의 상장 이후 데이터부터 수집해야 합니다.
- 종목 수가 변경되면 모델의 입력 차원이나 예측 대상 컬럼이 달라질 수 있으므로
predict.py등의 설정을 확인하고 모델을 다시 학습해야 합니다.
- 신규 종목은 기존 종목과 동일한 기간의 데이터를 확보할 수 없으므로, 해당 종목의 상장 이후 데이터부터 수집해야 합니다.
리밸런싱은 매일 변경하기보다는 분기별 또는 반기별처럼 일정한 주기를 정해 검토하는 방식을 권장합니다. 변경 시에는 기존 종목과 신규 종목의 데이터 수집 여부, 모델 재학습 완료 여부, 예측 결과의 정상 출력 여부를 함께 확인해야 합니다.
자세한 종목 추가 및 변경 방법은 아래 기존 답변을 참고해 주세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
llm_decision_logs 미적재 문의
1
43
2
연동 문제
1
51
2
5-21 질문이요!
1
67
3
매수 실행 시점 관련
1
41
1
Opus/Sonnet 버전 관련 문의
1
58
2
섹션2 질문이요
1
65
2
섹션1.9 질문입니다!
1
86
3
Kaggle 노트북(predict.ipynb) 관련
1
61
2
git bash .env
1
65
1
알파벤티지 sleep(5) 관련 문의
1
75
2
실전 계좌에서 운영하고 계신 분 계신가요?
1
72
2
클로드
1
66
2
pip install -r requirements.txt
0
68
2
명령 프롬프트
0
72
2
slack 알림 연동 강의 관련
1
82
2
supabase_key 관련
1
98
3
python run.py 실행시 에러 문제
1
103
2
커서창
1
73
2
cursor 환경
1
74
2
개발 환경 준비와 프로젝트 구조 강의 관련
1
65
2
저장 공간
1
73
2
colab 코드 실행시 error
1
65
2
llm_decision_logs 저장 실패(실적 컬럼 불일치)를 어떻게 해결할까요?
2
107
4
kaggle notebook에 service key 설정이 누락된 것 같습니다
1
84
2

