Anda di halaman 1dari 24

Ứng dụng

thuật giải di truyền vào thiết lập

danh mục đầu tư hiệu quả

Võ Trường Vinh
Mục lục
• Giới thiệu
• Mô hình bài toán
• Thuật giải di truyền
• Ứng dụng
• Kết quả thực nghiệm
• Nhận xét

#
Giới thiệu
• Danh mục đầu tư
• Quản lý danh mục đầu tư là gì
• Các đặc trưng
– Lợi nhuận (return)
– Rủi ro (risk)

#
Mô hình bài toán [1]
• Tỷ suất sinh lợi bình quân của tài sản i
n
1 t
r i= ∑ r i 1
n t =1
trong đó:
t
r i : tỷ suất sinh lợi quá khứ đã xảy ra tại thời điểm t
p t − p t−1d  t 
r it =  2
p t−1

#
Mô hình bài toán [2]
• Tỷ suất sinh lợi đối với danh mục

n
r p = ∑ wi⋅r i
i=1
Trong đó :
w i : Tỷ trọng đầu tư tài sản i trong danh mục
r i : Tỷ suất sinh lợi bình quân của tài sản i

#
Mô hình bài toán [3]
• Phương sai của tài sản i

n
2 1 t 2
 = ∑ r i −r i 
i
n i=1

#
Mô hình bài toán [4]
• Hiệp phương sai giữa tài sản i và j

n
1 t t
 ij = ∑ r i −r i ⋅r j −r j 
n i =1

#
Mô hình bài toán [5]
• Phương sai danh mục
– Do Markowitz đưa ra vào năm 1952
– Đọat giải Nobel kinh tế năm 1990
N N
 =∑ ∑ w i⋅w j⋅ ij
2
p
i=1 j=1
với :
N

∑ w i=1
i=1
Trong đó , N là số lượng tài sản trong danh mục.

#
Mô hình bài toán [6]
• Danh mục đầu tư hiệu quả
– Là danh mục đầu tư vào những tài sản có rủi ro là thấp nhất
với cùng giá trị tỷ suất sinh lợi mong đợi đạt được là như
nhau trong tất cả các danh mục đầu tư
N N
 =∑ ∑ w i⋅w j⋅ ij  min
2
p
i=1 j=1

Với các điều kiện ràng buộc :


N
− ∑ w i r i ≥tỷ suất sinh lợi cho trước 
i=1
N
− ∑ w i≤1 không nhất thiết phải đầu tư hết 
i=1
− w i ≥0
#
Thuật giải di truyền [1]
• Do John Holland và Goldberg đề xướng
• Mô phỏng quá trình tiến hóa sinh học
– Chọn lọc
– Lai ghép
– Đột biến

#
Thuật giải di truyền [2]
• Các khái niệm chính
– Quần thể (generation)
– Cá thể (individual)
– Nhiễm sắc thể (chromosome)
– Gen (gene)
– Tính trạng (alen)

#
Thuật giải di truyền [3]
• Tại sao chọn GAs
– Lời giải mang tính chất tự nhiên
– Cài đặt không quá phức tạp
– Là bản nâng cấp từ Hill- Climbing

#
Thuật giải di truyền [4]
• B1: Khởi tạo và mã hóa một quần thể ngẫu nhiên
• B2: Đánh giá độ thích nghi của mỗi NST trong quần
thể hiện tại
• B3: Tạo ra thế hệ trung gian bằng toán tử Chọn lọc
theo nguyên lý phân bố xác xuất dựa trên các độ thích
nghi
• B4: Tạo ra thế hệ trung gian bằng toán tử lai ghép
• B5: Tạo ra thế hệ trung gian bằng toán tử đột biến
• Lặp lại các bước từ B2 – B5 cho đến khi dừng thuật
giải

#
Ứng dụng [1]
• Alen = Giá trị tỷ trọng tài sản
• Gene = Nhóm bit biểu diễn tỷ trọng tài
sản
• Chromosome = Chuỗi bit mã hóa tỷ
trọng
• Individual = Portfolio
• Generation = Tập hợp các Portfolio

#
Ứng dụng [1]
• Mã hóa bài toán
– Biểu diễn giá trị tỷ trọng w chính xác đến k
số lẻ
w 11 w12. .. w 1m w 21 w 22 ... w 2m ... w n1 w n2 ... w nm

2m−1≤10k ≤2m−1

#
Ứng dụng [2]
• Khởi tạo quần thể
– Giai đoạn đầu tiên, POP_SIZE cá thể với
cấu trúc NST ngẫu nhiên được khởi tạo với
xác xuất PO với PO là xác xuất xuất hiện bit
1 (true)

#
Ứng dụng [3]
• Tiến trình chọn lọc
Tính độ thích nghi eval  vi  của mỗi NST v i i=1.. PS  với PS là kích thước quần thể :
f v i 
eval  vi = PS với f v i  là hàm mục tiêu.
∑ f v i 
i=1
Tính xác suất chọn pi cho mỗi NST v i
eval v i 
pi= PS

∑ eval v i 
i=1
Tính xác suất tích lũy qi cho mỗi NST v i
i
q i =∑ p j
j=1

#
Ứng dụng [4]
• Tiến trình chọn lọc
– Quay bánh xe roulet POP_SIZE lần, mỗi lần chọn
ra một NST từ quần thể hiện hành vào quần thểm
mới
• Phát sinh số r trong đoạn [0,1]
• Nếu r < q1 chọn NST đầu tiên
• Ngược lại chọn NST vi sao cho qi−1 r≤qi

#
Ứng dụng [5]
• Lai ghép
– Các cặp cha mẹ được chọn lựa với xác suất Pc và
được ghép đôi ngẫu nhiên.
– Tiến hành lai ghép tại điểm lai được chọn ngẫu
nhiên.
– Đưa cặp NST con vào quần thể mới
• Đột biến
– Với mỗi NST tiến hành đột biến với xác suất Pm tại
điểm đột biến được chọn ngẫu nhiên
– Đưa NST mới vào quần thể

#
Ứng dụng [6]
• Ánh xạ hàm mục tiêu
f  x=C max − g  x khi g  xC max ; ngược lại f  x=0

#
Ứng dụng [7]
• Xử lý các ràng buộc
m

f p  x= f  x ∑ C i i
i =1
Trong đó :
− f  xlà hàm mục tiêu
− i=0 nếu ràng buộc thứ i thỏa , ngược lại  i=1
−C i : hệ số phạt tương ứng

#
Ứng dụng [8]
• Điều kiện kết thúc
– Dùng tham số chỉ ra số thế hệ cần tạo ra

#
Triển khai với POPC++
• Tận dụng ưu thế xử lý song song vào:
– Tính độ thích nghi của mỗi cá thể
– ...
–…
– ...

#
Câu hỏi

Anda mungkin juga menyukai