2012-05-29 3 views
5

저는 ANN을 사용하여 주가를 예측하는 프로젝트를 진행하고 있습니다. 나는 이전의 7 년 데이터를 사용하여 시스템을 훈련 시켰으며, 하루 동안 데이터를 예측하는 데는 잘 작동합니다. 이제 나는 앞으로 7 일 동안 주식 가격을 예측하고 싶습니다.인공 신경망을 이용한 장기 예측

제 아이디어는 하루 2, 일 1의 예상 데이터를 사용하여 하루 1, 3 일 데이터를 사용하여 하루 2 데이터를 예측하는 것입니다. 그러나 제대로 작동하지 않습니다.

나는 개장 가격, 하루 최대 및 최소 가격을 사용하여 종가를 예측할 수 있도록 ANN을 교육했습니다.

다음 7 일간의 데이터를 예측하는 아이디어는 무엇입니까 ??

+4

크리스탈 볼이 필요합니다. –

답변

3

Maruf, 앞으로 1 일 동안 신뢰할 수있는 ANN 예측자를 사용하는 경우 나에게 연락하여 추가 논의를하십시오! LOL

농담. 신경망 및 기타 비선형 예측 요소는 바로 예측 요소입니다. 거래하는 데이터 (주가 데이터)는 대부분 무작위입니다. 당신이 저를 믿지 않는 경우, 다음과 같은 사이비 코드를 사용하고 화면에 플로팅 랜덤 워크를 생성하려고 :

let min = -0.5 
let max = +0.5 
let bias = 0.01 
let random = rand(min, max) 
y[i] = y[i-1] + random + bias 

약간 (-0.01에서 0.01까지) 바이어스 조정하고 시리즈와 끝까지 주가가 급등하는 것처럼 보입니다. 그 이유는 동전 던지기보다 더 나은 결정을 내리는 사람들이 있다는 것입니다. 평균 상인이 그 시간의 55 %라는 것을 알고 계셨습니까? 필요한 모든 것 ...

이제 데이터가 크게 랜덤하게되면 예측하기가 매우 어려워집니다. 많은 양의 잡음이있는 신호를 찾고 있습니다. 매일 당신의 예측이 덜 정확해질 것이라고 예측하려고 노력합니다.

1 일 사전 예측을 위해 어떤 입력을 ANN에 넣었습니까? 예를 들어 일일 주가와 기타 파생 요소 (예 : 변동률, 거래량, 분산 등)를 사용하여 정확한 1 일 예측을 얻는 경우 정확한 일주일 예측을 얻을 수 있습니다. 위의 모든 것을 주간 재고 데이터로 대체하십시오.

편집 : 둘째

, 무엇을 당신이 예측의 정확성을 테스트하는거야? mikera의 대답을 보완하기 위해 다음과 같은 전략을 제안합니다.

1000 일 데이터 창이 있으면 800 개를 가져 와서 ANN을 훈련 시키십시오. 이제 언젠가 그는 미래를 예측합니다. 예측 방향 (Up, Down)과 예측 종료 가격 (% difference)을 비교하여 해당 결과의 정확도를 측정합니다. 이제 창을 1 일 오른쪽으로 밉니다. ANN을 재 훈련하고 1 일 예측을 수행하여 결과에 유의하십시오.

남은 200 일 동안이 작업을 계속한다면 올바른 방향 (위, 아래)의 결과는 어느 정도입니까? 실제 예상 종가 대비 10 % 이내의 비율은 얼마입니까? ANN이 매일 업무가 끝난 다음에 명령을 내리고 다음날 끝날 때 명령을 내린다면 얼마의 돈이들 것입니까? 물론 미끄러짐 및 거래 수수료에 대한 회계 ...

이것은 시스템이 얼마나 정확하고 가치가 있는지에 대한 아이디어를 줄 것입니다.효과적으로 앞서 심지어 일일 예측할 수있는 경우

+0

빠른 답장을 보내 주셔서 감사합니다. (이 프로젝트에서 maruf와 함께합니다.) 우리는 전날의 1. 하루 2. 가장 낮은 가격 3. 가장 높은 가격 4. 개시 가격 및 5. 전환 볼륨. 우리는 당신의 "창문을 1 일에서 오른쪽으로 슬라이드"아이디어를 이해하지 못합니다. 800 일을 훈련 한 후, 우리는 800 일의 데이터 (5 행)로 801 일을 예측해야합니다. 원래 데이터와 비교할 필요가 있습니다. 그때? "1 일간의 창문을 오른쪽으로 밀면"이라는 것은 무엇을 의미합니까? 나의 무지를 유감스럽게 생각합니다. – shantanu

+1

내가 의미하는 바는 실제 거래 시스템에서이 ANN을 사용했다면 과거 데이터에만 액세스 할 수 있다는 것입니다. 시장 마감 후 매일 밤 ANN을 재 훈련하고 내일 마감 가격을 예측할 것입니다. 그런 다음 시장을 열면 거래를하고 시장을 닫으면 거래가 종료됩니다. 그 다음날 당신은 과거 데이터 (새로운 날 포함)에 대한 재 훈련을 반복하고 그 다음날에 대한 예측을 만들고, 다음날 거래를합니다. 테스트는이 동작을 에뮬레이션하려고 시도해야합니다. 위의 테스트를 수행 한 경우 거래 성공/손실 보고서에 얼마나 좋은 결과가 있습니까? –

2

당신은 아주 잘 했어 - 일반적인 문제는 다음과 같습니다

  • 당신이 overfitting되지 않았는지, 예를 들어 있습니까 교육 자료의 기능을 정확하게 재현하는 법을 배우십니까? 아직 시도하지 않았다면 다른 80 %와 함께 훈련 한 후 데이터의 20 %를 ANN에서 테스트 해 볼 것을 강력히 권합니다.
  • 또한 절대 가격 값 또는 델타를 예측하는 방법을 배우고 있습니까? 전자의 경우 데이터가 너무 많은 일련의 상관 관계를 가지고 있기 때문에 다음날 종가의 가장 좋은 예측 변수는 오늘 종가입니다. 이 실수를하여 99 % + R 제곱 피팅을 얻는 것은 드문 일이 아닙니다 ....

위의 트랩 중 하나에 속하지 않는다고 가정하면 여러 날 예측을 수행하는 방법은 다음과 같습니다. 미래의 각 일에 대해 개별적으로 예측 변수를 별도로 보유 할 수 있습니다. 2 일차 등으로 다음날 예상치를 제공하는 데 추가 비용이 들지는 않지만 (입력 데이터에 새로운 정보가 없기 때문에), 원하는 경우 시도해 볼 수 있습니다 (아무런 해를 끼치 지 못함). , 유용한 특징 검출기 등을 제공함으로써 학습 속도를 높일 수있다.

또한 향후 예측에 대한 불확실성/변동성이 더 커질 것으로 예상됩니다 (당분간 불확실한 주가 변동이 있기 때문에). 이러한 이유 때문에 통계의 분산뿐만 아니라 평균을 예측할 가치가 있습니다.

+1

"이것을 확인하기 위해 다른 80 %와 함께 훈련 한 후 20 %의 데이터를 ANN에서 테스트 한 결과"+1했기 때문입니다. 또한 슬라이딩 윈도우 기술을 수행 할 가치가 있다고 언급했습니다. 800 일의 교육 데이터로 하루 앞당치기를 예측하고 예측 대 실제를 비교 한 다음 훈련/예측 창을 1 일 오른쪽으로 슬라이드하고 헹구고 반복합니다. 이를 통해 매우 긴 창에서 예측 자의 정확성을 측정 할 수 있습니다. 사실 내 의견을 업데이 트하겠습니다 :) –

관련 문제