Thuật toán di truyền là thuật toán tối
ưu ngẫu nhiên dựa trên cơ chế chọn lọc tự nhiên và tiến hóa di truyền. Nguyên
lý cơ bản của thuật toán di truyền đã được Holland giới thiệu vào năm 1962. Cơ
sở toán học đã được phát triển từ cuối những năm 1960 và được giới thiệu trong
cuốn sách đầu tiên của Holland: Adaptive
in Natural and Artificial Systems. Thuật toán di truyền được ứng dụng đầu tiên trong hai lĩnh vực chính:
tối ưu hóa và học tập của máy (learning machine). Trong lĩnh vực tối ưu hóa,
thuật toán di truyền được phát triển nhanh chóng và ứng dụng trong nhiều lĩnh
vực khác nhau như tối ưu hàm, xử lý ảnh, bài toán hành trình người bán hàng,
nhận dạng hệ thống và điều khiển.
Thuật toán
di truyền cũng như các thuật toán tiến hóa nói chung, hình thành dựa trên quan
điểm cho rằng, quá trình tiến hóa tự nhiên là quá trình hoàn hảo nhất, hợp lý
nhất và tự nó đã mang tính tối ưu. Quan niệm này có thể xem như một tiên đề
đúng, không chứng minh được nhưng phù hợp với thực tế khách quan. Quá trình
tiến hóa thể hiện tính tối ưu ở chỗ, thế hệ sau bao giờ cũng tốt hơn (phát
triển hơn, hoàn thiện hơn) thế hệ trước vì tính kế thừa và đấu tranh sinh tồn.
Thuật
giải di truyền cung cấp một cách tiếp cận cho việc tối ưu hóa dựa vào mô phỏng
sự tiến hóa. Các giả thuyết thường được mô tả bằng các chuỗi bit, việc hiểu các
chuỗi bit này tùy thuộc vào ứng dụng, ý tưởng các giả thuyết cũng có thể được
mô tả bằng các biểu thức kí hiệu hoặc các chương trình máy tính. Tìm kiếm giả
thuyết thích hợp bắt đầu với một quần thể, hay một tập hợp có chọn lọc ban đầu
của các giả thuyết. Các cá thể của quần thể hiện tại khởi nguồn cho quần thể
thế hệ kế tiếp bằng các hoạt động lai ghép và đột biến ngẫu nhiên – được lấy
mẫu sau các quá trình tiến hóa sinh học. Ở mỗi bước, các giả thuyết trong quần
thể hiện tại được ước lượng liên hệ với đại lượng thích nghi được cho, với các
giả thuyết phù hợp nhất được chọn theo xác suất là các hạt giống cho việc sản
sinh thế hệ kế tiếp. Thuật giải di truyền đã được ứng dụng một cách thành công
cho nhiều tác vụ thuộc nhiều lĩnh vực khác nhau.
Sơ đồ cấu trúc thuật toán di truyền tổng quát
Ứng dụng của thuật toán di truyền
Ưu điểm vượt trội của thuật toán di truyền là nó dễ dàng thích nghi và
xử lí với bất kì rằng buộc nào của hàm mục tiêu. Đặc biệt với các bài toán tối
ưu trong không gian tìm kiếm lớn và không có những phân tích toán học có sẵn, ngay
cả trường hợp mà phương pháp truyền thống không thể tiếp cận được, GAs vẫn có
thể giải quyết và đưa ra phương án tối ưu. GAs được ứng dụng trong nhiều lĩnh
vực khác nhau, bao gồm cả khoa học, kỹ thuật, kinh tế, xã hội.
§ Lĩnh vực tối ưu hóa: GAs được
sử dụng trong hàng loạt các vấn đề tối ưu, bao gồm cả tối ưu hóa số học và tối
ưu hóa tổ hợp, ví dụ bài toán hành trình của người bán hàng (TSP), thiết kế
mạch Louis 1993, lập kế hoạch công việc của cửa hàng Goldstein 1991 và tối ưu
hóa chất lượng âm thanh & hình ảnh.
§ Lập trình tự động hóa: GAs được
sử dụng để phát triển các chương trình máy tính thực hiện các nhiệm vụ chuyên
biệt và thiết kế một số cấu trúc tính toán khác ví dụ như thiết kế mạng lưới
tính toán và phân loại tự động.
§ Học tập của máy và robot: GAs có
nhiều ứng dụng trong lĩnh vực “học tập của máy” để phân loại, dự báo và dự báo
cấu trúc của chuỗi Protein. GAs cũng được sử dụng để thiết kế mạng thần kinh
NNs, phát triển các quy tắc phân loại hệ thống và logo sản xuất, thiết kế quy
trình điều khiển robot.
§ Mô hình hệ thống miễn dịch: GAs được
sử dụng để mô hình hóa các khía cạnh khác nhau của hệ thống miễn dịch tự nhiên,
bao gồm cả đột biến soma trong suốt vòng đời của cá thể và các nhóm gen đa
trong quá trình tiến hóa.
§ Mô hình sinh thái: GAs được sử dụng để mô hình hóa
các hiện tượng sinh thái như các cuộc đua tranh vũ khí sinh học, vật chủ - kí
sinh trùng đồng tiến hóa, cộng sinh và nguồn tài nguyên trong hệ sinh thái.
§ Mô hình của các hệ thống xã hội: GAs đã
được sử dụng để nghiên cứu các khía cạnh tiến hóa của các hệ thống xã hội,
chẳng hạn như sự tiến hóa của hợp tác [Chughtai 1995], sự phát triển của truyền
đạt thông tin, và hành vi theo lối mòn ở loài kiến.
Thuật toán
di truyền trong lĩnh vực tài chính
Phương pháp
trí tuệ nhân tạo nói chung và thuật toán di truyền nói riêng ngày càng thể hiện
sự vượt trội so với các phương pháp truyền thống. Với mạng thần kinh (NNs) được
sử dụng để dự báo, hệ suy luận mờ (FL) để đối phó với những bất thường và không
chắc chắn, GAs cho tìm kiếm và tối ưu, lĩnh vực trí tuệ nhân tạo hứa hẹn sẽ là
hướng đi định lượng mới, sẽ được ứng dụng rộng rãi trong tương lai. GAs được
ứng dụng thành công trong nhiều khía cạnh khác nhau trong lĩnh vực tài chính
như: dự báo, xác định các quy tắc giao dịch, định giá quyền chọn và xây dựng
danh mục đầu tư.
Dự báo
Aiken và Bsat (1999) sử dụng FFNN (Feed-forward
Neural Network: quá
trình dữ liệu được đưa từ neural đầu vào, qua lớp neural ẩn đến neural đầu ra
để trả ra kết quả dự báo ban đầu được gọi bằng thuật ngữ Feedforward – tức dữ
liệu được đẩy lần lượt từ đầu vào đến đầu ra) với dữ liệu đã được training bằng
thuật toán di truyền (GAs) để dự báo lãi suất kì hạn 3 tháng của trái phiếu kho
bạc Mỹ (U.S Treasury Bill). Họ kết luận NN kết hợp với GAs có thể dự báo một
cách chính xác lãi suất này.
Tansel
và cộng sự (1999) đã so sánh mô hình hồi quy truyền thống với NN, GAs và các mô
hình dự báo chuỗi thời gian trên các tiêu chí: mức độ chính xác của mô hình, sự
tiện dụng và thời gian tính toán. Kết quả nghiên cứu cho thấy, các mô hình hồi
quy tuyến tính truyền thống là mô hình ước lượng tốt nhất. GAs cũng có thể cho
kết quả ước lượng chính xác nếu dữ liệu được giới hạn trong một miền nhất định
và được ước lượng một cách gần đúng. Nhưng NN lại cho kết quả ước lượng kém
chính xác nhất. Mặc dù vậy, họ nhấn mạnh rằng, mô hình phi tuyến được xây dựng
kết hợp giữa GAs và NN có thể là một công cụ dự báo mạnh, phù hợp với tiêu
chuẩn ước lượng tổng quát.
Kim
và Han (2000) sử dụng phương pháp mạng thần kinh NN với sự hỗ trợ của thuật
toán di truyền để dự báo chỉ số giá chứng khoán. Trong trường hợp này, GAs được
sử dụng để hạn chế sự phức tạp của những khoảng thời gian đặc biệt bằng cách
tối ưu hóa sự liên kết giữa các lớp. Họ kết luận rằng phương pháp sử dụng NN
kết hợp với GAs cho kết quả chính xác hơn các phương pháp thông thường.
Tiếp
theo, nghiên cứu của Kuo và cộng sự (1996) và nghiên cứu của Kuo và cộng sự
(2001) phát triển FNN (GFNN) trên nền tảng GAs, để phát triển một cách có hệ
thống các kiến thức về hệ suy luận mờ, một hệ thống có thể định lượng ảnh hưởng
của các nhân tố định tính (ví dụ nhân tố chính trị) lên thị trường chứng khoán.
Những tác động này hoàn toàn đồng nhất với mô hình với các chỉ số phân tích kỹ
thuật bằng phương pháp NN. Sử dụng tín hiêu mua - bán thông qua cách tiếp cận
trí tuệ nhân tạo trên TTCK Đài Loan, họ kết luận rằng NNs sử dụng cả các nhân
tố định lượng (phân tích kỹ thuật) và nhân tố định tính hiệu quả hơn chỉ sử
dụng các nhân tố định lượng.
Xác định các quy tắc giao dịch
Sự
tính toán thời gian phù hợp để đưa ra quyết định (timing) là một trong những
yếu tố quan trọng nhất mang lại hiệu quả trong quyết định đầu tư. GAs là một
công cụ mạnh để xác định các quy tắc giao dịch (định nghĩa về quy tắc giao dịch
sẽ được trình bày cụ thể ở phần sau của bài nghiên cứu), có thể mang lại những
quyết định đầu tư hợp lý, đây là ưu điểm nổi trội của GAs so với NNs và FL.
Frick
và cộng sự (1996) đã nghiên cứu để tìm ra một quy tắc giao dịch mua và bán
chứng khoán dựa trên các mẫu hình của đồ thị giá. Phương pháp của họ tập trung
vào sự biến đổi của các mẫu hình, các tín hiệu mua, bán được phát ra khi có sự
đảo ngược mẫu hình. Bằng cách mã hóa nhị phân các đồ thị này, họ đã sử dụng
thuật toán di truyền để phân loại các mẫu hình khác nhau. Với benchmark là TSSL
trung bình của cổ phiếu, họ thống kê rằng, phương pháp này có thể mang lại TSSL
vượt trội trên sàn chứng khoán Fankfurt (FSE).
Kassiecieh
và cộng sự (1997) đã kiểm tra tính hiệu quả của GAs khi sử dụng để tạo một quy
tắc giao dịch market-timing có hệ thống. Mục tiêu của họ là phát triển một
chiến lược nắm giữ cổ phiếu theo tháng, quyết định xem nhà đầu tư nên nắm giữ
hoàn toàn một danh mục lớn gồm nhiều cổ phiếu, S&P 500 hay đầu tư phi rủi
ro vào trái phiếu kho bạc Mỹ. Cũng bằng phương pháp đó, Bauer (1994), với dữ
liệu đầu vào là 10 chỉ số kinh tế khác nhau, họ đã sử dụng GAs để tìm ra 3 chỉ
số tốt nhất có thể được dùng để ra quyết định. Họ khẳng định rằng, phương pháp
này cho một kết quả TSSL rất cao.
Tiếp
theo những nghiên cứu trên, Kassiecieh và cộng sự (1997) đã sử dụng GAs với dữ
liệu chuỗi thời gian của nhiều biến kinh tế khác nhau để chọn ra những biến số
chính làm input cho mô hình NN với 2, 3, 5 và 10 lớp ẩn.
Allen
và Karjalainen sử dụng GAs để khai thác dữ liệu từ các chỉ số PTKT cho chỉ số
S&P 500, với dữ liệu được lấy theo ngày từ năm 1928 – 1995. Mặc dù, kết quả
nghiên cứu cho thấy rằng, sau chi phí giao dịch, GAs không mang lại TSSL cao
hơn so với phương pháp nắm giữ cổ phiếu trong toàn bộ thời gian tương đương
nhưng nó có thể nhận ra những sự đảo chiều xu hướng trong những giai đoạn ổn
định, khối lượng giao dịch ở mức thấp.
Baba
và các cộng sự (2000) đã xây dựng hệ thống “hỗ trợ quyết định thông minh” –
Intelligent Decision Support System (DSS) để phân tích chỉ số giá chứng khoán
Tokyo (Tokyo Stock Exchange Prices Indexes – TOPIX). Bản chất của nghiên cứu
này là sử dụng DSS để dự báo mức giá cao và thấp khác nhau, đưa ra các tín hiệu
mua, bán của TOPIX trong bốn tuần liên tục. Mặt khác, họ xây dựng mô hình
(8,15,2)FFNN với dữ liệu đã được training bởi GAs kết hợp phương pháp BackpropaGAstion
– BP, là hệ thống ANN đa lớp (lớp đầu vào, lớp ẩn và lớp đầu ra). Họ kết luận rằng
GAs và NN là một công cụ mạnh để nghiên cứu chỉ số TOPIX.
Định giá quyền chọn
Chen
và Lee (1997) đã minh họa bằng cách nào mà GAs – được sử dụng như một công cụ
thay thế NNs có thể dùng để định giá quyền chọn. Nghiên cứu này kiểm định khả
năng của GAs trong việc định giá quyền chọn mua kiểu châu Âu, giả định rằng,
giá của quyền chọn có thể được xác định một cách chính xác bằng lý thuyết Black
– Scholes. Kết quả nghiên cứu cho thấy, đây là một phương pháp đầy hứa hẹn.
Xây dựng danh mục đầu tư
Wendt
(1995) đã sử dụng GAs để xây dựng đường biên danh mục hiệu quả. Mẫu dữ liệu bao
gồm 250 quan sát về lợi nhuận hàng năm của tám loại tài sản khác nhau. Để đánh
giá hiệu quả của GAs, output cuối cùng của GAs được so sánh với phương pháp xây
dựng đường biên hiệu quả bằng mô hình phi tuyến phức tạp. Sau khoảng 50 vòng
lặp, đường biên hiệu quả được xây dựng bằng hai phương pháp này là rất trùng
khớp nhau.
Jackson
(1997) đã áp dụng GAs giải quyết bài toán phân bổ tài sản. Với benchmark được
chọn là phương pháp tối ưu hóa Newton. Trong khi phương pháp Newton cho nhiều
kết quả khác nhau, không phụ thuộc vào giá trị ban đầu thì ngược lại, kết quả
của GAs thường bị gián đoạn trong không gian tìm kiếm và phụ thuộc nhiều vào
giá trị ban đầu.
ỨNG
DỤNG THUẬT TOÁN DI TRUYỀN TRONG XÂY DỰNG DANH MỤC ĐẦU TƯ
Để
xây dựng một danh mục đầu tư, các 2 yếu tố cơ bản mà bất kỳ nhà quản lý danh
mục nào cũng phải quan tâm đó là rủi ro và tỷ suất sinh lợi của danh mục. Có
nhiều lựa chọn khi xây dựng danh mục của mình, đó có thể là danh mục dựa trên
lý thuyết danh mục hiện đại (tối đa hóa tỷ suất sinh lợi với mức rủi ro cho
trước hoặc tối thiểu hóa rủi ro với mức TSSL cho trước) hoặc xây dựng một danh
mục mô phỏng chỉ số nào đó. Với việc xây dựng danh mục dựa trên lý thuyết danh
mục hiện đại, excel và các công cụ sẵn có giúp chúng ta tính toán dễ dàng ma
trận hiệp phương sai và tối ưu hóa hàm mục tiêu, tuy nhiên với việc mô phỏng 1
danh mục cho trước, các công cụ sẵn có trong excel dường như là chưa đủ.
Với
việc sử dụng thuật toán di truyền, không khó để giải quyết vấn đề trên vì thuật
toán di truyền là thuật toán đối ngẫu, có thể thích nghi với nhiều loại hàm mục
tiêu khác nhau. Để thực hiện thuật giải di truyền, một phần mềm khá toàn diện
có thể dử dụng đó là Evolver 5.7 trên nền Excel. Đây là một chương trình tối ưu
hóa rất mạnh và được nhiều nhà định lượng tài chính sử dụng. Dưới đây chúng tôi
sẽ trình bày cụ thể các bước thiết lập danh mục mô phỏng theo chỉ số VN-index
với 1 danh mục gồm 5 cổ phiếu được lựa chọn trong số 50 cổ phiếu có vốn hóa lớn
nhất trên HOSE.
Bước
1: Tính toán dữ liệu đầu vào cho mô hình
Tính
toán TSSL của chỉ số và danh mục. TSSL danh mục = tỷ trọng cổ phiếu*TSSL tương
ứng. Vì đây là thuật toán đối ngẫu nên giá trị tỷ trọng ban đầu có thể lấy tùy
ý.
Bước 2: Thiết lập hàm mục tiêu
Trong thuật
toán di truyền, điểm quan trong nhất quyết định đến kết quả mô hình đó là phải
xây dưng đươc 1 hàm mục tiêu phù hợp. Trong trường hợp này, chúng tôi chọn hàm
mục tiêu như sau:
fmục
tiêu = Giá trị tuyệt đối [TSSL VN-index – TSSL danh mục]
Mục tiêu của
mô hình sẽ đi tối thiểu hóa hàm mục tiêu trên. Với công cụ excel, khối lượng
tính toán quá lớn sẽ khiến excel không thể tìm ra đáp số của bài toán, tuy
nhiên với Evolver 5.7, bạn
không phải lo lắng về điều này.
Bước 3: Thiết lập các
rằng buộc và tối ưu hóa hàm mục tiêu trong Evolver
Sau
khi hoàn thành bước 1 và bước 2, công việc còn lại là vô cùng đơn giản, bạn chỉ
cần đưa ra các rang buộc về tổng tỷ trọng cũng như giới hạn tỷ trọng của các cổ
phiếu trong danh mục để phần mềm thực hiện. Khi tiến hành thuật giải nâng cao,
bạn cũng có thể sử dụng các macro trong excel để đơn giản hóa các tính toán của
mình.
Một
đặc điểm cũng cần lưu ý là ở Việt Nam không cho phép ban khống, do đó tỷ trọng
các mã trong danh mục không được là một con số âm. Việc sử dụng phần mềm này là
không khó, chúng tôi nhận thấy nó gần giống như Crystal Ball hay @Risk mà các
bạn vẫn thường sử dụng.
Vì
có nhiều danh mục có thể có cùng mối tương quan cao với chỉ số, do đó lựa chọn
danh mục nào là tùy thuộc vào sở thích của bạn. Có 2 hệ số có thể hỗ trợ bạn
trong việc ra quyết định đó là Sharpe Ratio và Treynor Ratio. Tất nhiên chúng
tôi sẽ không trình bày 2 chỉ số này ở đây.
Với
mô hình xây dựng danh mục gồm 5 cổ phiếu có tương quan cao nhất với Index,
chúng tôi lựa chọn 1 danh mục gồm GAS, VNM, MSN, VCB và EIB (đây chỉ là sở
thích của mỗi người). Các thong tin cơ bản về danh mục có thể được tính toán dễ
dàng trong excel.
Việc cuối cùng là các
bạn có thể theo dõi 1 (1 nhóm) các danh mục được lựa chọn để xem tính bền vững
(tương quan tốt ngoài mẫu) của danh mục. Như ví dụ ở trên, có nhiều danh mục có
mức độ tương quan và hàm mục tiêu tối ưu hơn nhưng chúng tôi lại lựa chọn danh
mục chỉ có R2 chỉ khoảng 90% để kết quả không quá khít (không có
tính khái quát). Đó vừa là khoa học nhưng cũng vừa là nghệ thuật.
Với thuật toán di truyền, chúng ta còn có thể ứng dụng trong
nhiều mô hình tài chính khác. Trong phạm vi của bài viết này, chúng tôi chỉ
giới thiệu việc xây dựng danh mục đầu tư. Các ứng dụng khác sẽ được chúng tôi
giới thiệu trong các loạt bài sau về tài chính định lượng.
Không có nhận xét nào:
Đăng nhận xét