Фича инжиниринг — преобразование исходных данных в набор признаков для обучения моделей машинного обучения. Цель — найти наиболее информативные признаки. Есть ручной подход (человек выбирает признаки) и автоматический (с помощью алгоритмов).
자동 방식을 사용할 것입니다. 새로운 기능 생성 방법을 적용하여 데이터에서 최상의 기능을 자동으로 추출합니다. 그런 다음 결과 집합에서 가장 유익한 특징을 선택합니다.
가격 예측에 가장 좋은 기능은 시초가 자체로 밝혀졌습니다. 이동 평균, 가격 상승률, 표준편차, 일별 및 월별 가격 변동에 기반한 징후가 상위권에 포함되었습니다. 자동 생성된 신호는 정보가 없는 것으로 판명되었습니다.특징 생성을 위한 알고리즘의 품질에 대한 의문이 있거나 오히려 완전히 부재한 것이 아닌가 하는 의문이 들었습니다.
한 사람이 OHLCT 데이터에서 총 5개의 열로 구성된 모든 속성을 생성했습니다. 훨씬 더 많은 수의 원래 특징에 특징 생성 알고리즘을 적용하고 있습니다. 칩 생성 알고리즘이 가장 단순한 MA 칩을 재현하지 못한다는 것은 상상하기 어렵습니다.
특징 클러스터링은 유사한 특징을 그룹으로 결합하여 특징의 수를 줄입니다. 이를 통해 중복 데이터를 제거하고 상관관계를 줄이며 과적합 없이 모델을 단순화할 수 있습니다. 가격 예측에 가장 적합한 기능은 시초가 자체로 밝혀졌습니다.
클러스터링에서 HLC 가격이 O가격과 같은 클러스터에 속했기 때문에 제외되었나요?
가격이 예측에 가장 좋은 신호로 밝혀졌다면(다른 신호는 그 파생상품), 다른 신호는 무시하고 더 낮은 기간으로 이동하여 다른 종목의 가격을 신호로 삼아 입력 데이터를 더 추가하는 것이 합리적일까요?
물론 가격이 트레이닝 범위를 벗어나는 경우 MO가 새 데이터에 대해 적절하게 작동하지 않으므로 트레이닝 샘플에서 가격을 제거해야 합니다.
가격의 높은 정보성은 가격 값의 고유성, 즉 알고리즘이 가격을 기억하거나 레이블과 일치시키는 것이 더 쉽기 때문에 발생합니다.
MO 실무에서는 정보가 없는 특징뿐만 아니라 원시 가격인 의심스러운 과잉 정보 특징도 제거됩니다.
이상적인 시나리오에서는 +-로 동등하게 정보를 제공하는 여러 속성이 있어야 합니다. 즉, 명확한 리더나 외부인이 존재하지 않는 것입니다. 즉, 어떤 속성도 훈련을 방해하지 않고 스스로 담요를 끌어당기지 않습니다.
새로운 기고글 Python과 MQL5로 로봇 개발하기(1부): 데이터 전처리 가 게재되었습니다:
시장은 점점 더 복잡해지고 있습니다. 오늘날은 알고리즘의 전쟁으로 변하고 있으며 거래의 95% 이상이 로봇에 의해 발생합니다.
다음 단계는 머신 러닝입니다. 이들은 강력한 AI는 아니지만 단순한 선형 알고리즘도 아닙니다. 머신 러닝 모델은 어려운 조건에서도 수익을 창출할 수 있습니다. 트레이딩 시스템을 만드는 데 머신 러닝을 적용하는 것은 흥미로운 일입니다. 신경망 덕분에 트레이딩 로봇은 빅 데이터를 분석하고 패턴을 찾아 가격 변동을 예측할 것입니다.
우리는 데이터 수집, 처리, 샘플 확장, 피처 엔지니어링, 모델 선택 및 트레이닝, 파이썬을 통한 트레이딩 시스템 생성, 거래 모니터링 등 트레이딩 로봇의 개발 주기를 살펴볼 것입니다.
파이썬으로 작업하면 머신 러닝에서의 속도와 피처를 선택하고 생성할 수 있다는 장점이 있습니다. 모델을 ONNX로 내보내려면 파이썬에서와 완전히 동일한 피처 생성 로직이 필요한데 이는 쉽지 않습니다. 그래서 저는 파이썬을 통한 온라인 트레이딩을 선택했습니다.
작성자: Yevgeniy Koshtenko