Thứ Ba, 20 tháng 8, 2013

Thuật toán di truyền phần 1: xây dựng danh mục đầu tư



GIỚI THIỆU THUẬT TOÁN DI TRUYỀN
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
Thu thập dữ liệu cổ phiếu và chỉ số VN-Index
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.

Bước 4: Lựa chọn danh mục phù hợp và kiểm tra tính bền vững của danh mục
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