콘텐츠로 건너뛰기
Reddit

서투른 개발자의 겸손한 질문 🤖

r/Daytrading 조회 3
원문 보기 →
💡

대부분의 머신러닝 기반 백테스트 시스템은 실거래로 옮겨가면 실패하는 경우가 많다는 결론입니다. 이는 시장의 노이즈, 낮은 타임프레임의 상관성, 데이터 부족과 백테스트의 과적합 위험 때문입니다. 독자는 라벨링 방식(예: 트리플 배리어), 타임프레임 선택, 과적합 방지(간단한 모델·파라미터 축소)에 집중해야 합니다.

팔지 않습니다.

홍보 아닙니다.

비밀 그룹이나 디스코드 없습니다.

유튜브 채널 없습니다.

그냥 주말에 개인 프로젝트 하는 개발자입니다.

안녕하세요. 저는 데이 트레이더는 아닙니다. 과거에 TA(기술적 분석) 기초 정도는 배운 적이 있지만, 제가 하는 건 부자가 되려는 계획이 아니라 머신러닝 실력을 키우려는 연습입니다. 모델의 예측 정확도를 확인하려면 계속 들어오는 최신 데이터가 필요한데, 마켓은 초/분 단위로 데이터가 들어오니 테스트하기에 적합했습니다.

제가 궁금한 건, 개발자가 백테스트 기반 머신러닝 모델을 만드는 것에 대해 보통 어떤 비판들이 있는지입니다. 저만 하는 일이 아닐 텐데, 성공 사례 얘기는 잘 들리지 않고 대부분 비밀이거나 실패했다고 느껴집니다.

대체로 결과가 실패인 경우가 많다고 가정하면 그 이유가 무엇인지 아시는 분 계신가요? 반대로, 데이 트레이더들이 이런 시도를 전반적으로 싫어하는 이유가 뭘까요?

SaaS 같은 플랫폼도 있겠지만, 제 목표는 모델을 직접 만들어보며 배우는 것입니다. 즉, 트레이더 전용 도구를 쓰지 않고 손수 만드는 게 목적입니다.

참고로 저는 페이퍼 트레이딩까지만 관심 있습니다. 실거래로 뛰어들 의도나 낭만적 신념은 없습니다. 가능하면 아주 솔직하고 직설적으로 피드백 부탁드립니다.

혹시 도움이 될까 해서 덧붙이면, 저는 미래 MSE에서 가져온 1분 봉 데이터로 라벨링하고 학습했습니다. 라벨링은 트리플 배리어(triple-barrier) 방식으로 했습니다.

학습용 스크린샷 몇 장 첨부합니다(단지 배우려고 만든 프로젝트임을 보여주려는 목적).


🧐 배경 설명 및 요약

왜 이 글이 올라왔나: 글쓴이는 머신러닝 역량을 키우려는 개발자로, 실제 시장 데이터를 써서 모델을 테스트해보고 싶어 게시물을 올렸습니다. 그는 상업적 목적이나 홍보가 아니며, 실거래 전 페이퍼 트레이딩 단계에서 모델의 성능 검증만 원합니다.

글쓴이가 실제로 묻고 걱정하는 핵심: 백테스트 기반 머신러닝 모델이 실전에서 잘 작동하지 않는 이유와, 데이트레이더들이 그런 접근을 왜 회의적으로 보는지 알고 싶어 합니다. 특히 1분봉 같은 낮은 타임프레임과 트리플 배리어 라벨링 선택이 적절한지 궁금해합니다.

핵심 개념(간단 설명):

1) 백테스트 과적합(overfitting): 과거 데이터에서 너무 잘 맞춘 모델은 새로운 데이터에선 성능이 급격히 떨어집니다. 단순히 백테스트 성과가 좋다고 실거래에서 통한다고 볼 수 없습니다.

2) 낮은 타임프레임의 문제: 1분봉 등 단기 데이터는 노이즈가 많고 데이터 포인트끼리 상관성이 큽니다(중복된 정보). 그래서 모델이 ‘패턴’이라고 착각한 노이즈를 학습할 가능성이 높습니다.

3) 높은 타임프레임의 문제: 일봉 등은 노이즈가 적지만 샘플 수가 적어(데이터 부족) 역시 과적합 위험이 큽니다.

4) 라벨링(트리플 배리어): 수익/손절/시간 제한으로 상태를 라벨링하는 방법입니다. 라벨링 방식이 모델 목표에 큰 영향을 줍니다. 잘못된 라벨링은 학습 방향을 망가뜨립니다.

5) 기타 위험요인: 룩어헤드 바이어스(미래 정보 사용), 데이터 스누핑(여러 시도를 통해 우연히 좋은 결과만 골라내는 것), 정상화·스케일링 미비, 특성 공학(feature engineering) 부실 등이 있습니다.

댓글 요지 요약:

- 댓글1: 실무에서 여러 모델을 써봤지만 라이브에선 며칠 버티고 성능이 크게 후퇴했다는 경험. 틱 렌코(tick renko) 바로 학습한 모델은 추세에선 괜찮았지만 횡보장에서는 큰 손실을 보였으며, 그 결과 재량(trading discretion)으로 돌아갔다는 조언입니다.

- 댓글2: 알고리즘이 시장에서 큰 비중(특히 횡보일)에 차지하므로 컨텍스트(경제/시장/섹터/종목 히스토리/당일 행동)가 중요하다고 강조합니다. 알고리즘·AI 가능성은 열려있지만 백테스트를 조심하라는 경고입니다.

- 댓글3: 저타임프레임은 상관성이 높고 노이즈가 심해 데이터 자체의 한계가 있다고 지적합니다. 더 단순하고 파라미터가 적은 기계적 시스템이나 모델이 낫다는 권고입니다.

- 댓글4: 더 높은 타임프레임 추천, 데이터 정규화 여부 질문, 다음 가격 예측을 목표로 하면 잘 안 된다는 강한 경고, PCA·클러스터링 등의 피처 엔지니어링 제안과 Numerai 같은 대회/플랫폼 참고 제안이 있습니다.

실무 팁(간단):

- 목표를 명확히 하라(다음 틱 가격 예측은 대체로 실패하기 쉬운 목표). 대신 확률적 이벤트(예: 일정 기간 내 목표 수익 도달 여부)처럼 현실적 라벨을 고려하라.

- 타임프레임 다중 사용, 정규화, 교차검증과 시계열에 맞는 검증(타임-시리즈 CV)을 신경 써라.

- 단순 모델과 파라미터 수를 줄이는 것이 일반적으로 더 견고하다.

- 페이퍼 트레이딩 결과와 라이브 슬리피지·거래비용 차이를 항상 염두에 두라.

결론: 기술적 호기심으로 시작하는 것은 괜찮지만, 시장의 노이즈·비정상성·백테스트 함정을 인지하고 라벨링과 검증 절차를 엄격히 설계해야 합니다. 댓글들은 대체로 회의적이면서도 현실적인 개선 방향을 제시하고 있으니 그 조언을 중심으로 실험을 설계하길 권합니다.

💬 원문 댓글 (4)

u/GHOST--1 ▲ 3
저는 직업으로 모델을 훈련시킵니다. 많은 모델을 학습시켜봤고요. 그런데 하나도 라이브 트레이딩에 적합한 모델은 아니었습니다. 며칠은 잘 가다가 결국 크게 후퇴했어요. 트랜스포머, LSTM, 고급 GRU 등 다 해봤습니다. 그중 가장 잘 나왔던 건 틱 렌코(tick renko) 바로 학습했을 때였어요. 렌코로 학습한 모델들은 추세 구간에선 훨씬 잘했지만 횡보장(chop)에선 엄청나게 잃었습니다. 그 이후로는 재량(trading discretion)으로 전환했고 제 주관에 따릅니다.
원문 보기
I train models for a living. Trained a lot of models. None of them were fit for live trading. They all worked for a couple of days but then regressed like a bi*ch. Transformers, LSTMs, advance GRUs, you name it, I have trained it. The best out of them was when I used tick renko bars. The models trained on the renkos did a lot better during trends. But then would lose a lot during chops. Like a lot.

Since then, I have moved to discretionary trading. I use my own subjectiveness now.
u/AccomplishedOwl2000 ▲ 2
알고리즘 트레이더를 위한 서브레딧들이 있어서 더 많은 경험을 얻을 수 있을 겁니다. 참고로 특히 횡보일에는 현대 거래의 최대 60%가 알고리즘에 의해 수행된다는 점을 기억하세요.

종종 문제는 '컨텍스트'입니다. 효과적인 트레이딩은 다음 요소들로 구성됩니다:

* 경제적 배경
* 시장(예: S&P 500) 방향/상태
* 섹터(예: 기술주) 배경
* 종목의 히스토리(예: 일봉 차트)
* 당일 종목의 행동(예: 5분봉)

"사람의 뇌가 아직 최고의 컴퓨터다"라는 말을 자주 듣습니다. 왜냐하면 우리가 정보를 맥락화하고 적절히 가중치를 줄 수 있기 때문입니다.

알고리즘/AI로 트레이딩하는 것은 가능하지만 백테스트에는 신중해야 합니다. 예를 들어 TSI나 MACD 같은 지표를 백테스트해도 대략 80% 승률을 얻을 수 있습니다. 모두가 80% 승률을 가질 수 있었다면 지금쯤 모두 부자가 되었겠죠.
원문 보기
There are subs for algo traders which might have more experience. Keep in mind that, especially in chop days, up to 60% of trading nowadays is performed by algorithms.

Often, it's a problem of context. Trading effectively consists of:

* Economic backdrop
* Market (e.g. S&P 500) direction/backdrop
* Sector (e.g. Tech) backdrop
* Stock history (e.g. D1 chart)
* Stock behaviour today (e.g. M5 chart)

"The human brain is still the best computer" is something I hear often. Why? Because of our ability to contextualise and weight information appropriately.

Trading via algorithm/AI **is** possible, but be cautious with backtesting. You can backtest indicators like the TSI or MacD and have a \~80% win rate. Clearly, if everyone had 80% win rates we'd all be very rich by now.
u/Exarctus ▲ 2
정말로 이런 시도를 해본(또는 하고 있는) 사람들이 길게 늘어서 있습니다.

일반적으로 핵심 문제는 '구조적으로 데이터가 부족하다'는 점입니다. 낮은 타임프레임 데이터는 상관성이 매우 높고 본질적으로 노이즈가 심합니다. 반면 높은 타임프레임 데이터는 더 깔끔하지만 샘플 수가 사실상 거의 없어서 과적합이 거의 보장됩니다.

이 문제를 잘 해결한 사람은 아직 본 적이 없습니다.

저라면 기계적(메커니컬) 시스템이나 파라미터가 매우 적은 모델을 고수하겠습니다.
원문 보기
Indeed you are in a long, long line of people that have tried/are trying to do this.

In general the core problem is a lack of data by construction. Lower timeframe data is highly correlated and as well as being inherently noisy. Higher timeframe data is cleaner but there’s virtually none of it and hence overfitting is virtually guaranteed.

I’ve yet to see anyone do a good job of dealing with this.

I would stick to mechanical systems or models with very few parameters
u/nickdaniels92 ▲ 1
더 높은 타임프레임으로 학습하는 게 낫습니다. 낮은 타임프레임은 노이즈가 너무 많습니다. 다중 타임프레임으로 학습해보는 것도 방법입니다. 가격 데이터를 어떻게 정규화하나요? 정규화하고 있나요? 목표(target)가 무엇인가요 — 다음 가격을 예측하는 건가요? 솔직히 그건 절대 통하지 않을 가능성이 높고 최악의 목표입니다. 로그에는 LSTM을 학습한다고 나와있는데, 보기엔 XGBoost 모델처럼 보이네요. PCA를 사용하나요? 피처 엔지니어링에서 K-평균 같은 군집 분석을 시도해봤나요?

아직 안 해봤다면 Numerai도 살펴보세요.
원문 보기
Training on higher timeframe would be better as there is way too much noise at lower timeframes. You could train on multiple timeframes. How are you normalising your price data? *Are you normalising*? What is your target - predicting the next price? This will never work btw and is probably the worst possible target. A log line says training an lstm yet it looks like you have an xgboost model. Are you using PCA? Have you tried cluster analysis such as K-means in your feature engineering?

You might want to look at Numerai as well if you haven't already.

댓글 (0)

로그인하고 댓글을 작성하세요.

아직 댓글이 없습니다.