You are on page 1of 20

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HCM


KHOA ĐÀO TẠO CHẤT LƯỢNG CAO
---------------------

BÁO CÁO ĐỒ ÁN 2
Ngành: Công nghệ kỹ thuật máy tính
Đề tài:

Multi-DQN: an Ensemble of Deep Q-Learning Agents for


Stock Market Fore‐ casting

SVTH MSSV
Võ Chí Vỹ 19119151

TP.HỒ CHÍ MINH - 12/2022


LỜI CẢM ƠN
Lời đầu tiên nhóm em xin chân thành cảm ơn Thầy Võ Minh Huân
trường Đại học Sư Phạm Kỹ thuật TP.HCM đã hướng dẫn và hỗ trợ nhiệt tình
chỉ bảo em khắc phục những vấn đề trong đồ án môn học 1.
Cảm ơn đến thầy đã hỗ trợ, giúp đỡ và tạo điều kiện cho chúng em trong
suốt quá trình thực hiện đề tài. Kiến thức nhận được sau khi thực hiện là kinh
nghiệm và là hành trang quý báu để nhóm chúng em phát triển được công việc
và sự nghiệp trong tương lai sau này.
Nhóm em xin chân thành cảm ơn!
LỜI NÓI ĐẦU
Trong nhiều Trong nhiều năm qua, dự báo thị trường tài chính đã thu
hút sự quan tâm cao giữa các nhà nghiên cứu trong nhận dạng mẫu. Thông
thường, dữ liệu được sử dụng để phân tích thị trường, và sau đó đánh cược vào
xu hướng tương lai của nó, được cung cấp dưới dạng chuỗi thời gian. Nghiên
cứu này có thể rất tốn thời gian, vì vậy để sử dụng dữ liêu và dự đoán chính xác
các yếu tố tương lai diễn ra thì chúng ta cần các mô hình DQL (Deep Q –
Learning). Viết lại cho tôi đoạn văn trên hay hơn

Để tìm hiểu sâu hơn về trí tuệ nhân tạo nói chung cũng như các kĩ thuật
dự đoán huấn luyện mô hình, chúng em quyết định lựa chọn đề tài:“ Áp dụng
Học tăng cường sâu vào Giao dịch thuật toán” Do thời gian hạn hẹp cũng như
việc thiếu nhiều kĩ năng trong xây dựng, hiểu biết ít các mô hình đã áp dụng
cũng như những hiểu biết về AI, đề tài của chúng em vẫn còn nhiều thiếu sót
và hạn chế. Rất mong nhận được sự đóng góp ý kiến của thầy để đề tài nhóm
chúng em ngày càng hoàn thiện hơn.
LIỆT KÊ HÌNH
Hình 2.1: Sơ đồ khối quy trình training TDQN............................................................2

Hình 2.2: truy xuất dữ liệu từ data có sẵn....................................................................2

Hình 2.3: truy xuất các hệ số..........................................................................................3

Hình 2.4: chọn action......................................................................................................3

Hình 2.5: training để tối ưu hóa phần thưởng..............................................................4

Hình 2.6: Các khối xây dựng cốt lõi học tăng cường....................................................5

Hình 3.1.1: Mô hình DQL..............................................................................................5

Hình 3.2.1: Mô hình training Neuron Network giao dịch cổ phiếu.............................6

Hình 4.1: training hiệu huất...........................................................................................7

Hình 4.2: Thực thi thuật toán TDQN cho cổ phiếu......................................................8

Hình 4.3: Hiệu suất dự kiến của thuật toán TDQN......................................................8


LIỆT KÊ BẢNG
Bảng 4.1: đánh giá hiệu suất..........................................................................................7
MỤC LỤC

CHƯƠNG 1: DỰ ĐOÁN GIÁ CỔ PHIẾU BẰNG THUẬT TOÁN DEEP


Q – LEARNING.......................................................................................... 1
I. Giới thiệu........................................................................................... 1
II. Phương pháp.................................................................................... 1
1. Các hình thức giao dịch..........................................................1
2. Tối ưu hóa phần thưởng.........................................................2
3. Train DQL (Deep Q – Learning)...........................................5
4. Kết quả và đánh giá hiệu suất................................................6
5. Tổng kết...................................................................................9
CHƯƠNG 1: DỰ ĐOÁN GIÁ CỔ PHIẾU BẰNG THUẬT TOÁN DEEP Q

– LEARNING

I. Giới thiệu

Trong suốt nhiều năm qua, việc dự báo thị trường tài chính đã thu hút sự
quan tâm đặc biệt của các nhà nghiên cứu trong lĩnh vực nhận dạng mẫu.
Thông thường, để phân tích thị trường và dự đoán xu hướng tương lai, chúng ta
sử dụng dữ liệu chuỗi thời gian. Tuy nhiên, tiến hành nghiên cứu này có thể
mất rất nhiều thời gian. Vì vậy, để ứng dụng hiệu quả dữ liệu và đưa ra những
dự đoán chính xác về các yếu tố tương lai, chúng ta cần sử dụng mô hình DQL
(Deep Q – Learning).

II. Phương pháp

1. Các hình thức giao dịch


Có các hình thức giao dịch sau:
• Hành động mua và bán (long action): Trong hình thức này, người giao
dịch mua hoặc bán cổ phiếu trước khi thị trường đóng cửa trong ngày.
• Hành động bán và mua ngược lại (short action): Đây là hình thức giao
dịch khi người giao dịch bán cổ phiếu trước khi thị trường đóng cửa, sau đó
mua lại vào cuối ngày.
• Hành động không tham gia (opt-out action): Hình thức này xảy ra khi
người giao dịch không thực hiện bất kỳ giao dịch mua hay bán nào trong ngày.
Mục tiêu của chiến lược giao dịch là tối đa hóa lợi nhuận kinh tế (tức là tiền
lãi) trong một ngày. Để đạt được mục tiêu này, người giao dịch dựa trên giả
định về xu hướng giá trong ngày (nghĩa là giá sẽ tăng hoặc giảm). Dựa trên giả
định này, người giao dịch thực hiện hành động mua khi tin rằng giá sẽ tăng và
hành động bán khi tin rằng giá sẽ giảm. Trong trường hợp không đủ tự tin về
1
hành vi của thị trường hoặc cho rằng giá sẽ không thay đổi, người giao dịch
thực hiện hành động không tham gia (opt-out action).
2. Tối ưu hóa phần thưởng

Hình 2.1: Sơ đồ khối quy trình training TDQN


Truy xuất dữ liệu

Hình 2.2: truy xuất dữ liệu từ data có sẵn


Truy xuất các hệ số cần thiết cho quá trình chuẩn hóa

2
H
ì
n
h

2.3: Truy xuất các hệ số


Chọn action tốt nhất, tối ưu nhất dựa trên policy RL(Reinforcement
learning)

Hình 2.4: Chọn action


- Để xác định được hành động thì cần áp dụng RL(Reinforcement
learning) trong giao dịch. Các quyết định mua, bán và không giao dịch
được biểu diễn dưới dạng những con số (-1, 0, 1).
- Sau khi xác định thì sẽ được tối ưu phần thưởng từ định nghĩa dưới đây:

3
- Tham số γ là hệ số chiết khấu (γ ∈ [0, 1]). Nó quyết định tầm quan
trọng của phần thưởng trong tương lai. Chẳng hạn, nếu γ = 0, tác
nhân RL được cho là cận thị như nó chỉ xem xét phần thưởng hiện
tại và loại bỏ hoàn toàn những phần thưởng trong tương lai. Khi hệ
số chiết khấu tăng, tác nhân RL có xu hướng trở nên định hướng dài
hạn hơn. Trong trường hợp cực đoan khi γ = 1, tác nhân RL xem xét
mỗi phần thưởng như nhau. Thông số quan trọng này nên được điều
chỉnh.

Hình 2.5: Các khối xây dựng cốt lõi học tăng cường
3. Train DQL (Deep Q – Learning)
3.1. Tổng quan về DQL (Deep Q – Learning)

4
Hình 3.1.1: Mô hình DQL

1. Đưa vào mạng một state s và lấy ra các giá trị của Q-value và các
actions tương ứng.
2. Tác nhân chọn action bằng một chính sách và thực hiện action đó.
3. Môi trường trả lại state s' và phần thưởng r là kết quả của action a và lưu
experience tuple [s, a, r, s'] vào memory.
4. Thực hiện lấy mẫu các trải nghiệm thành một vài batches và tiến hành
train mạng neuron.
5. Lặp lại đến khi kết thúc M episodes.

- Vì dữ liệu đầu vào lớn nên khi train hết trong 1 lần sẽ dẫn đến tình trạng
overfitting, để xử lí vấn đề đó thay vì mỗi lần update states vào một bộ
nhớ (memory) thì ta nên chia dữ liệu thành các minibatch nhỏ trong quá
trình huấn luyện giúp tránh overfitting và cải thiện khả năng tổng quát
hóa của mô hình.
3.2. Mô hình Neuron Network (NN)

5
Hình 3.2.1: Mô hình training Neuron Network giao dịch cổ phiếu
- Tuy nhiên mục đích của ta là bắt mạng neuron network học được cách
ước lượng Q-Value cho các actions một cách chính xác nên đương nhiên
hàm Loss phải tính được sai số giữa Q-value thực tế và dự đoán.

Hình 3.2.2: Tính sai số hàm Loss


4. Tách riêng thuật toán Buy and Hold

Hình : Hàm chọn hành động cho chiến lược Buy and Hold

- Hàm này chọn hành động cho chiến lược Buy and Hold, ở đây kết
quả trả về luôn luôn là 1 nghĩa là mua vào cổ phiếu.

Hình : Tính toán thông số và cập nhật hành động cho thuật toán
- Thuật toán này sẽ rơi vào trường hợp b từ chưa thực hiện hành động
nào đến thực hiện hành động mua vào một lần rồi giữ qua thời gian và
không bán ra. Ta sẽ tính toán số lượng cổ phiếu, tiền mặt, số cổ phiếu
nắm giữ và cập nhật hành động.

6
Bảng : Đánh giá hiệu suất chiến lược Buy and Hold

7
Hình : Thực thi thuật toán Buy and Hold cho cổ phiếu

5. Tách riêng thuật toán TDQN

Với tổng số tiền ban đầu là 100000 thì sau khi thực hiện giao
dịch theo thuật toán TDQN thì tổng số tiền lúc sau là 316269, ta thấy
sau khi thực hiện giao dịch sẽ thu được lợi nhuận là 216269.

8
6.

- Nhận xét: Thuật toán TDQN đạt được kết quả tốt và giảm thiểu
rủi ro, vượt trội so với tất cả các chiến lược giao dịch chủ động và thụ
động chuẩn. có thể thấy rằng chiến lược giao dịch DRL có khả năng
phát hiện chính xác và hưởng lợi từ các xu hướng chính, agent giao dịch

9
thường chậm hơn một chút so với xu hướng thị trường, nghĩa là thuật
toán TDQN đã học cách phản ứng hơn là chủ động đối với cổ phiếu cụ
thể này. Cho nên RL có thể quyết định điều chỉnh giao dịch của mình vị
trí trước khi đảo ngược xu hướng bằng cách nhận thấy sự gia tăng trong
sự biến động, do đó dự đoán và chủ động.

7. Viết riêng thuật toán DQN

Với tổng số tiền ban đầu là 100000 thì sau khi thực hiện giao
dịch theo thuật toán DQN thì tổng số tiền lúc sau là 150226, ta thấy sau
khi thực hiện giao dịch sẽ thu được lợi nhuận là 50226.

10
Nhận xét: Thuật toán DQN đạt được kết quả tương đối tốt và có
khả năng học từ dữ liệu và cải thiện hiệu suất qua thời gian. Bằng cách
sử dụng mạng nơ-ron sâu, nó có khả năng học và biểu diễn các hàm giá
trị hành động phức tạp, giúp tìm ra các chiến lược tốt hơn theo thời gian.

11
Tuy nhiên, hiệu suất của thuật toán DQN có thể phụ thuộc vào nhiều
yếu tố như kiến trúc mạng, kích thước bộ nhớ lặp, cách cập nhật mạng
và các tham số khác.

8. So sánh TDQN với DQN


Sự khác biệt đó là TDQN dùng 2 mạng neuron, DQN dùng 1 mạng
neuron.
Sự khác biệt tiếp theo giữa DQN và TDQN nằm ở phương pháp cập
nhật giá trị Q, với DQN sử dụng Q-learning và replay memory, trong khi
TDQN sử dụng phương pháp Temporal Difference để cập nhật giá trị Q dựa
trên dự đoán giá trị Q tại các thời điểm trước đó.  Cụ thể, DQN sử dụng giá
trị Q tối đa của trạng thái tiếp theo và giá trị phần thưởng để cập nhật giá trị
Q hiện tại. Quá trình này được thực hiện thông qua việc tối ưu hóa mạng
nơ-ron sử dụng hàm mất mát và thuật toán lan truyền ngược
(backpropagation). Trong khi đó TDQN sử dụng giá trị Q hiện tại và giá trị
Q dự đoán tại thời điểm tiếp theo để tính toán giá trị Q mới. Phương pháp
này giúp TDQN có khả năng học tập nhanh hơn và ổn định hơn.
Do có sự ổn định và khả năng học nhanh hơn nên lợi nhuận của thuật
toán TDQN cao hơn so với thuật toán DQN. Cụ thể trong kết quả chạy ở
Hình .. và Hình ..  thì lợi nhuận của TDQN là 216269 cao hơn rất nhiều so
với lợi nhuận của DQN là 50226.

9. Tổng kết
Qua nghiên cứu về thuật toán Trading Deep Q -
Network(TDQN), một giải pháp Deep Reinfor cement learning (DRL)
cho vấn đề giao dịch, xác định vị trí tối ưu trong một hoạt động giao
dịch chứng khoán. Sau khi đã kiểm tra và đánh giá về hiệu suất, chiến
lược giao dịch này đạt kết quả khá ổn. Ngoài ra thuật toán TDQN thể
hiện nhiều lợi ích so với các phương pháp cổ điển hơn, chẳng hạn như
tính linh hoạt và sự mạnh mẽ vượt trội cho giao dịch đa dạng chi phí.
Cách tiếp cận dựa trên dữ liệu như vậy trình bày lợi thế chính của việc
12
triệt tiêu nhiệm vụ phức tạp của xác định các quy tắc rõ ràng phù hợp
với tài chính cụ thể các thị trường được xem xét.

13
TÀI LIỆU THAM KHẢO
[1].Multi-DQN: an Ensemble of Deep Q-Learning Agents for Stock Market
Fore‐ casting.
(https://linkinghub.elsevier.com/retrieve/pii/S0957417420306321)
Soure code: https://github.com/ThibautTheate/An-Application-of-Deep-
Reinforcement-Learning-to-Algorithmic-Trading
Link drive:
https://drive.google.com/drive/u/2/folders/1mmEgIp2LwaKVRUX4x1e0aJ_YS
Bikyz0P

You might also like