1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ án Tìm hiểu ngôn ngữ lập trình python, viết chương trình thử nghiệm dự báo sự biến động của giá chứng khoán

57 46 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 57
Dung lượng 2,47 MB

Nội dung

MỤC LỤC MỤC LỤC MỞ ĐẦU 14 Chương NGƠN NGỮ LẬP TRÌNH PYTHON 16 1 Giới thiệu 16 Tại Sao Nên Học Lập Trình Python? 17 Cài đặt môi trường làm việc “cài đặt PyCharm” 17 Cài đặt python 19 Tạo file viết mã Python PyCharm 20 Các Khái Niệm Cơ Bản Trong Lập Trình Python 21 Comments python 21 Cấu trúc liệu gì, kiểu cấu trúc liệu python 22 Cấu trúc điều khiển python 23 Lệnh IF 23 Lệnh FOR 24 Lệnh While 26 Cài đặt gói thư viện python 27 Cài đặt pip 27 số gói thư viện thơng dụng cho Python 28 Sử Dụng Hàm Trong Python 29 Hàm (Function) 29 Các thông số Hàm (Function Parameters) 30 Câu lệnh return Python 31 DocStrings Python 33 Ví dụ hàm DocStrings Python 33 10 Đọc file CSV python 34 10 Tệp CSV ? 34 10 Các hàm module CSV Python 34 10 Cách đọc tệp CSV 35 10 Cách viết tệp CSV 36 11 Sử dụng thư viện pandas Python 37 11 Thư viện pandas python gì? 37 11 Tại lại dùng thư viện pandas? 37 11 Đọc file csv sử dụng thư viện pandas 38 11 Thao tác với dataframe pandas 39 12 Vẽ biểu đồ python 42 12 Matplotlib 42 12 Khái niệm chung 42 12 Ví dụ tạo biểu đồ đơn giản 43 Chương BÀI TOÁN DỰ BÁO 44 Bài toán dự báo 44 1 Dự báo hỗ trợ trình định tình 44 2 Chuỗi thời gian (Time Series) 45 2 Tiến trình toán dự báo 49 2 Tiêu chuẩn dự báo 50 2 Các đặc tính định dạng: 50 Chương BÀI TOÁN DỰ BÁO GIÁ CỔ PHIẾU VÀ THỰC NGHIỆM 51 Giới thiệu toán dự báo giá cổ phiếu 51 Phát biểu toán 53 3 Một số mô hình dự báo thống kê 54 3 Mơ hình trượt đơn Moving Average (MA) để phân tích dự báo giá chứng khoán 54 3 Mơ hình làm mịn theo cấp số nhân (exponential smoothing) 55 3 Mơ hình làm mịn hàm mũ kép “Double exponential smoothing” 56 Chương trình thực nghiệm 57 3 Kết mơ hình trượt đơn Moving Average (MA) 58 3 Kết thực nghiệm mơ hình làm mịn theo cấp số nhân (exponential smoothing) 60 3 Kết thực nghiệm mô hình làm mịn hàm mũ kép “Double exponential smoothing” 61 3 Tổng kết 62 KẾT LUẬN 63 DANH MỤC TÀI LIỆU THAM KHẢO 64 10 DANH MỤC HÌNH ẢNH TRONG BÁO CÁO Hình 2-1 dowload PyCharm 18 Hình 2-2 Cài đặt PyCharm 18 Hình 2-3 Tạo project 19 Hình 3-1 Download python 19 Hình 3-2 Cài đặt python 20 Hình 4-1 Tạo file python 20 Hình 4-2 Ví dụ Hello world 20 Hình 5-1 Comment python 21 Hình 6-1 So sánh list tuple 23 Hình 7-1 Ví dụ lệnh if toán 24 Hình 7-2 kết ví dụ lệnh if 24 Hình 7-3 ví dụ lệnh for 25 Hình 7-4 kết ví dụ lệnh for 25 Hình 7-5 Ví dụ lệnh while 26 Hình 7-6 kết ví dụ lệnh while 26 Hình 8-1 Minh họa cài đặt pip 27 Hình 8-2 Ví dụ cài đặt thư viện matplotlib 27 Hình 9-1 Ví dụ hàm 30 Hình 9-2 kết 30 Hình 9-3 Ví dụ hàm Function parameters 31 Hình 9-4 kết ví dụ hàm Function parameters 31 Hình 9-5 lệnh return 32 11 Hình 9-6 ví dụ lệnh return 32 Hình 9-7 kết ví dụ lệnh return 32 Hình 9-8 ví dụ hàm DocString 33 Hình 9-9 Kết ví dụ hàm DocString 34 Hình 10-1 ví dụ cách đọc tệp CSV 35 Hình 10-2 kết ví dụ đọc tệp CSV 36 Hình 10-3 Cách viêt tệp CSV 36 Hình 10-4 kết tệp CSV 36 Hình 11-1 Đọc file CSV sử dụng pandas 38 Hình 11-2 Ví dụ 39 Hình 11-3 40 Hình 11-4 kết theo cột 40 Hình 11-5 kết theo nhiều cột 41 Hình 11-6 Lấy ghi theo số 41 Hình 11-7 kết numpy arrays trả 42 Hình 11-8 thêm cột từ liệu Error! Bookmark not defined Hình 11-9 thêm cột vào liệu có sẵn Error! Bookmark not defined Hình 11-10 kết data frame Error! Bookmark not defined Hình 11-11 kết thực Error! Bookmark not defined Hình 11-12 kết Error! Bookmark not defined Hình 11-13 kết cột Error! Bookmark not defined Hình 11-14 kết tạo Error! Bookmark not defined Hình 11-15 kết từ python list Error! Bookmark not defined Hình 11-16 kết ví dụ Error! Bookmark not defined 12 Hình 11-17 kết lưu Error! Bookmark not defined Hình 12-1 ví dụ tạo biểu đồ 43 Hình 2-1 Đồ thị xt theo t 46 Hình 2-3 Đồ thị xt/xt-1*100 theo t 47 Hình 2-4 Đồ thị xt– xt-1theo t 47 Hình 2-5 Một số định dạng liệu 48 Hình 3-1 Tiến trình chung tốn dự báo 49 Hình 3-1 Ví dụ mơ hình làm mịn theo cấp số nhân 56 Hình 3-2 Minh họa bảng liệu 57 Hình 3-3 Kết thực nghiệm mơ hình Moving Average kích thước cửa sổ trượt 60 58 Hình 3-4 Kết thực nghiệm mơ hình Moving Average kích thước cửa sổ trượt 30 58 Hình 3-5 Kết thực nghiệm mơ hình Moving Average kích thước cửa sổ trượt 15 59 Hình 3-6 Kết thực nghiệm mơ hình làm mịn theo cấp số nhân 60 Hình 3-7 Kết thực nghiệm mơ hình làm mịn hàm mũ kép 61 13 MỞ ĐẦU Trong sống đại ngày nay, kinh tế ngày phát triển ngành công nghệ thông tin trợ thủ đắc lực cho hầu hết ngành nghề Sự góp mặt chương trình ứng dụng mang lại nhiều lợi ích thiết thực làm cho cách thức vận hành hoạt động liên ngành khác trở lên linh hoạt mang lại hiệu cao Đặc biệt, thời đại công nghệ gần thiếu khái niệm liên quan đến công nghệ thông tin, từ phương tiện truyền thông, xã hội, văn hóa, giải trí, khoa học kỹ thuật lĩnh vực kinh doanh, quản lý, y tế, giáo dục v.v Đâu đâu cần phần mềm sản phẩm công nghệ thông tin đễ hỗ trợ giúp thúc đẩy phát triển vững mạnh Ví dụ lĩnh vực kinh doanh bn bán hàng hóa theo cách truyền thống cịn tồn nhiều nhược điểm thống kê chi tiết chưa xác, quy trình tốn chưa chặt chẽ nhanh chóng, nhờ có phần mềm quản lý, tốn điện tử mà nhà quản lý theo dõi kết thực xác hệ thống Để tạo sản phẩm phần mềm hữu ích, với phát triển nhiều ngơn ngữ lập trình đáp ứng cho cơng nghiệp Python tên đáng ý Hiện ngôn ngữ Python xếp hạng Top 10 ngơn ngữ lập trình phổ biến giới sử dụng Python ngôn ngữ có hình thái sáng sủa, cấu trúc rõ ràng, thuận tiện cho người bắt đầu học lập trình Cấu trúc Python cịn cho phép người sử dụng viết mã lệnh với số lần gõ phím tối thiểu Python ngơn ngữ lập trình đơn giản lại hiệu Bên cạnh đó, Python ngơn ngữ có tính hướng đối tượng cao, sử dụng nhiều cho toán xử lý với liệu lớn Với ngôn ngữ lập trình python ngơn ngữ lập trình đa với nhiều ưu điểm vượt trội, đứng vị trí số top ngơn ngữ lập trình Chính ưu điểm nên lem chọn đề tài tìm hiểu ngơn ngữ lập trình Python viết chương trình thực nghiệm dự báo biến động giá chứng khoán làm đề tài tốt nghiệp 14 Đồ án gồm nội dung sau: Chương I Tìm hiểu ngơn ngữ lập trình python, trình bày lịch sử phát triển, cài đặt phần mềm, cấu trúc điều khiển, cấu trúc liệu số công cụ ngơn ngữ lập trình Python Chương II Tìm hiểu tốn dự báo, trình bày tốn dự báo, tiến trình tốn dự báo tiêu chuẩn toán dự báo Chương III Bài toán ứng dụng dự báo giá cổ phiếu thực nghiệm, trình bày tốn dự báo giá cổ phiếu, số phương pháp thống kê để dự báo giá cổ phiếu, chương trình thử nghiệm kết dự báo với liệu chứng khốn cơng ty chứng khốn niêm yết thị trường chứng khoán Việt Nam Cuối phần kết luận trình bày nội dung kết thực đề tài, hạn chế hướng nghiên cứu 15 Chương NGÔN NGỮ LẬP TRÌNH PYTHON 1.1 Giới thiệu Lịch sử hình thành Python hình thành vào cuối năm 1980 bắt đầu thực vào tháng 12/1989 Guido van Rossum CWI Hà Lan người kế thừa ngôn ngữ ABC (tự lấy cảm hứng từ SETL) có khả xử lý ngoại lệ giao tiếp với hệ điều hành Amoeba Van Rossum tác giả Python, vai trị trung tâm ông tiếp tục việc định hướng phát triển Python phản ánh tiêu đề mà cộng đồng Python dành cho ông “Độc tài nhân từ cho sống” (benevolent dictator for life)(BDFL) Python phát hành vào ngày 16/10/2000, với nhiều tính bao gồm dọn rác đầy đủ hỗ trợ Unicode Với phiên này, trình phát triển thay đổi trở thành minh bạch cộng đồng ủng hộ Python (còn gọi Python 3000 Py3k), phát hành lớn, khơng tương thích ngược, phát hành vào ngày 03/12/2008 sau thời gian dài thử nghiệm Nhiều số tính điều chỉnh để tương thích ngược với Python Các tính triết lý phát triển Python ngôn ngữ lập trình đa hình: lập trình hướng đối tượng hướng cấu trúc hỗ trợ đầy đủ, có số tính ngơn ngữ hỗ trợ lập trình theo chức lập trình hướng khía cạnh (Aspect-oriented programming) Nhiều mơ hình khác hỗ trợ việc sử dụng phần mở rộng, bao gồm thiết kế theo hợp đồng (design by contract) lập trình luận lý Các trang Mozilla, Reddit, Instagram PBS viết Python Ngơn ngữ lập trình Python dùng vào mục đích:  Phát triển web (trên máy chủ)  Phát triển phần mềm 16  Tính tốn cách khoa học  Lên kịch cho hệ thống Tại Sao Nên Học Lập Trình Python?  Python hỗ trợ nhiều tảng khác (Windows, Mac, Linux, Raspberry Pi, etc)  Python có cú pháp đơn giản, dễ đọc hiểu gần gũi với tiếng Anh  Cú pháp Python giúp lập trình viên sử dụng dịng code để lập trình thuật tốn so với ngơn ngữ lập trình khác  Python sử dụng trình thơng dịch để thực thi dịng code Do đó, dịng code thực thi mà khơng cần biên dịch tồn chương trình Như giúp kiểm tra code nhanh Python hỗ trợ hàm, thủ tục, hay kể lập trình hướng đối tượng Để viết mã nguồn Python, ta sử dụng trình soạn thảo nào, kể trình soạn thảo đơn giản NotePad Tuy nhiên, để phát triển ứng dụng cách hiệu hơn, ta nên sử dụng IDE, để tiết kiệm thời gian cơng sức viết code Trong phần tìm hiểu này, đồ án sử dụng IDE thơng dụng để lập trình ứng dụng Python, PyCharm IDE 1.2 Cài đặt môi trường làm việc “cài đặt PyCharm” Để download Pycharm, ta truy cập vào: https://www jetbrains com/pycharm/download/#section=windows tải 17 2.3 Tiêu chuẩn dự báo Các tiêu chuẩn chung đánh giá thành cơng mơ hình dự báo áp dụng vào tập liệu là: - Trùng nhiều với thay đổi ngẫu nhiên liệu tốt - Không vượt xa đặc tính liệu Xét mặt sai số, hai loại đặc tính cần quan tâm thử nghiệm công thức dự báo liệu là: Các đặc tính thống kê: Một phương pháp dự báo tốt thường cho sai số trung bình nhỏ Trong mơ hình dự báo, người ta thường sử dụng loại sai số sai số ei = xi– fi với fi dự báo xi Các đặc tính định dạng: Trong mơ hình dự báo, có mặt dạng sai số (như tính lệch, tính chu kì, tính kiên định, v.v.) bị xem dấu hiệu không tốt Sự xuất xu sai số nên khử nhanh tốt Có thể sai phân hóa chuỗi giá trị ban đầu để đối phó với tác động Như có hai tiêu chuẩn dự báo định lượng định tính là: sai số nhỏ khơng tn theo định dạng 50 Chương BÀI TOÁN DỰ BÁO GIÁ CỔ PHIẾU VÀ THỰC NGHIỆM 3.1 Giới thiệu tốn dự báo giá cổ phiếu Đầu tư tài cách thức kiếm tiền phổ biến người dùng Bằng việc phân tích yếu tố hay yếu tố định lượng để dự báo tăng giảm giá cổ phiếu, nhà đầu tư định mua hay bán cổ phiếu nhằm tìm kiếm lợi nhuận cho Tuy nhiên, thị trường chứng khốn ln có yếu tố bất ngờ không theo ý chủ quan người dùng, dự đốn xu thị trường chứng khoán toán quan trọng thu hút quan tâm nhà đầu tư, chuyên gian kinh tế học nhà khoa học Bên cạnh đó, phát triển mạnh mẽ công nghệ thông tin giúp cho việc trao đổi lưu trữ liệu chứng khoán trở lên dễ dàng hết Người dùng dễ dàng tra cứu lịch sử tăng giảm mã cổ phiếu mà họ quan tâm Mặt khác nhiều công cụ ứng dụng phát triển nhằm khai thác xử lý liệu tài khổng lồ cho mơ hình dự báo làm cho cơng việc trở lên dễ dàng, nhanh xác Dự báo giá cổ phiếu ln tốn thách thức tính khơng thể đốn trước Giả thuyết thị trường hàng ngày dự báo giá cổ phiếu giá cổ phiếu ngẫu nhiên Tuy nhiên, phân tích kỹ thuật cho thấy hầu hết giá cổ phiếu phản ánh liệu trước đó, xu hướng vận động giá quan trọng để dự đoán giá hiệu Hơn nữa, nhóm cổ phiếu thị trường chứng khoán bị ảnh hưởng số yếu tố kinh tế kiện trị, điều kiện kinh tế chung, số giá hàng hóa, kỳ vọng nhà đầu tư, vận động thị trường chứng khoán khác, tâm lý nhà đầu tư, v vv.v Giá trị nhóm chứng khốn tính tốn với vốn hóa thị trường cao Có thông số kỹ thuật khác để xác định liệu thống kê từ giá trị giá cổ phiếu Thơng thường, số chứng khốn đạt đươc từ giá cổ phiếu có đầu tư thị trường cao từ đưa đánh giá tình trạng kinh tế quốc gia 51 Bản chất vận động giá cổ phiếu mơ hồ làm cho khoản đầu tư có tính rủi ro cao Trên thực tế, giá chứng khốn nói chung động, khơng tham số phi tuyến tính; chúng thường làm giảm hiệu mơ hình thống kê khơng thể dự đốn giá vận động xác Học máy công cụ mạnh bao gồm thuật toán khác để tăng hiệu số trường hợp định Học máy có khả xác định thông tin phát mẫu từ liệu Các mơ hình học nhóm dựa máy học học tăng cường (boosting) học bao đóng (Bagging) cho kết vượt trội so với phương pháp dự đoán chuỗi thời gian Gần mơ hình dựa thuật tốn tăng cường độ dốc (gradient boosting) XGBoost nhà khoa học liệu hàng đầu sử dụng thi Thêm nữa, xu hướng đại học máy học sâu (Deep Learning) có khả tuyệt vời để trích xuất thơng tin từ chuỗi thời gian tài Mạng nơ ron hồi quy (RNN) đạt thành công đáng kể lĩnh vực phân tích tài với hiệu tuyệt vời Có thể thấy, q trình dự đốn thị trường chứng khốn khơng liên quan đến thơng tin mà liệu trước đóng vai trị quan trọng Việc huấn luyện mơ hình khơng đủ sử dụng liệu vào thời điểm gần RNN sử dụng mạng để trì nhớ kiện gần xây dựng kết nối đơn vị mạng, đó, hồn tồn phù hợp với dự báo kinh tế Mơ hình nhớ dài ngắn (LSTM) cải tiến phương pháp RNN sử dụng lĩnh vực học sâu LSTM có ba đầu khác để loại bỏ vấn đề nơ ron RNN xử lý điểm liệu đơn lẻ toàn chuỗi liệu nhiều nghiên cứu sử dụng phương pháp sử dụng dự báo thị trường Đã có nhiều phương pháp dự báo sử dụng cho dự báo biến động giá chứng khoán Các tiếp cận thống kê như: làm mịn theo cấp số nhân (exponential smooothing), trung bình động (moving average) ARIMA mơ hình tuyến tính phổ biến kinh tế để dự đoán xu vận động giá tương lai Bên cạnh đó, số nghiên cứu cho toán dự báo Mạng nơ ron 52 nhân tạo (ANN), giải thuật di truyền (GA), logic mờ, số phương pháp học máy thống kê đại RNN, LSTM, v.v nghiên cứu thời gian gần có khả xử lý biến động thị trường chứng khoán với độ xác dự đốn cao 3.2 Phát biểu tốn Thị trường chứng khốn Việt Nam có chặng đường dài phát triển với 20 năm hoạt động Trong thời gian đó, tổng sản phẩm quốc nội (GDP) bình quân đầu người tăng khoảng lần Việt Nam từ nước nghèo trở thành quốc gia có thu nhập trung bình Đất nước hình chữ S tham gia cách sâu rộng vào kinh tế giới với việc bình thường hóa quan hệ thương mại với Mỹ, gia nhập tổ chức thương mại giới WTO ký hàng loạt hiệp định thương mại tự với hầu hết cường quốc giới, có hiệp định hệ CPTPP, EVFTA, EVIPA, v.v Do đó, thấy kết đạt thị trường chứng khoán thể rõ vai trò kênh dẫn vốn quan trọng kinh tế, theo nhiều góc độ định lượng quy mơ vốn hóa, sở nhà đầu tư, số lượng sản phẩm, quy mô giao dịch hàng ngày, v.v hay định tính tính chuyên nghiệp thành viên, v.v Sau 20 năm vận hành, quy mô thị trường đặc biệt cơng ty chứng khốn (CTCK) có nhiều thay đổi số lượng, quy mơ lẫn chất lượng, sản phẩm cung cấp cho nhà đầu tư Số lượng CTCK tăng vọt, quy mô vốn tăng hàng trăm lần so với thời điểm thành lập với xuất nhiều CTCK ngoại Phí giao dịch ngày thấp, nhiều CTCK miễn phí giao dịch Nhiều sản phẩm đời, áp dụng công nghệ vào hoạt động hỗ trợ nhà đầu tư giao dịch thay viết phiếu lệnh cách thực Online Các báo cáo phân tích thực chuyên nghiệp, nhiều công ty thực báo cáo tiếng Anh để hỗ trợ cho NĐT nước Các CTCK không cung cấp dịch vụ môi giới mà cịn có nhiều nghiệp vụ khác Ngân hàng đầu tư (IB), tư vấn niêm yết, bảo lãnh phát hành trái phiếu, cung cấp sản phẩm phái sinh (HĐTL số VN30, HĐTL trái 53 phiếu phủ), v.v Không vậy, nhiều CTCK áp dụng công nghệ vào hoạt động môi giới tư vấn đầu tư Việc dễ dàng tham gia thị trường tìm kiếm thơng tin tạo sức hút lớn nhà đầu tư Nhiều trang web cho phép người dùng xem tải liệu lịch sử báo cáo hoạt động công ty niêm yết thị trường cách dễ dàng như: cafef vn, cophieu68 vn, investing com, tradingview com, v.v Giúp nhà đầu tư có liệu để thực phân tích kỹ thuật phân tích định lượng nhằm xác định xu hướng giá cổ phiếu mà quan tâm hoạt động đầu tư Trong nghiên cứu này, em thực phân tích dự báo tăng giảm giá cổ phiếu thị trường chứng khốn việt nam dựa phân tích chuỗi thời gian Xây dựng mơ hình thực u cầu sau: Input: Cho giá mã chứng khoán ngày t Output: Giá mã chứng khốn ngày t+1 3.3 Một số mơ hình dự báo thống kê 3.3.1 Mơ hình trượt đơn Moving Average (MA) để phân tích dự báo giá chứng khốn Mơ hình trung bình trượt đơn (Moving average) cách tiếp cận ngây thơ mơ hình chuỗi thời gian Mơ hình thực quan sát giá trị trung bình tất quan sát khứ Mơ hình trượt đơn sử dụng để xác định xu hướng quan tâm liệu Ta định nghĩa cửa sổ trượt để áp dụng mơ hình trượt để làm trơn cho chuỗi thời gian đánh dấu xu hướng khác 54 Dự báo thời điểm t+1 điều chỉnh dự báo thời điểm t trước Khi N tăng đủ lớn lượng điều chỉnh xt / N – xt-N / N →0 trung bình trượt trở thành trung bình mẫu phương pháp ngây thơ Chỉ nên áp dụng phương pháp số giá trị quan sát tập liệu có tính ổn định theo thời gian Mặt khác, mơ hình trượt đơn sử dụng để xác định xu hướng quan tâm liệu Ta định nghĩa cửa sổ trượt để áp dụng mơ hình trượt để làm trơn cho chuỗi thời gian đánh dấu xu hướng khác 3.3.2 Mơ hình làm mịn theo cấp số nhân (exponential smoothing) Mơ hình làm mịn theo cấp số nhân “exponential smoothing” phương pháp dự báo chuỗi thời gian cho liệu đơn biến Mơ hình làm mịn theo cấp số nhân thực tương tự mô hình trung bình động, sử dụng trọng số giảm dần khác gán cho quan sát Nói cách khác, quan sát lâu (về khứ) xo với đánh giá quan trọng Khi đó, cơng thức làm trơn theo cấp số nhân thực sau: Trong đó, ∝ hệ số làm mịn nhận giá trị từ đến Nó định trọng số giảm nhanh quan sát trước Alpha ( ∝): Hệ số làm mịn cho cấp độ 55 Hình 3.3-1 Ví dụ mơ hình làm mịn theo cấp số nhân Trong ví dụ trên, đường màu xanh lam đậm biểu thị độ làm mịn theo cấp số nhân chuỗi thời gian sử dụng hệ số làm mịn 0, 3, đường màu cam sử dụng hệ số làm mịn 0, 05 Ta thấy, hệ số làm mịn nhỏ chuỗi thời gian mượt Điều có nghĩa hệ số làm mịn tiến tới 0, mơ hình tiệm cận mơ hình trung bình động Các phương pháp làm trơn hàm mũ coi phương pháp ngang hàng phương pháp thay cho loại phương pháp phổ biến Box-Jenkins ARIMA để dự báo chuỗi thời gian 3.3.3 Mơ hình làm mịn hàm mũ kép “Double exponential smoothing” Làm mịn theo cấp số nhân kép phần mở rộng làm mịn theo cấp số nhân (exponential smoothing), bổ sung hỗ trợ cách rõ ràng cho xu hướng chuỗi thời gian đơn biến Phương pháp đơn giản cách sử dụng đệ quy làm trơn hai lần theo cấp số nhân Ngoài tham số alpha (∝) để kiểm soát hệ số làm mịn cho cấp độ, hệ số làm mịn bổ sung thêm vào để kiểm soát suy giảm ảnh hưởng thay đổi xu hướng gọi beta (𝛽 ) Công thức thực sau: 56 Alpha (∝): Hệ số làm mịn cho cấp độ Beta (𝛽 ) : Yếu tố làm mịn xu hướng Ngoài tham số ∝ hệ số làm mịn nhận giá trị khoảng từ đến (tương tự mơ hình làm mịn theo cấp số nhân), mơ hình sử dụng thêm tham số 𝛽 tham số làm mượt xu hướng, nhận giá trị khoảng từ đến Chương trình thực nghiệm Dữ liệu: Dữ liệu giá mã chứng khốn VNM cơng ty cổ phần Vinamilk từ năm 2014 đến năm 2018 niêm yết thị trường chứng khoán Việt Nam Dữ liệu tải từ trang cophieu68 dạng file CSV Hình 3.3-2 Minh họa bảng liệu Cơng cụ: Ngơn ngữ lập trình python Môi trường thực nghiệm: windows 10 version(1909) 57 3.3.4 Kết mơ hình trượt đơn Moving Average (MA) Kết thực nghiệm với kích thước cửa sổ trượt =60 Hình 3.3-3 Kết thực nghiệm mơ hình Moving Average kích thước cửa sổ trượt 60 Kết thực nghiệm với kích thước cửa sổ trượt =30 Hình 3.3-4 Kết thực nghiệm mơ hình Moving Average kích thước cửa sổ trượt 30 58 Kết thực nghiệm với kích thước cửa sổ trượt =15 Hình 3.3-5 Kết thực nghiệm mơ hình Moving Average kích thước cửa sổ trượt 15 Chú thích đồ thị: Rolling mean trend: Xu hướng trung bình(giá trị giá dự đốn) Actual values: Giá trị giá thực tế Upper bound/Lower bound: Giá trị giá cao nhất/giá trị giá thấp Windows size: Cửa sổ trượt (giá trị trung bình giá ngày trước đó) Nhận xét: Qua đồ thị áp dụng mơ hình Moving Average với kích thước cửa sổ trượt 60, 30, 15 cho thấy thay đổi rõ ràng dự báo giá chứng khốn kích thước cửa sổ trượt thay đổi Khi áp dụng mô hình Moving Average kích thước cửa sổ trượt (Windows size) lớn độ chênh lệch với thực tế lớn, ngược lại 59 3.3.5 Kết thực nghiệm mơ hình làm mịn theo cấp số nhân (exponential smoothing) Hình 3.3-6 Kết thực nghiệm mơ hình làm mịn theo cấp số nhân Chú thích đồ thị: Alpha 05: Giá trị ∝ = 05 Alpha 3: Giá trị ∝ = Actual : Giá trị thực tế Nhận xét: Khi áp dụng mơ hình (exponential smoothing) làm mịn theo cấp số nhân vào tốn qua đồ thị thấy giá trị ∝ = giá trị dự đốn gần với giá trị thực tế giá trị ∝ = 05 60 3.3.6 Kết thực nghiệm mơ hình làm mịn hàm mũ kép “Double exponential smoothing” Hình 3.3-7 Kết thực nghiệm mơ hình làm mịn hàm mũ kép Chú thích đồ thị: Alphal beta 9: Giá trị ∝ = 9, 𝛽 = Alphal beta 02: Giá trị ∝ = 9, 𝛽 = 02 Alphal 02 beta 9: Giá trị ∝ = 02, 𝛽 = Alphal beta 02: Giá trị ∝ = 9, 𝛽 = 02 Actual: Giá trị thực tế Nhận xét: Sự thay đổi rõ ràng áp dụng mơ hình (Double exponential smoothing) hai tham số Alphal (∝= 02) beta ( = 02) đạt cực tiểu ( nhỏ có thể) giá trị làm mịn tối đa (giảm xu hướng) 61 Và Alphal (∝= 9) beta ( = 02) cho giá trị độ sai lệch (gần nhất) với giá trị thực tế 3.3.7 Tổng kết Qua mơ hình đồ thị mơ hình có ưu nhược điểm riêng Moving Average (MA) mơ hình trượt đơn: kết mơ hình phụ thuộc nhiều vào liệu đầu vào trước Chỉ nên áp dụng phương pháp số giá trị quan sát tập liệu có tính ổn định theo thời gian Exponential smoothing mơ hình làm mịn theo cấp số nhân : kết mơ hình cho thấy giá trị alpha(∝) lớn độ sai lệch ít, giá trị dự báo gần so với giá trị thực tế Alpha thường đặt thành giá trị từ đến Giá trị lớn mơ hình chủ yếu ý đến quan sát gần khứ, giá trị nhỏ lịch sử tính đến nhiều đưa dự đốn Double exponential smoothing mơ hình làm mịn hàm mũ kép: Phương pháp cho thấy ưu so với phương pháp Moving Average (MA) mơ hình trượt đơn tốn liệu lớn, liệu đủ lớn theo xu hướng (tăng giảm), tham số beta 𝛽 làm giảm xu hướng theo thời gian Điểm chung: Cả mô hình có điểm chung giá trị dự báo phụ thuộc vào giá trị quan sát gần hay xa q khứ, gần độ xác dự báo cao ngược lại 62 KẾT LUẬN Sau thời gian tham khảo tìm tịi bảo cô hướng dẫn tập đồ án Tìm hiểu ngơn ngữ lập trình python, viết chương trình thử nghiệm dự báo biến động giá chứng khoán khoảng thời gian định dành cho việc thực đề tài, nên số vấn đề chưa hoàn chỉnh Tuy nhiên, đồ án đạt số kết Những kết đạt đồ án: - Tìm hiểu ngơn ngữ python - Tìm hiểu mơi trường lập trình PyCharm - Tìm hiểu tốn dự báo - Tìm hiểu toán ưng dụng dự báo giá cổ phiếu - Viết chương trình thử nghiệm dự báo tốn giá cổ phiếu Tuy nhiên q trình thực số điều cần bổ sung như: - Chưa thao tác thành thục lập trình python - Chưa hiểu sâu toán dự báo - Chương trình thử nghiệm chưa tối ưu hóa giao diện Trong thời gian tiếp theo, em cố gắng để ngày hoàn thiện, trau dồi kĩ lập trình trở nên tốt hơn, tìm hiểu phương pháp học máy đại mạng nơ ron, mạng nơ ron học sâu để thử nghiệm với phương pháp dự báo cho kết thực tốt Em xin chân thành cảm ơn! 63 DANH MỤC TÀI LIỆU THAM KHẢO Sách tự học lập trình Python bản-NXB Đại Học Quốc Gia HCM Phân tích chuỗi thời gian dự báo “Nguyễn Thị Vinh – Đại học thủy lợi” https://www w3schools com/ https://youtube com/howkteam Cophieu68 64 ... ngơn ngữ lập trình Python Chương II Tìm hiểu tốn dự báo, trình bày tốn dự báo, tiến trình toán dự báo tiêu chuẩn toán dự báo Chương III Bài toán ứng dụng dự báo giá cổ phiếu thực nghiệm, trình. .. trình Python viết chương trình thực nghiệm dự báo biến động giá chứng khốn làm đề tài tốt nghiệp 14 Đồ án gồm nội dung sau: Chương I Tìm hiểu ngơn ngữ lập trình python, trình bày lịch sử phát triển,... trình bày toán dự báo giá cổ phiếu, số phương pháp thống kê để dự báo giá cổ phiếu, chương trình thử nghiệm kết dự báo với liệu chứng khốn cơng ty chứng khốn niêm yết thị trường chứng khoán Việt

Ngày đăng: 09/08/2021, 11:13

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w