부처님 오신 날 맞이해서 가족들이랑 절 갔다왔다.
나는 굳이 따지면 무교인데. 집은 불교이고, 세례명도 받았고 이슬람 이름도 있다.
버프는 많이 받으면 좋으니까...
주도테마 로직을 교체하고, 일자별 백테스팅을 하며 로직을 업데이트 하다가
특정 일자의 교체가 전체적으로 영향을 주는 경우가 빈번하여 더 직관을 살려 거시적인 프로세스의 개선이 필요함을 체감했다.
무엇을 살 것인지 정하는 것에서 시작했다면, 그것보다 더 근본적인 어떤 스타일로 매매할 것인지 정한다.
원하는 매매 스타일은 데이 트레이딩이며, 주도테마 & 대장주가 파악되었다면 그것만 1~2번 매매하는 것이다.
그래서 지금 테마 교체, 대장주 교체 횟수를 체크해보니 아래와 같이 매우 빈번한 날도 있다.
테마 교체보다 대장주 변경에 주목한다. 동일한 테마라도 이름만 변경될 수가 있고, 결국 매매하는 종목은 대장주 1개니까.
지금은 너무 많다. 왜일까.. 가설을 생각해보고, 검증해본다. 집중과 직관이 필요하다.
현재 저장한 데이터는 아래와 같다. 가능하다면 이 데이터만을 후처리해서 주도테마/대장주를 파악하고 싶다.
- 시간 : datetime
- 거래대금 : int
- 상승률 : int
- 테마 : List(str)
주도테마 판단 필터링 (25-05-07 기준)
- 테마 최소 종목 수 : 3
- 평균 상승률 하한 : 3
- 종목 당 최소 상승률 : 3
최소 3%이상은 오른 종목들이 3개 이상 모인 테마가 주도테마 후보이다. 라는 생각이다.
1. 모든 종목이 3% 이상 올라야할까?
- 이미 +인 종목만 데이터 분석 대상인데 필터링이 필요한가?
- 대장주 + 2등주까지는 이해하는데 3등주까지도 조건이 필요한가?
-> 필터링 제거 결과 : 수익률 %p 감소 & 테마 교체 횟수 증가
- 필터링 조건 변경 : 백테스팅 결과 2% 상승 필터링 조건이 수익률이 제일 좋다. (1, 2, 3% 테스트함)
2. 관계 없는 테마는 어떻게 처리하지?
- 25.04.02 테마를 분석하는 중. 로봇 & 의류가 번갈아가며 테마가 교체되는 경우를 포착했다.
- 체크를 해보니, 이날은 이재명 테마주가 오른 날인데 오리엔트정공, 형지글로벌, 형지I&C.. 이런 주식만 오른 날이다
- 이재명 테마를 업데이트해주니 깔끔해졌다. (수익률만)
3. 하위 테마는 어떻게 처리하지?
- 25.04.02 같은 경우는 정치/인맥(이재명) 테마가 더 커서 패션/의류를 포함하는 걸텐데, 이걸 어떻게 판단할 수 있을까?
- 동일종목들이 테마에 포함되는 경우에는 큰 테마로 귀속 시키는 건 어떨까?
themes_to_remove = set()
themes = list(theme_perf.items())
for i in range(len(themes)):
theme_i, items_i = themes[i]
codes_i = {code for code, _, _ in items_i}
for j in range(len(themes)):
if i == j:
continue
theme_j, items_j = themes[j]
codes_j = {code for code, _, _ in items_j}
if codes_i.issubset(codes_j) and codes_i != codes_j:
themes_to_remove.add(theme_i)
- 깔끔해진다. 코드는 더 다듬어야겠다.
- 동일 종목이 2개 이상 포함되어 있으면 유사 테마로 병합하니 수익률이 오른다.
'Quant' 카테고리의 다른 글
주도 테마 & 대장주 로직 업데이트 (2) (2) | 2025.05.09 |
---|---|
정치테마 업데이트 기능 & 화면 개발 (1) | 2025.05.03 |
주도 테마 선정 로직 업데이트 (2) | 2025.05.01 |
퀀트 전략 업데이트 (11) : Validate output data (1) | 2025.04.10 |
퀀트 전략 업데이트 (10) : Validate input data (2) | 2025.04.05 |