Architecture at a glance구조 한눈에 보기
Validate the input timeline입력 데이터의 시간축 검사
Check ordering, duplicate timestamps, missing intervals and value consistency in the time-aware research pipeline.시간 정합성 연구 파이프라인에서 정렬, 중복 시각, 누락 구간과 값의 일관성을 검사합니다.
Join by availability사용 가능한 시점으로 결합
Attach higher-interval values only after their completion time; reject incomplete aggregates.더 긴 시간 단위의 값은 해당 구간이 끝난 뒤 결합하고, 불완전한 집계 구간은 거부합니다.
Define training and evaluation boundaries학습·평가의 경계 지정
Use chronological partitions; the isolated research runner additionally reserves gaps between partitions.시간 순서에 따라 구간을 나누고, 별도 연구 실행기에서는 구간 사이를 비워 둡니다.
Run a model experiment모델 실험 실행
Separate neural classification experiments from policy-learning experiments rather than treating them as one model.신경망 분류 실험과 정책 학습 실험을 서로 다른 흐름으로 다룹니다.
Bind the model to its inputs모델과 입력 조건을 함께 저장
Keep feature order, normalization and seeds with model artifacts; use source and code hashes in the isolated runner.모델과 함께 특성 순서·정규화·시드를 저장하고, 별도 연구 실행기에는 데이터·코드 해시를 연결합니다.
The work spans several experiments서로 다른 실험에서 다룬 문제
I developed three related research paths using historical market data. The map below identifies the input, output and controls of each. Their shared engineering concerns are sampling intervals, preprocessing and associating a saved artifact with the experiment that produced it.과거 시장 데이터를 이용해 서로 연관된 세 가지 연구 흐름을 개발했습니다. 아래에 각 흐름의 입력·출력과 관리 범위를 구분했습니다. 공통으로 다룬 문제는 데이터 주기, 전처리, 저장된 결과물과 해당 실험의 연결입니다.
A training job can finish even when its data boundaries are wrong. I therefore treated input contracts and experiment records as engineering work alongside the model itself. The flow above summarizes these concerns across the implementations; it is not a claim that every historical experiment used the same controls.데이터 경계가 잘못되어도 학습 작업 자체는 끝날 수 있습니다. 그래서 모델 구현과 함께 입력 조건과 실험 기록을 관리하는 코드도 작성했습니다. 위 흐름은 여러 구현에서 다룬 문제를 요약한 것이며, 과거의 모든 실험에 같은 통제가 적용되었다는 뜻은 아닙니다.
- Neural classifier: feature windows → predefined class probabilities. This path owns the custom neural layer, loss tracking and best-checkpoint reload.신경망 분류 모델: 특성 윈도 → 사전 정의한 클래스의 확률. 사용자 정의 신경망 계층, 손실 기록, 최상 체크포인트 재로딩을 다룹니다.
- Feature-pool policy experiments: sequential observations and simulation state → simulated actions. This path owns train-only preprocessing, policy learners, model metadata and walk-forward comparisons.특성 풀 정책 학습: 순차 관측과 시뮬레이션 상태 → 시뮬레이션 행동. 학습 구간 전처리, 정책 학습기, 모델 메타데이터, 워크포워드 비교를 다룹니다.
- Time-aware research tools: timestamped source frames and experiment contracts → checked features and bound evaluation artifacts. This family contains availability-aware preparation and a separate evaluation runner with partition gaps and locked-test controls.시간 정합성 연구 도구: 시각이 있는 원천 데이터와 실험 조건 → 검사한 특성과 평가 결과물. 사용 가능 시점을 관리하는 데이터 준비와, 비움 구간·잠금 테스트를 둔 별도 평가 실행기를 포함합니다.
A timestamp is not always an availability time기록된 시각과 사용할 수 있는 시각의 차이
The data-preparation part of the time-aware research tools distinguishes an interval boundary from its availability time. Higher-interval data is joined backward from the decision timestamp. Validators reject gaps, duplicate opens, invalid close boundaries and incomplete aggregates before accepting the feature frame.시간 정합성 연구 도구의 데이터 준비 부분은 구간 경계와 실제 사용 가능 시점을 구분합니다. 더 긴 주기의 데이터는 판단 시점에서 과거 방향으로 결합합니다. 특성 데이터를 받아들이기 전에 누락 구간, 중복 시작 시각, 잘못된 종료 경계와 불완전한 집계를 검사합니다.
When a 30-minute value becomes usable30분 집계값을 사용할 수 있는 시점
Consider an invented aggregate covering 2026-01-15 08:00:00–08:30:00 UTC. Its label is 08:00, but its final value belongs only to observations at or after its recorded availability time. These scenarios illustrate data preparation, not model predictions or measured performance.2026-01-15 08:00:00–08:30:00 UTC 구간을 집계하는 가상 예시입니다. 이름표가 08:00이어도 최종값은 기록된 사용 가능 시각 이후의 관측에만 결합합니다. 모델의 예측이나 측정 성능이 아닌 데이터 준비 과정을 설명하는 표입니다.
Scroll the table sideways to read all columns.표를 좌우로 움직이면 모든 열을 볼 수 있습니다.
| Observation time · UTC관측 시각 · UTC | Aggregate state집계 상태 | Join decision결합 결과 |
|---|---|---|
| 2026-01-15 08:10:002026-01-15 08:10:00 | The 08:00–08:30 interval is still open.08:00–08:30 구간이 아직 진행 중입니다. | Do not attach its final value.이 구간의 최종값을 붙이지 않습니다. |
| 2026-01-15 08:29:592026-01-15 08:29:59 | The interval has not ended.구간이 아직 끝나지 않았습니다. | The 08:00 label still does not make the final value available.08:00이라는 이름표만으로 최종값을 사용할 수는 없습니다. |
| 2026-01-15 08:30:012026-01-15 08:30:01 | All constituent intervals passed validation; availability is recorded as 08:30:00.구성 구간이 모두 검사를 통과했고 사용 가능 시각이 08:30:00으로 기록되었습니다. | Use the validated value: its recorded availability is no later than this observation.검사된 값을 사용할 수 있습니다. 기록된 사용 가능 시각이 이번 관측보다 늦지 않기 때문입니다. |
| 2026-01-15 08:31:00 · alternate scenario2026-01-15 08:31:00 · 별도 상황 | The clock passed 08:30, but a required constituent interval is missing.시계는 08:30을 지났지만 필요한 구성 구간 하나가 없습니다. | Reject the incomplete aggregate; elapsed time alone is insufficient.불완전한 집계를 거부합니다. 시간이 지났다는 사실만으로는 부족합니다. |
An interval label identifies the window. Completion, validation and recorded availability determine whether its final value can enter an observation.구간 이름표는 어느 구간인지 나타냅니다. 최종값을 관측에 넣을 수 있는지는 완료 여부, 검사 결과와 기록된 사용 가능 시점으로 판단합니다.
Neural models and training control신경망 모델과 학습 제어
For neural classification, I implemented a TensorFlow/Keras model inspired by TimesNet. Its custom layer uses FFT-derived candidate periods, period-based reshaping, Conv1D processing, residual connections and layer normalization. It is a custom adaptation, not an exact reproduction of the published architecture.신경망 분류 실험에서는 TimesNet에서 아이디어를 얻은 TensorFlow/Keras 모델을 구현했습니다. 사용자 정의 계층은 FFT로 찾은 주기 후보, 주기 단위 형태 변환, Conv1D 처리, 잔차 연결과 계층 정규화를 사용합니다. 논문의 구조를 그대로 재현한 모델이 아니라 별도의 변형 구현입니다.
The training loop records training and validation loss, saves an improved validation checkpoint, stops after sustained non-improvement and reloads the best saved model. Separate policy-learning experiments include PPO and an LSTM-based RecurrentPPO option. Those policy learners are a different research path from the neural classifier.학습 루프는 학습·검증 손실을 기록하고, 검증 손실이 개선되면 모델을 저장합니다. 개선이 이어지지 않으면 조기 종료하고 저장된 최상 모델을 다시 불러옵니다. 별도의 정책 학습 실험에는 PPO와 LSTM 기반 RecurrentPPO 선택지가 있습니다. 이 정책 학습기는 앞의 신경망 분류 모델과 다른 연구 흐름입니다.
Keep preprocessing and artifacts reproducible전처리와 학습 결과를 다시 확인할 수 있도록
The feature-pool policy experiments select features from the training frame and pass normalization statistics from training into evaluation. When model saving is enabled, they store feature order, means, standard deviations, algorithm, seed and environment configuration with the model. A walk-forward runner in this policy-learning workflow repeats training on earlier periods and evaluation on the following period.특성 풀 정책 학습은 학습 데이터에서 특성을 선택하고, 학습에서 계산한 정규화 통계를 평가에 전달합니다. 모델 저장을 켜면 특성 순서, 평균·표준편차, 알고리즘, 시드와 환경 설정을 함께 저장합니다. 이 정책 학습 흐름의 워크포워드 실행기는 앞선 구간으로 학습하고 뒤따르는 구간을 평가하는 작업을 반복합니다.
The separate evaluation runner in the time-aware research tools adds explicit gaps between training, validation and a locked test period. It checks source and implementation hashes, serializes the learned policy before validation and refuses automatic access to the locked test. Those controls belong to that runner. The earlier feature-pool experiments do not establish equivalent isolation for every overlapping historical window.시간 정합성 연구 도구에 속한 별도 평가 실행기는 학습·검증·잠금 테스트 구간 사이에 명시적인 비움 구간을 둡니다. 데이터와 구현 해시를 확인하고 검증 전에 학습된 정책을 저장하며, 잠금 테스트를 자동으로 열지 못하게 합니다. 이 통제는 해당 실행기에 적용됩니다. 초기 특성 풀 실험의 모든 역사적 윈도 중복까지 같은 방식으로 격리되었다고 확인한 것은 아닙니다.
What the checks establish, and what remains검사로 확인하는 범위와 남은 검증
The implemented checks inspect time-grid continuity, feature availability, partition row counts and artifact identity. They support reproducible data preparation and offline investigation. Evaluating generalization still requires untouched time periods, independently reviewed target and scoring definitions, and a recorded decision about which experiment is being assessed.구현된 검사는 시간 격자의 연속성, 특성의 사용 가능 시점, 구간별 행 수와 결과물 식별 정보를 확인합니다. 이를 통해 데이터 준비와 오프라인 연구 과정을 재현할 수 있도록 합니다. 일반화 성능을 판단하려면 손대지 않은 기간, 독립적으로 검토한 목표·채점 정의, 평가 대상 실험의 명확한 식별이 추가로 필요합니다.
This note documents implementation and evaluation design. It does not report a newly completed training run, predictive accuracy or deployment readiness. Model training, offline evaluation and adoption by a running service are recorded as separate stages.이 자료는 구현과 평가 설계를 정리합니다. 새 학습 실행의 완료 여부, 예측 정확도나 배포 준비 상태를 보고하는 문서는 아닙니다. 모델 학습, 오프라인 평가, 실제 서비스 채택은 서로 다른 단계로 관리합니다.