Dự báo thị trường ngoại hối với mạng lưới thần kinh


10

Tôi muốn sử dụng ANN để tự động hóa các loại tiền tệ giao dịch, tốt nhất là USD / EUR hoặc USD / GBP. Tôi biết điều này là khó khăn và có thể không đơn giản. Tôi đã đọc một số bài báo và thực hiện một số thí nghiệm nhưng không gặp nhiều may mắn. Tôi muốn nhận được lời khuyên từ TRẢI NGHIỆM để thực hiện công việc này.

Đây là những gì tôi đã làm cho đến nay:

  1. Tôi đã đánh dấu bằng dữ liệu đánh dấu cho tháng 7 năm 2013. Nó có giá thầu / yêu cầu / khối lượng giá thầu / khối lượng yêu cầu.
  2. Trích xuất tất cả các dấu tick cho khung thời gian 12 giờ tối đến 14 giờ tối cho tất cả các ngày.
  3. Từ dữ liệu này, đã tạo một tập dữ liệu trong đó mỗi mục bao gồm n giá trị giá thầu theo thứ tự.
  4. Đã sử dụng dữ liệu đó để huấn luyện ANN với đầu vào n-1 và đầu ra là giá trị giá thầu thứ n được dự báo.
  5. ANN có các nơ-ron đầu vào n-1, (n-1) * 2 + 1 ẩn và 1 nơ-ron đầu ra. Lớp đầu vào có TF tuyến tính, ẩn có TF log và đầu ra có TF tuyến tính.
  6. Được đào tạo mạng với lan truyền ngược với n-125 trước và sau đó 10.

Đối với cả n, MSE không giảm xuống dưới 0,5 và giữ nguyên giá trị đó trong suốt quá trình đào tạo. Giả sử rằng điều này có thể là do chuỗi thời gian là hoàn toàn ngẫu nhiên, tôi đã sử dụng gói R để tìm tự động tương quan một phần trên tập dữ liệu (pacf). Điều này đã cho các giá trị khác không chỉ cho 2 và 3 độ trễ.

Câu hỏi 1: Điều này có nghĩa chính xác là gì?

Sau đó, tôi đã sử dụng số mũ Hurst để đánh giá tính ngẫu nhiên. Trong R, Hurst (giá trị) hiển thị các giá trị trên 0,9.

Câu 2: Nó được cho là gần như ngẫu nhiên. Nó có nên có giá trị gần 0,5 không?

Tôi đã lặp lại việc đào tạo ANN với n = 3. ANN đã được đào tạo và có thể đạt được giá trị khá thấp cho MSE. Tuy nhiên, đầu ra được tính toán từ ANN này không khác nhiều so với giá trị giá thầu thứ (n-1). Có vẻ như ANN chỉ lấy giá thầu cuối cùng làm giá thầu tiếp theo! Tôi đã thử các cấu trúc mạng khác nhau (tất cả các nhận thức đa lớp), các tham số đào tạo khác nhau, v.v., nhưng kết quả là như nhau.

Câu hỏi 3: Làm thế nào tôi có thể cải thiện độ chính xác? Có phương pháp đào tạo nào khác ngoài backpropagation không?


Tôi không chắc liệu bạn có làm tốt hơn dự đoán nhiễu 1 / f khi sử dụng các giá trị trong quá khứ làm chỉ báo cho các giá trị trong tương lai hay không. scholarpedia.org/article/1/f_noir#Stock_markets_and_the_GNP - kết quả của bạn cho đến nay có vẻ phù hợp với điều đó. Có lẽ bạn nên xem xét các tính năng có thể khác có một số lý do để tương quan với tỷ giá hối đoái trong tương lai. Nếu điều này là dễ dàng, sẽ có nhiều nhà khoa học dữ liệu phong phú hơn.
Neil Slater

có, có thể các biến khác đang đóng góp cho giá trị tiếp theo nhiều hơn giá trị chuỗi thời gian tự nó .. Tôi cũng sẽ thử nghiệm điều đó. Cảm ơn bạn đã gợi ý.
dùng1300

Câu trả lời:


6

Kết quả bạn thấy không phải là sản phẩm phụ của sản phẩm đào tạo của bạn, mà đó neural netskhông phải là một lựa chọn tuyệt vời cho nhiệm vụ này. Neural netsthực sự là một phương tiện để tạo ra một hàm phi tuyến tính bậc cao bằng cách kết hợp một số hàm đơn giản hơn. Đây thường là một điều thực sự tốt, bởi vì nó cho phép các mạng lưới thần kinh phù hợp với các mẫu rất phức tạp.

Tuy nhiên, trong một sàn giao dịch chứng khoán bất kỳ mô hình phức tạp nào, khi giao dịch sẽ nhanh chóng phân rã. Việc phát hiện một mẫu phức tạp thường sẽ không tạo ra kết quả hữu ích, vì nó thường là các mẫu phức tạp trong thời gian ngắn. Ngoài ra, tùy thuộc vào số liệu bạn chọn, có một số cách thực hiện tốt mà thực sự sẽ không được đền đáp trong đầu tư (chẳng hạn như chỉ dự đoán giá trị cuối cùng trong ví dụ của bạn).

Ngoài ra, thị trường chứng khoán đang hỗn loạn một cách đáng kinh ngạc có thể dẫn đến tình trạng thừa neural net. Điều này có nghĩa là các mẫu nó học sẽ khái quát kém. Một cái gì đó dọc theo chỉ nhìn thấy một cổ phiếu giảm trong một ngày và quyết định thống nhất rằng cổ phiếu sẽ luôn luôn giảm chỉ vì nó được nhìn thấy trong một thời gian tương đối ngắn. Thay vào đó, các kỹ thuật như ridgerobust regression, sẽ xác định các mẫu tổng quát hơn, ít phức tạp hơn, làm tốt hơn.

Người chiến thắng trong một cuộc thi Kaggle tương tự được sử dụng robust regressioncho chính lý do này. Bạn có thể thấy kết quả tốt hơn nếu bạn chuyển sang mô hình học nông cạn sẽ tìm thấy các hàm theo thứ tự đa thức thấp hơn, qua các hàm phức tạp sâu của mạng lưới thần kinh.


cảm ơn rất nhiều. Tôi sẽ đánh giá hồi quy mạnh mẽ và xem nó diễn ra như thế nào.
dùng1300

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.