sklearn을 사용하여 주가를 예측하려고합니다. 나는 예측에 처음이다. 나는 gaussian hmm의 주식 예측을 위해 sklearn에서 예제를 시도했다. 그러나 예측은 가격에 오버레이를 적용하고 주어진 입력 마감 가격에서 포인트를 얻는 주 시퀀스를 제공합니다. 내 질문은 다음 10 가지 가격을 생성하는 방법입니다.gaussianhmm sklearn으로 예측하는 방법
답변
당신은 항상 다음 상태를 예측하는 마지막 상태를 사용, 그래서 23 일에 종료 날짜를 변경하여 입력 10 일의 가치를 추가 할 것입니다 :
date2 = datetime.date(2012, 1, 23)
당신은 코드의 나머지 부분을 다시 한 번 확인 할 수 있습니다 실제로 예측을 위해 미래의 데이터를 사용하고 있지 않은지 확인하십시오. 나머지 줄은 파일의 맨 아래에 추가 할 수 있습니다. 먼저 기대 한 수익이 주어진 주에서 무엇인지 알아 내야합니다. model.means_ 배열은 반환 값을 가지고 있습니다. 둘 다 우리가이 상태로 돌아 왔을 때의 리턴 값이고, 미래의 리턴 값은 여러분이 원하는 값입니다. 미래의 수익을 얻기 위해 우리는 5 개 주 중 어느 한 곳으로 갈 확률과 그 주에서 돌아 오는 확률을 고려합니다. 우리는 model.transmat_ 행렬에서 특정 상태로 갈 확률을 얻습니다. 우리는 model.means_ 값을 사용하는 각 상태를 반환합니다. 특정 주에 대한 예상 수익을 얻으려면 내적을 사용합니다. 그런 다음 볼륨 데이터를 제거합니다 (원하는 경우이 데이터를 남겨 둘 수 있지만 미래 가격에 가장 관심이있는 것으로 보입니다). 당신이 반환 [0]의 값을 인쇄 할 경우
expected_returns_and_volumes = np.dot(model.transmat_, model.means_)
returns_and_volumes_columnwise = zip(*expected_returns_and_volumes)
returns = returns_and_volumes_columnwise[0]
, 당신은 상태 0 달러의 예상 수익을 볼 수, 반환 [1] 등 상태 1 이제, 우리는 하루 상태 주어진 내일의 가격을 예측하고 싶다. 10 일 동안 그렇게 말하면 lastN에 사용합시다.
predicted_prices = []
lastN = 10
for idx in xrange(lastN):
state = hidden_states[-lastN+idx]
current_price = quotes[-lastN+idx][2]
current_date = datetime.date.fromordinal(dates[-lastN+idx])
predicted_date = current_date + datetime.timedelta(days=1)
predicted_prices.append((predicted_date, current_price + returns[state]))
print(predicted_prices)
것은 당신이 "생산"이 실행 된 경우에 당신은 당신이 가지고있는 마지막 날짜로 날짜 2를 설정합니다 다음 lastN 내가 predicted_date의 계정 주말을 고려하지 않는 1. 참고가 될 것입니다.
이것은 재미있는 일이지만 실제로 프로덕션에서는 실행하지 않으므로 따옴표를 사용하십시오. 첫째, 시계열은 원시 가격입니다. 이것은 실제로 백분율 리턴 또는 로그 리턴이어야합니다. 게다가 HMM에 대해 5 개 주를 선택하는 것에 대한 정당성이 없거나 HMM이 이런 종류의 문제에 대해서도 좋다고 생각합니다. 아마 그들은 단지 그것을 예제로 선택했을 것입니다. 나는 PCA를 사용하는 다른 sklearn 예제가 훨씬 더 흥미 롭다고 생각한다.
- 1. 시간별 데이터를 예측하는 방법
- 2. 폭을 예측하는 영리한 방법
- 3. Java에서 교착 상태를 예측하는 방법
- 4. 그라디언트 디센트를 사용하여 예측하는 방법
- 5. PostgreSQL 인덱스 크기를 예측하는 방법
- 6. 분류에서 이진 값을 예측하는 방법
- 7. matlab의 treebagger 클래스에서 메소드를 예측하는 방법
- 8. 이전 동작을 기반으로 시스템의 동작을 예측하는 방법
- 9. 모델 객체가없는 ns 스플라인 파라미터로부터 예측하는 방법
- 10. OpenNLP에서 chunker를 훈련시켜 단어 순서를 예측하는 방법
- 11. 시퀀스에서 2 차원 데이터를 연속으로 예측하는 방법
- 12. 메모리 부족 예외를 피하고 예측하는 방법
- 13. 다른 고객의 다른 레이블을 예측하는 방법
- 14. mysql에서 delete 문을 가져올 시간을 예측하는 방법
- 15. 와플 C++ API에서 인스턴스의 클래스를 예측하는 방법
- 16. PCA로 예측하는 법
- 17. 시계열로 예측하는 함수
- 18. 스크럼, 스프린트에서 버그를 처리하는 방법 및 버그를 예측하는 방법
- 19. .doc의 크기를 예측하는 방법이 있습니까?
- 20. java.lang.OutOfMemory 예외를 예측하는 방법은 무엇입니까?
- 21. 다음 큰 기술을 예측하는 도구
- 22. box.net에서 링크를 예측하는 방법은 무엇입니까?
- 23. 앱 스토어에 제출하기 전에 앱의 원래 크기를 미리 예측하는 방법
- 24. 하위 컨트롤이 변경 될 때 WPF 컨트롤의 높이를 예측하는 방법
- 25. Kaplan-Meier 곡선에서 주어진 시간에 대한 y 값을 예측하는 방법
- 26. 스레딩의 중요한 섹션에 어떤 섹션을 넣어야하는지 예측하는 방법
- 27. Java에서 Encog SVM을 사용하여 여러 값을 예측하는 방법
- 28. Hadoop 얀에서 MapReduce 작업이 실행되기 전에 실행 시간을 예측하는 방법
- 29. 테스트 데이터에 더 가까운 두 번째 클래스를 예측하는 방법
- 30. 특정 XML 파일에 대한 XPathDocument에 의한 메모리 필요를 예측하는 방법