Phần 1: Xây dựng index ngành của thị trường chứng khoán VN cho Amibroker.

Xuất phát từ nhu cầu là làm thế nào để có được các chỉ số index của các ngành trên thị trường niêm yết của VN cho database của amibroker, tôi đã lên mạng lục lọi xem đã có ai đã xây dựng xong chỉ số các ngành và sẵn lòng share dữ liệu đó ko. Mất hết 1-2 buổi ngồi với google tôi cũng tìm thấy được một số nguồn cung cấp dữ liệu. Tuy nhiên những nguồn này lại ko đáp ứng được nhu cầu của tôi. Tôi muốn dữ liệu index ngành với các yêu cầu sau:

- Dữ liệu đó phải tương thích với Amibroker vì tôi là người sử dụng Amibroker.
- Dữ liệu đó phải đầy đủ và đáng tin cậy.
- Dữ liệu đó phải được cập nhật một cách tự động vào amibroker.
- Quan trọng hơn hết là tôi có quyền thay đổi danh sách cổ phiếu được dùng để tính index của ngành đó và tôi có khả năng cập nhật lại index theo danh sách cổ phiếu mới đó một cách tự động.

Với những yêu cầu như vậy đã buộc tôi phải tự tìm ra phương pháp để xây dựng index ngành cho riêng mình. Tôi đã quyết định xây dựng index ngành dựa trên phương pháp xây dựng VN-Index. Bạn có thể tham khảo cách xây dựng VN-index tại các nguồn sau:

http://vi.wikipedia.org/wiki/Vn-Index
http://www.ssc.gov.vn/portal/pls/portal ... anguage=us

Điều này có nghĩa tôi phải phân loại được các ngành của các cổ phiếu niêm yết. Việc này ko phải là việc dễ làm vì có nhiều cổ phiếu kinh doanh đa ngành và việc xác định ngành của các cp đó rất khó khăn. Cuối cùng tôi tạm chấp nhận với việc phân loại ngành theo sự phân loại của http://www.cophieu68.com (một số cp niêm yết sau này vẫn chưa được cophieu68 cập nhật ngành. Có lẽ họ cũng gặp những khó khăn như tôi đang gặp phải?! ). Bằng việc sử dụng sự phân ngành sẳn có cophieu68, tôi đã có nhiều thơi gian hơn cho việc lập phương pháp xây dựng index ngành trên Amibroker. Tuy nhiên, tôi cũng đang rất mong được hợp tác với những bạn có cùng đam mê để hoàn thiện việc phân loại này.

Nếu bạn nào đã từng sử dụng Metastock và cả Amibroker thì bạn sẽ thấy Amibroker cung cấp cho bạn nhiều sức mạnh và sự tự do hơn trong việc xậy dựng cho mình hệ thống trading mà Metastock không thể nào làm được. Trong khi việc viết các hàm, indicators, explorer, scaning …. khá khó khăn với Metastock thì bạn có thể làm được tất cả những việc đó với Amibroker chỉ với bằng một vài dòng lệnh nhỏ. Ngoài ra, nếu bạn là người có khả năng lập trình bạn sẽ cảm thấy Amibroker chính là sự lựa chọn chính xác nhất. Ami cung cấp cho bạn khả năng can thiệp sâu vào trong hệ thống của nó bằng nhiều cách khác nhau. Bạn có thể dung ngôn ngữ AFL (Amibroker formula language) tương tự như Java Script để xây dựng cho mình các công cụ hỗ trợ trading như tôi đã đề cập ở trên. Bạn cũng có thể sử dụng VBScript or Jscript để viết vì cả 2 đều được tích vào Ami. Với những ai có kiến thức lập trình tốt (đặc biệt với ngôn ngữ C++) thì Ami cung cấp cho người đó khả năng can thiệp rất sâu vào hệ thống của Ami bằng việc viết các thư viện động (dll: dynamic linking library) với tốc độ chạy nhanh như các hàm trực tiếp của Ami. Và cuối cùng là một khả năng của Ami mà tôi đang dùng để xây dựng index ngành là tương tác với các đối tượng OLE (Objects linking embeded) của Ami. Những đối tượng này giống như là những cánh tay nối dài giúp bạn làm được những việc mà có thể lúc đầu bạn không nghĩ là mình sẽ làm được.

Trở lại với việc xây dựng index ngành. Sau khi bỏ ra một thời gian tìm hiểu tôi quyết định là mình sẽ tổ chức các ngành nghề trong database của ami theo danh mục ngành nghề của VSIC 2007 của tổng cục thống kê VN vì tôi thấy đây là bản ngành nghề hoàn chỉnh nhất mà trong tương lai tôi nghĩ các công ty ck sẽ phải sử dụng (http://www.gso.gov.vn/Modules/Doc_Downl ... DocID=6422). (Tôi chỉ mới tạo ra được danh sách các ngành nghề và ngành con (sector và industry) tương ứng trên ami. Tôi vẫn chưa phân loại chi tiết các cổ phiểu đang niêm yết vào từng ngành vì việc này rất mất nhiều thời gian và cũng rất khó khăn để làm. Tôi mong là sẽ được hợp tác với một số bạn cùng đam mê để hoàn thành việc này).

Tạm chấp nhận với việc là mình sẽ sắp xếp lại danh sách cp theo ngành nghề vào một thời điểm khác, tôi chọn ra một vài cổ phiếu và đưa vào một ngành (tạm gọi là testing) để phát triển chương trình xây dựng index ngành cho Ami. Sau khi tìm hiểu kỹ lại các hạn chế và khả năng có thể của Ami, của bản thân cũng như quỹ thơi gian tôi có thể dành cho việc này, tôi quyết định mình sẽ xây dựng index ngành bằng vbscript thông qua việc tương tác với các OLE của Ami. Mất gần 2 tuần nghiên cứu và coding, giờ đây tôi đã xây dựng được một hệ thống có thể giúp tôi tạo index ngành theo như các yêu cầu mà tôi đã đặt ra ở trên. Một điều đáng chú ý ở hệ thống này là nó hoàn toàn miễn phí cho người dùng cũng như nó tạo ra một môi trường mà người sử dụng có thể tự do phát triển các ý tưởng của mình bằng việc viết các script và đưa vào hệ thống để nó thực hiện. đây cũng chính là cách mà tôi xây dựng index ngành cho riêng mình. Tôi viết một đoạn vbscript tương tác với OLE của Ami và thông quá nó tôi tạo đã tạo index ngành một cách hoàn toàn tự động. Thật thích thú phải ko bạn? Bây giờ bạn chỉ bị giới hạn ở khả năng tưởng tượng và khả năng hiểu biết của chính bạn thân mà thôi. Tôi sẽ dành ra một bài viết khác để hướng dẫn bạn cách sử dụng hệ thống đó.

Xin lỗi các bạn vì tôi phải tạm ngừng ở đây để ngủ bù một chút cho những ngày thức khuya vừa qua . Trong các bài viết tiếp theo tôi sẽ viết về các vấn đề sau:

- Tạo danh mục ngành cho Amibroker theo danh mục ngành của cục thống kê VN (VSIC 2007) một cách tự động

- Hướng dẫn download và sử dụng hệ thống chương trình mà tôi đã để cập ở trên để tạo index ngành trên Amibroker

- Sau khi hoàn thành 2 việc trên, nếu còn thời gian tôi sẽ trao đổi cùng mọi người việc sử dụng amibroker trong trading cũng như phân tích ck: cả về phân tích cơ bản và phân tích thuật vì Amibroker có khả năng làm được những việc đó rất dễ dàng.

- Và nếu còn thời gian, tôi sẽ hướng dẫn để giúp những bạn nào chưa hiểu và đang muốn tìm hiểu về amibroker cũng như phát triển các ứng dụng trên amibroker cũng như sẽ trao đổi để cùng nâng cao kiến thức với những bạn có cùng đam mê.

Các vấn đề mà hiện tại tôi rất cần sự giúp đỡ của mọi người để có thể giái quyết được chúng là:

- Sắp xếp các cp đang niêm yết vào đúng ngành nghề đã được tạo ra ở trên

- Sự phản hồi của các bạn về hệ thống mà tôi phát triển để tôi có thể hoàn thiện chúng ngày càng
tốt hơn.