1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Phân tích chuỗi thời gian với Python

Connected

Bài tập

Giá cổ phiếu tần suất cao

Dữ liệu cổ phiếu tần suất cao thường được mô hình hóa tốt bằng quy trình MA(1), nên đây là một ứng dụng hay cho các mô hình trong chương này.

DataFrame intraday chứa giá trong một ngày (ngày 1/9/2017) của cổ phiếu Sprint (mã "S") được lấy mẫu với tần suất một phút. Thị trường chứng khoán mở cửa 6,5 giờ (390 phút), từ 9:30 sáng đến 4:00 chiều.

Trước khi phân tích chuỗi thời gian, bạn cần làm sạch dữ liệu một chút — việc này sẽ được thực hiện trong bài này và hai bài tiếp theo. Khi xem vài dòng đầu, bạn sẽ thấy vài điểm: trước hết, dữ liệu không có tiêu đề cột. Dữ liệu không được đóng dấu thời gian từ 9:30 đến 4:00, mà chạy từ 0 đến 390. Và bạn sẽ thấy ngày đầu tiên có dạng lạ "a1504272600". Con số sau chữ "a" là thời gian Unix, tức số giây tính từ ngày 1/1/1970. Bộ dữ liệu này dùng cách đó để tách từng ngày dữ liệu trong ngày.

Nếu xem kiểu dữ liệu, bạn sẽ thấy cột DATE là object, tức là chuỗi. Bạn cần chuyển nó sang kiểu số trước khi xử lý một số dữ liệu thiếu.

Nguồn dữ liệu theo phút là Google Finance (xem tại đây để biết cách tải dữ liệu).

Mô-đun datetime đã được nhập sẵn cho bạn.

Hướng dẫn

100 XP
  • Thay đổi thủ công giá trị ngày đầu tiên thành 0 bằng .iloc[0,0].
  • Đổi tên hai tiêu đề cột thành 'DATE' và 'CLOSE' bằng cách gán intraday.columns bằng một danh sách chứa hai chuỗi đó.
  • Dùng thuộc tính pandas .dtypes (không có dấu ngoặc) để xem kiểu dữ liệu của từng cột.
  • Chuyển cột 'DATE' sang kiểu số bằng hàm pandas to_numeric().
  • Đặt cột 'DATE' làm chỉ mục mới của intraday bằng phương thức pandas .set_index(), truyền chuỗi 'DATE' làm đối số (không phải cả cột, chỉ là tên của cột).