Các công ty chứng khoán này, sẽ cung cấp các dịch vụ như: Tiếp nhận giao dịch từ nhà đầu tư, chi trả các lợi tức và cổ tức...Nhà đầu tư, khi muốn đăng kí đầu tư tại các Trung tâm giao dị
Trang 1ĐẶT VẤN ĐỀ
Hiện nay ở Việt Nam, có hai Trung tâm giao dịch chứng khoán là Trung tâm giao dịch Hà Nội (gọi tắt là HASTC) và Sở giao dịch chứng khoán tại TP Hồ Chí Minh (gọi tắt là HOSE) Ngoài hai trung tâm chứng khoán, còn có các công ty chứng khoán thành viên Các công ty chứng khoán này, sẽ cung cấp các dịch vụ như: Tiếp nhận giao dịch từ nhà đầu tư, chi trả các lợi tức và cổ tức Nhà đầu tư, khi muốn đăng kí đầu tư tại các Trung tâm giao dịch, họ sẽ đăng kí tài khoản tại các sàn chứng khoán thành viên theo đúng qui định nhà nước Sau khi đăng kí thành cụng, nhà đầu tư sẽ có tài khoản tại sàn giao dịch mà họ đăng kí Kể từ lúc này thì
họ đã có thể thực hiện giao dịch tại sàn giao dịch này
Việc tiếp nhận thĩng tin và ra quyết định của nhà đầu tư diễn ra trong một khoảng thời gian ngắn Vỡ những đặc điểm này nờn mới cú nhu cầu tạo ra một hệ thống đáp ứng thĩng tin nhanh và chính xác nhất cho nhà đầu tư Ngoài ra, Uỷ ban chứng khoán nhà nước cũng cần cung cấp thông tin đến với nhà đầu tư nhanh
chóng, để đảm bảo tính minh bạch cho thị trường chứng khoán BGTT ra đời đáp ứng được các nhu cầu này BGTT là hệ thống hiển thị thĩng tin các giao dịch hiện thời của một Trung tâm chứng khoán BGTT có chức năng hiển thị cỏc thĩng tin chứng khoán nhanh chóng cho nhà đầu tư hay những người theo dõi về giao dịch chứng khoán BGTT đã được sử dụng rộng rãi, được những người quan tâm truy cập nhiều trên Internet, và được theo dõi thông qua truyền hình
Hiện nay, khụng những tại Trung tâm giao dịch, mà tất cả cỏc sàn giao dịch chứng khoán đều triển khai BGTT Tại thời điểm hiện tại đã cú hơn 80 Công ty chứng khoán, và con số này có thể tăng nhanh trong thời gian tới Ngoài ra, hiện nay trên khá nhiều Website tin tức, Website ngân hàng và các công ty đều mong muốn đưa BGTT vào hệ thống Website của mình Vỡ thế nhu cầu xây dựng mới và nâng cấp BGTT là rất lớn
Cú rất nhiều vấn đề phải giải quyết khi xây dựng hệ thống BGTT Trước hết đó là hệ thống phải đảm bảo độ tin cậy tuyệt đối, bởi nếu có sự sai sót, sẽ mang lại hậu quả khôn lường cho nhà đầu tư, cũng như cho Công ty giao dịch chứng khoán Tiếp đó, hệ thống phải đảm bảo cập nhật dữ liệu nhanh chóng, khi có thay
đổi tại Trung tâm giao dịch chứng khoán, tuỳ theo độ trễ của dữ liệu, Bảng giá cũng
phải hiển thị thay đổi này BGTT cũng phải hiển thị được trạng thái của cổ phiếu và thị trường, như cổ phiểu đang tăng hay giảm, khối lượng cổ phiếu đã thực hiện Cạnh đó, mô hình hoạt động của hai Trung tâm giao dịch khác nhau, nên chúng ta phải xây dựng song song hai BGTT Hệ thống BGTT còn có một nhiệm vụ khác, đó
là cung cấp dữ liệu cho các phần khác trong một hệ thống chứng khoán, như thông tin doanh nghiệp, biểu đồ, hệ thống đặt lệnh trực tuyến, quản lý doanh mục đầu tư, tra cứu dữ liệu lịch sử Vỡ vậy việc xây dựng cần có một cơ chế xây dựng phù hợp
để xây dựng cơ sở dữ liệu cần thiết cho cả hệ thống này Ngoài ra, lúc triển khai, chúng ta sẽ triển khai BGTT cho hai hệ thống, hệ thống Website chứng khoán, và triển khai cho máy chiếu trực tiếp trên Sàn giao dịch Vì thế, hệ thống BGTT sẽ tách biệt hẳn với hệ thống Website chứng khoán Nó dựng cơ sở dữ liệu riêng, và có thể triển khai riêng
Thĩng tin trờn BGTT thường rất nhiều con số, những con số này nằm rất sát nhau trong một phạm vi khỏ hẹp Tuy mục đích của BGTT là hiển thị thĩng tin cho người dùng, yâu cầu về giao diện bắt mắt cú thể khụng cần thiết Nhưng với
Trang 2việc hiển thị một số lượng khỏ lớn thĩng tin, Bảng giá cũng phải lưu ý đến vấn đề
đảm bảo tách biệt các thĩng tin để người dùng dễ theo dõi Đặc biệt với chứng
khoán, thĩng tin chứng khoán ngođi con số ra, cũn được hiển thị thĩng qua màu sắc Bởi thế, BGTT phải đảm bảo được những yâu cầu này
Do có liên quan mật thiết giữa các phần trong hệ thống Website chứng khoán, nên chúng ta phải xác định được phạm vi của hệ thống BGTT Việc xác định
phạm vi của Bảng giá sẽ giơp ta khái quát được mĩ hình hệ thống tổng quan nhất,
và xác định được khối lượng cụng việc cần làm Bảng giá sẽ không bao gồm việc
phân tích hay tra cứu dữ liệu lịch sử, nó chỉ cung cấp dữ liệu cho tất cả các thành phần khác dưới dạng cơ sở dữ liệu Phạm vi BGTT vì thế cũng chỉ nằm trong phạm
vi đã nói ở trờn
Trong đồ án này, bố cục trình bày sẽ như sau:
Chương I: Khảo sát và phân tích BGTT Đây là phần bắt đầu để xây dựng
hệ thống Bảng giá Em sẽ khảo sát một số nguồn để tổng hợp thành các kết
quả, sau đó phân tích các kết quả này để đưa ra được những chức năng mà
em định xây dựng, đồng thời em sẽ đưa ra được những yêu cầu cần hiệu năng cần thiết
Chương II: Thiết kế hệ thống BGTT Chương này sẽ mô tả việc thiết kế hệ thống như thế nào, và mô tả kết quả đạt được Thiết kế dựa trên ngôn ngữ
mô hình hoá UML
Chương III: Cài đặt chương trình Chương III sẽ mô tả quá trình cài đặt chương trình, bao gồm việc phân tích các chức năng và yêu cầu để lựa chọn giải pháp công nghệ phù hợp Em cũng sẽ nờu một số vấn đề đã gặp trong việc cài đặt chương trình, những vấn đề này là vấn đề phát sinh
khụng cú trong thiết kế Sau đó em sẽ nờu các bước kiểm thử và kết quả kiểm thử Cuối cùng em sẽ chỉ ra những kết quả đạt được
Chương V: Áp dụng thực tế BGTT Chương này mô tả hệ thống được cài đặt thực tế ở đâu, và trong quá trình cài đặt đã gặp phải những vấn đề gì, đã được khắc phục như thế nào
Chương VI: Kết luận: Chương cuối cùng là phần kết luận
Trang 3LỜI CẢM ƠN
Qua 5 năm học, em đã được cung cấp những kiến thức cơ bản Em xin chân thành cảm ơn các thầy cô đã dạy dỗ và chỉ bảo em trong suốt quá trình học tập và nghiên cứu tại trường đại học Bách Khoa Đặc biệt em xin cảm ơn tới tất cả các thầy cô trong bộ môn Mạng & Truyền thông, các thầy cô trong khoa CNTT và các thầy cô đã từng giảng dạy cũng như giúp đỡ em trong quá trình học tập và nghiên cứu tại trường đại học Bách Khoa
Em xin gửi lời cảm ơn sâu sắc tới thầy giáo Hà Quốc Trung, thầy đã tận tình
hướng dẫn em giải quyết những khó khăn cũng như vướng mắc trong quá trình làm đồ án
Ngoài ra, em cũng xin cảm ơn công ty Cổ phần tập đoàn Đầu tư và Công nghệ AG
đã giúp đỡ em trong thời gian thực tập, để em có thể vận dụng những kiến thức lí thuyết đã
được học trong nhà trường Em xin cảm ơn anh Nguyễn Quang Đông (giám đốc điều hành công ty AG), chị Đào Hương Giang (Leader AGSoft), bạn Nguyễn Ngọc Quang đã
tạo điều kiện giúp đỡ em trong quá trình thực tập
Cuối cùng em xin cảm ơn gia đình, bạn bè đã giúp đỡ em những khó khăn về thời gian cũng như những khó khăn khác khi làm đồ án này
Em xin chân thành cảm ơn!
Sinh viên:
Lê Duy Thứ
Lớp: TT & MTT - K48
Trang 4MỤC LỤC
Trang 7CHƯƠNG I: KHẢO SÁT-PHÂN TÍCH BẢNG GIÁ TRỰC TUYẾN
Khảo sát một hệ thống là bắt tay nghiên cứu để lấy về những thông tin cần thiết để phân tích, tạo ra các chức năng và yêu cầu của hệ thống Khảo sát thường dựa trên các nguồn như khảo sát hệ thống cũ nếu cú, khảo sát cỏc hệ thống tương
tự, hoặc khảo sát từ các đặc điểm của hệ thống
Mục đích khảo sát hệ thống BGTT là tổng hợp được cỏc kết quả từ để cung cấp dữ liệu cho phần phân tích, để đưa ra các chức năng hệ thống mà chơng ta định xây dựng Đồng thời, chơng ta cũng sẽ dựa vào khảo sát để đưa ra các yâu cầu về hiệu năng
Cách thức tiến hành khảo sát như sau:
+ Khảo sát nghiệp vụ chứng khoán
+ Khảo sát về các thông tin trên BGTT
+ Khảo sát dựa trên một số BGTT đã triển khai trên thị trường
+ Khảo sát cách thức xây dựng hệ thống BGTT
Nguồn khảo sát:
+ Khảo sát tại một số sàn giao dịch chứng khoán
+ Khảo sát một số Website chứng khoán
+ Khảo sát các tài liệu chứng khoán
I KHẢO SÁT NGHIỆP VỤ CHỨNG KHOÁN
1 Khảo sát nghiệp vụ chứng khoán
Trước khi xây dựng một đề tài về chứng khoán, hiển nhiân chúng ta phải hiểu chứng khoán là gỡ, cách thức hoạt động nỉ như thế nào Phần khảo sát này sẽ đáp ứng các thĩng tin về nghiệp vụ chứng khoán cần thiết để xây dựng hệ thống BGTT Để khảo sát và đạt được các kết quả, em tham khảo từ nguồn Internet (thĩng tin trờn một số website chứng khoán, và website của hai Trung tâm giao dịch chứng khoán Hà Nội và TP Hồ Chớ Minh) Để thực tế hơn, là em sẽ đến trực tiếo sàn Giao dịch chứng khoán để lấy tư liệu Phần dưới đõy em sẽ tỉm tắt một số nghiệp vụ chứng khoán đã tìm hiểu được
Trước hết, đó là cỏch thức để một nhà đầu tư cú thể đầu tư vào chứng khoán Nhà đầu tư, họ sẽ đến một trong các Sàn giao dịch chứng khoán được Trung tâm chứng khoán uỷ quyền (đôi khi chúng ta gọi là công ty chứng khoán thành viên hay là Sàn chứng khoán thành viên), mở một tài khoản theo đúng qui định của nhà nước Hiện nay, theo qui định nhà nước mỗi người chỉ có thể mở được đúng một tài khoản, tránh trường hợp nhà đầu tư mở nhiều tài khoản và tạo ra các vụ giao dịch
ảo ảnh hưởng đến thị trường chứng khoán Sau khi đã có tài khoản, nhà đầu tư đã có thể đặt lệnh mua bán chứng khoán niêm yết trên thị trường thông qua điểm giao dịch được uỷ quyền này
Về hình thức đặt lệnh, nhà đầu tư có thể đặt lệnh trực tiếp tại Sàn giao dịch Nếu nhà đầu tư không thể đến trực tiếp Sàn giao dịch để thực hiện giao dịch, thì nhà
Trang 8đầu tư có thể uỷ quyền cho một người khác giao dịch thay mình tại sàn giao dịch Một số công ty giao dịch chứng khoán, có thêm dịch vụ đặt lệnh qua Website của công ty, hoặc qua SMS Tất nhiên quá trình đặt lệnh này phải được đảm bảo bằng
hệ thống bảo mật của công ty, để đảm bảo an toàn cho nhà đầu tư
Về phía các công ty giao dịch chứng khoán, họ sẽ phải hiện thông tin giao dịch cho các nhà đầu tư, dựa vào đó cộng với phân tích của mình, nhà đầu tư sẽ đưa
ra các quyết định Thông tin giao dịch ở đây chính là BGTT Nó hiển thị tất cả chỉ
số chứng khoán, đặt mua đặt bán, giá và khối lượng giao dịch của mã chứng khoán
đó Đồng thời, nó hiển thị thơng tin giao dịch toàn thị trường
Phía nhà đầu tư có thể đặt lệnh theo hai phương thức, đó là phương thức giao dịch báo giá và phương thức giao dịch thoả thuận Nếu nhà đầu tư đặt lệnh
giao dịch theo phương thức báo giá, thì lệnh đặt này sẽ được hiển thị lên Bảng giá,
cũn nếu nhà đầu tư đặt lệnh giao dịch theo phương thức giao dịch thoả thuận, thĩng này nếu được chấp nhận sẽ được hiển thị lờn "Bảng giao dịch thoả thuận" Thĩng thường, khi chúng ta xây dựng BGTT, chúng ta sẽ xây dựng luơn Bảng thĩng tin
giao dịch thoả thuận Như vậy, một Bảng giá sẽ gồm hai phần, một Bảng giá chính,
đó là bảng thơng tin chứa tất cả giao dịch báo giỏ, và một bảng giao dịch thoả thuận Giao dịch thoả thuận thường khụng nhiều, biến động về giỏ cả và khối luợng giao dịch ít, ảnh hưởng đến thị trường chứng khoán cũng ít hơn, vỡ thế thường khi
chiếu Bảng giá trờn sàn giao dịch, người ta thường ẩn đi phần giao dịch này
Lệnh đặt theo phương thức giao dịch báo giỏ sẽ tự động khớp với lệnh đặt khác tương ứng thoã mãn tốt nhất hiện có trong hệ thống Hiện có hai loại khớp lệnh là khớp lệnh định kì và khớp lệnh liên tục Trung tâm giao dịch chứng khoán
Hà Nội giao dịch theo khớp lệnh liên tục, còn Sở giao dịch TP HCM chia một phiên giao dịch thành 3 phiên nhỏ, phiên 1 và phiên 3 thực hiện khớp lệnh định kì, còn phiên 2 thực hiện khớp lệnh liên tục
Tùy theo loại khớp lệnh sẽ có cách thức đặt lệnh khác nhau
• Khớp lệnh định kì, cuối mỗi đợt giao dịch, hệ thống ở Trung tâm chứng khoán mới tổng hợp tất cả các lệnh được đặt để khớp lệnh theo nguyên tắc, nếu các giá bán và mua khớp nhau, các lệnh mua
có mức giá cao nhất sẽ được khớp với các lệnh bán có mức giá thấp nhất Mức giá thực hiện được xác định là mức giá của lệnh được nhập vào hệ thống trước Các lệnh có thể được thực hiện một phần hoặc toàn bộ (nếu các lệnh đối ứng đáp ứng được toàn bộ khối lượng) Các lệnh chưa được thực hiện hoặc mới thực hiện một phần
sẽ được lưu lại trên hệ thống để chờ thực hiện với các lệnh mới
• Khớp lệnh liên tục, thì lệnh nhập vào hệ thống sẽ được khớp lệnh ngay nếu thoã mãn với những lệnh đã có trong hệ thống Nếu không hoặc chỉ mới thực hiện một phần thì nó tiếp tục lưu trong hệ thống
để chờ khớp lệnh Nguyên tắc khớp lệnh cũng tương tự như trên, tuy nhiên trong khớp lệnh liên tục có chia ra một số loại lệnh như sau:
o Lệnh ATO (At the Open): Chỉ tồn tại trong giao dịch của Sở giao dịch chứng khoán TP HCM, là lệnh có khối lượng, không có giá xác định Theo quy định, lệnh này được sử dụng trong phiên 1, là lệnh mua hoặc bán tại giá mở cửa ( giá khớp
Trang 9lệnh cuối phiên 1 hay còn gọi là phiên giao dịch khớp lệnh xác định giá mở cửa) Đây là lệnh được ưu tiên khớp trước lệnh giới hạn, tự động huỷ khi hết phiên nếu lệnh không được thực hiện hoặc thực hiện hết.
o Lệnh ATC(At the Close): Chỉ có trong giao dịch của Sở giao dịch chứng khoán TP HCM Lệnh cú khối lượng, không có giá xác định.Theo qui định là dùng trong phiên 3 Đây là lệnh mua hoặc bán tại giá đóng cửa (giá khớp lệnh cuối phiên 3-hay còn gọi là phiên giao dịch khớp lệnh xác định giá đóng cửa) Ưu tiên khớp trước lệnh giới hạn Tự động hủy khi hết phiên nếu lệnh không được thực hiện hoặc không thực hiện hết
o Lệnh giới hạn LO(Limit Order): Lệnh có khối lượng, giá xác định, có hiệu lực toàn phiên Lệnh chưa thực hiện hết thì chuyển sang đợt kế tiếp trong ngày (nếu không bị nhà đầu quyết định hủy)
o Lệnh MP(Market Price): Lệnh có khối lượng, không có giá xác định Lệnh này theo qui định là dùng trong phiên khớp lệnh liên tục Lệnh chỉ được nhập vào hệ thống khi trên hệ thống đã có lệnh đối ứng (tức nếu dự định đặt MP mua thì trên hệ thống phải có lệnh bán từ trước) Lệnh không có giá nên sẽ khớp với lệnh đối ứng với bất kỳ giá nào(Có thể hiểu
là lệnh mua ở giá cao nhất và bán ở giá thấp nhất) Lệnh này
cú hiệu lực là tức thì khi vào hệ thống Nếu còn dư sẽ chuyển thành lệnh giới hạn với mức giá tốt nhất(chuyển thành lệnh giới hạn mua / bán tại mức giá cao/thấp hơn 1 bước giá so với giá khớp lệnh cuối cùng)
Với phương thức giao dịch thỏa thuận, các nhà đầu tư tự thỏa thuận về giá
cả, khối lượng, nhưng giá vẫn nằm trong biên độ cho phép trong ngày Khối lượng thỏa thuận phải là lô chẵn, hoặc tổng giá trị giao dịch là lớn Việc thực hiện giao dịch thỏa thuận vẫn phải thông qua Trung tâm giao dịch chứng khoán Nếu nhà đầu
tư muốn giao dịch thừa thuận, nhưng chưa có đối tác, thì lệnh đặt sẽ được đăng trên màn hình thông tin giao dịch Khi đặt lệnh giao dịch theo phương thức giao dịch thỏa thuận, thì nhà đầu tư không có quyền hủy lệnh Các giao dịch được khớp lệnh cũng sẽ hiển thị lên màn hình thông tin giao dịch
2 Khảo sát thông tin trên Bảng giá
2.1 Ý nghĩa các trường
Ở trờn đã trình bày tỉm tắt về các phương thức giao dịch và cách thức khớp lệnh trờn trường chứng khoán Ở phần này, chúng ta sẽ nêu ra những kết quả khảo
sát về những thĩng tin mà Bảng giá cú thể hiển thị Kết quả này sau một số lần em
đến khảo sát thực tế tại Sàn giao dịch chứng khoán
Trang 10Bảng giá là bảng thông tin chứa tất cả các thông tin về giao dịch hiện thời
của thị trường trong phiên giao dịch đó Nếu là ngày nghỉ hoặc chưa giao dịch thì
nó là thông tin thị trường ngay phiên trước đó Thĩng qua kết quả khảo sát, em rút ra
được một số trường quan trọng trờn Bảng giánhư sau:
• Giá Tham chiếu, giá Trần, giá Sàn: Giá Tham chiếu là giá đóng cửa ngày giao dịch ngày hôm trước và là cơ sở để xác định giá trần giá sàn ngày giao dịch ngày hôm sau Giỏ Trấn/Sàn dựa vào giỏ Tham chiếu theo một tỉ lệ được gọi là Biân độ giỏ Vớ dụ:
Sở tâm giao dịch chứng khoán TP HCM:Giá Trần(Sàn)= Giá TC + (-) 5%
Trung tâm giao dịch chứng khoán HN:Giá Trần(Sàn)= Giá TC + (-) 10%
Hiện nay (tính đến thời điểm thỏng 5/2008), do tình hình xuống dốc của thị trường chứng khoán, để giữ được giỏ của các cổ phiếu, Uỷ ban chứng khoán đã giảm Biên độ của Sở giao dịch chứng khoán Hồ Chớ Minh xuống 2% và Trung tâm giao dịch Hà Nội xuống 3%
• Giá mở cửa: Là giá của khớp lệnh đầu tiên trong ngày giao dịch
• Giỏ đóng cửa: Là giá giao dịch thực hiện nhất trong ngày giao dịch, hoặc là giỏ cuối ngày giao dịch Sau phiên giao dịch, thị trường sẽ dựa vào giá đóng cửa, cộng với một số thông tin như Tỉ số lãi suất,
Tỷ suất lợi nhuận, Hệ số tách/thưởng cổ phiếu…sẽ xác định giá đóng cửa điều chỉnh Giá đóng cửa điều chỉnh sẽ là giá Tham chiếu của mã chứng khoán ngày hôm sau
• Giá cao nhất: Là giá giao dịch cao nhất trong phiân giao dịch
• Giá thấp nhất: Là giá giao dịch thấp nhất trong phiân giao dịch
• Giá khớp lệnh: Là giá mà tại đó, khối lượng thực hiện là cao nhất Nếu có nhiều mức giá thỏa mãn khối lượng thực hiện cao nhất, thì mức giá nào gần với giá thực hiện của lần khớp lệnh gần nhất được chọn Nếu nguyên tắc này vẫn không tìm ra được giá khớp lệnh, thì giá cao nhất sẽ được chọn làm giá khớp lệnh Ví dụ: Mã ABT hiện giao dịch với giá 67.000 có khối lượng 3000CP, đã giao dịch với giá 69.000 với 1000CP Lúc này, giá khớp lệnh sẽ là 67.000 Nếu có giao dịch mới nhất với giá 68.000 với khối lượng 2000CP, thì giá khớp lệnh vẫn giữ nguyên là 67.000
• Khối lượng khớp lệnh: Là khối lượng thực hiện tương ứng với giá khớp lệnh
• % thay đổi: Chỉ sự thay đổi của giá hiện tại và giá khớp lệnh gần nhất
• Froom: Là cột nhà đầu tư nước ngoài Theo qui định nhà nước, nhà đầu tư nước ngoài khi mua một cổ phiếu sẽ bị hạn ngạch nhất định
Vì thế có hai cột mà nhà đầu tư quan tâm, đó là cột khối lượng mà nhà đầu tư nước ngoài đã mua trong phiên, và cột khối lượng còn lại
mà nhà đầu tư nước ngoài được phép mua
Trang 112.2 Ý nghĩa màu sắc trờn Bảng giá
Ngoài thông tin từ các cột của Bảng giá, màu sắc cũng thể hiện được thông
tin của thị trường Hiện nay, chưa có một qui định cụ thể nào qui định về vấn đề
màu sắc cho Bảng giá Tuy nhiên trong thị trường chứng khoán, cú một mặc định
chung về màu sắc Cỏc nhà đầu tư cũng đã quá quen với ý nghĩa của những màu sắc này Giao diện hệ thống mà em sắp xây dựng cũng khụng phải ngoại lệ
Ý nghĩa về màu sắc bao gồm:
• Màu đỏ: Là màu hiển thị tụt giá của mã chứng khoán, hay tụt giá Index toàn thị trường
• Màu xanh: Là màu hiển thị tăng giá của mã chứng khoán hay tăng giá của Index toàn thị trường
• Màu vàng: Là màu đứng giá
• Màu tím: Màu tím là màu hiển thị mã chứng khoán tăng kịch trần
• Màu xanh lơ: Màu xanh lơ là màu hiển thị mã chứng khoán giảm kịch sàn
Bảng giá hiện nay có hai loại, một là Bảng giá 5 màu, tức có đầy đủ 5 màu
như trên, hai là Bảng giá 3 màu, gồm màu xanh, màu đỏ và màu đen, trong đó màu đen tượng trưng cho đứng giá Việc lựa chọn xây dựng Bảng giá bao nhiêu màu, thường do phía khách hàng yêu cầu Bởi Bảng giá 3 màu hay 5 màu đều có ưu nhược riêng Bảng giá 3 màu không hiển thị rõ thông tin về mã chứng khoán, nhưng nhà đầu tư không bị rối mắt khi có quá nhiều màu, còn Bảng giá 5 màu thì ngược
lại
II KHẢO SÁT CẤU TRÚC FILE DỮ LIỆU
Hiện nay, cơ chế kết nối dữ liệu giữa cỏc sàn giao dịch chứng khoán thành viân và Trung tâm chứng khoán thường thơng qua một đường dây Lease Line Dữ liệu được đẩy về liân tục từ Trung tâm giao dịch đến sàn giao dịch trong khoảng thời gian giao dịch Đõy là dữ liệu "thĩ" chưa qua xử lớ Tại cỏc sàn giao dịch, những dữ liệu này sẽ là đầu vào để chuyển hoá thành cơ sở dữ liệu chớnh của hệ thống chứng khoán Theo xác định pham vi như trờn, thì đõy chính là một nhiệm vụ
của hệ thống Bảng giá
Để phục vụ cho việc cài đặt chương trình, em sẽ bắt tay vào khảo sát hệ thống file đẩy về từ hai Trung tâm giao dịch chứng khoán Mục đích của việc khảo sát là hiểu được cấu trúc file, bao gồm ý nghĩa các trường và sơ đồ cập nhật file
1 Cấu trúc File của Sở giao dịch chứng khoán HOSE
2.1 Tìm hiểu cấu trúc File
Nguồn khảo sát là một thư mục chứa tất cả cỏc file đẩy về từ Sở giao dịch chứng khoán TP Hồ Chớ Minh Đồng thời, đi kèm với thư mục này là một bản mĩ tả các trường trong hệ thống file
Trang 12Hình 1 1
Tư mục chứa File ữ liệu của sàn HOS
Trong tư ục ớn bao ồm nh ều tư ục nỏ đặt n à BAC UP ( x à gỏ tị đếm ừ 1) ỗi tư ục nỏ y ẽ c ứa ất ả 11 file ữ l ệ , n ủa ác file y hiển thị nư t n ình N ữ
g file ữ l ệu y ẽ à đ u o cho ệ t ống ơ ở ữ l ệu ủa Bảng gi ỗi tư ục y ẽ u tữ t ng
tin giao ịch a t ph n giao ịc Đặt cùng với thư mục này là một file dữ liệu có tên
“Datapat map” File Datapat ma" ú chức năng xác định tại ỗi thư mục n y giao ịch
à n y bao nh ê Để đọc được file ữ l ệu ới n ấ , c ng ta cỉ n ìm ra trong file " t path.map" tư ục BACKUP o ú n y giao ịch n ới n y h ện ại n ấ
ấu t úc ủa file " at path.map" nư sau
BackupName String 8 Tên thư mục Backup được dung
để lưu dữ liệu.
Tổng độ dài (Byte) 18
Trang 13Bảng 1.1 Cấu trúc File Datapath.map
Ta lấy một vớ dụ để minh hoạ cho cấu trúc file này Nếu ta cú dữ liệu của file "Datapath.map" như sau: .15/05/2007BACKUP2116/05/2008BACKUP22
Với dữ liệu như vậy, chơng ta sẽ xác định được ngày giao dịch hiện tại (hoặc là ngày giao dịch gần đõy nhất) là ngày 16/05/2008, và dữ liệu của giao dịch hiện tại nằm trong thư mục BACKUP22 Ngày giao dịch ngay trước đó là ngày 15/05/2008, dữ liệu của ngày giao dịch này nằm trong thư mục BACKUP21 Tìm hiểu đến đõy, chúng ta đã có thể hiểu được cơ chế đọc dữ liệu mới nhất với file Datamap
Trong 10 file cũn lại, mỗi file đều cú cấu trúc và ý nghĩa riêng
• File Security.dat Đõy là File chứa tất cả thĩng tin về giỏ, khối lượng giao dịch của tất cả mó chứng khoán niâm yết trờn sàn HOSE
• File Totalmkt.dat Đây là File chứa tất cả thông tin về thị trường như VN-Index, tổng khối lượng, tổng giá trị của MainBoard và BigLotBoard
• File Put_AD.dat Đây là File chứa thông tin về đăng quảng cáo của giao dịch thỏa thuận của cả trái phiếu cũng như cổ phiếu
• File Put_Exec.dat Đây là File chứa thông tin về giao dịch thoả thuận được khớp
• File Put_DC.dat Đây là File chứa thông tin về giao dịch thoả thuận
vị huỷ
• File Le.dat Đây là file chứa thông tin giá khớp, khối lượng khớp, thời gian khớp trên MainBoard
• File Market_Stat.dat Đây là bảng thĩng tin về trạng thái thị trường
• File Newlist.dat Đõy là file chứa thĩng tin về cổ phiếu mới niâm yết trờn sàn giao dịch
• File Delist.dat Đõy là file chứa thĩng tin cổ phiểu huỷ niâm yết trờn sàn giao dịch
• File FROOM.dat Đõy là file chứa thĩng tin về khối nhà đầu tư nước ngoài Thĩng tin bao gồm tổng số khối lượng mà nhà đầu tư nước ngoài cú thể mua, và tổng khối lượng cũn lại
Khi khảo sát cấu trúc cỏc file, em đã tìm hiểu ý nghĩa của tất cả các trường
cú trong file này Tuy nhiân do số lượng các trường của các file khỏ lớn, nờn em sẽ khụng trình bày cấu trúc tất cả cỏc file này mà chỉ trình bày cấu trúc một file đại
Trang 14diện File Security.dat là file quan trọng, chứa tất cả các giao dịch của một mó chứng khoán Cấu trúc file này như sau:
StockNo Integer 2 bytes Mã chứng khoán dạng số Ghi đố
StockType String 1 Loại chứng khoán
+ S: Cổ phiếu + D: Trái phiếu + U: Chứng chỉ quỹ
SecurityName String 25 Tên đây đủ của chứng khoán
Suspension String 1 CK bị tạm ngưng giao dịch
+ Null: Giao dịch bình thường + S: Bị tạm ngưng
+ Null: Giao dịch bình thường + D: Bị hủy niêm yết
HaltResumeFlag String 1 CK bị ngưng hoặc giao dịch trơ
lại trong phiên giao dịch + Null: Giao dịch bình thường + H: Bị ngưng giao dịch trong phiên
+ R: Giao dịch trở lại trong phiên
Split String 1 CK thực hiện tách cổ phiếu
+ Null: Không thực hiện + S: Thực hiện
Benefit String 1 CK thực hiện quyền và chia cổ
Trang 15+ Null: Không thực hiện + A: Phát hành thêm & Cổ tức + D: Chia cổ tức
+ R: Thực hiện quyền Meeting String 1 TCNY tổ chức đại hội cổ đông
+ Null: Không + M: Tổ chức đại hội cổ đông
Notice String 1 TCNY bị yêu cầu cung cấp thong
tin quan trong trong phiên giao dịch
+ Null: Không + P: Chờ thong tin cần cung cấp + R: Đã nhận thong tin cung cấp
PriorCloseDate String 6 Ngày giao dịch gần nhất
ProjectOpen Long 4 Giá tạm khớp trong đợt KL định
Trang 16Best1BidVolume Long 4 Khối lượng tương ứng giá đặt
Best2BidVolume Long 4 Khối lượng tương ứng giá đặt
Best3BidVolume Long 4 Khối lượng tương ứng giá đặt
Best1OfferVolume Long 4 Khối lượng tương ứng giá đặt bán
Best2OfferVolume Long 4 Khối lượng tương ứng giá đặt bán
Best3OfferVolume Long 4 Khối lượng tương ứng giá đặt bán
Trang 17Bảng 1 2 Cấu trúc file Security.da
Ghi c : " ": Nư t
"-": T ườ g c a đư c ử ụn
Giá: 10 đồng V
Giá trị: 1 triệu đồng V
Khối lượng: 10 cổ phiế
ữ l ệu trong file DAT cỉ à n ữ g ch ỗi nị p n, tuy nh n n ơ ả đã u ị n c t ư
ng, k u t ư ng àý ng ĩa c t ư ng.Ở t ư ng ập n ậ ,ú ghi ị k u ập n ật à ghi đ , ức à t
ng tin ới n ất ẽ ghi đố n t ng tin ếu k u ập n ật à ghi t m tì t ng tin ũ ẫn ũ ,à t ng tin ới ẽ ghi t ếp theo sau t ng tin P ía àn giao ịc , khi n ận đư c file A.DAT ớ , ỉ ẽ ghi đố n file ình t ạng p n ật ữ l ệu ủa file đư c minh hạ trong ình ẽ sau
Hình 1.2 Sơ đồ miêu tả các kiểu cập nhật File dữ liệu
Trang 181.2 Sơ đồ cập nhật file
Sau khi tìm hiểu được cấu trúc cỏc file, em sẽ khảo sát thời gian cập nhật những file này
Hiện nay tại Sở giao dịch chứng khoán TP HCM, phiân giao dịch chia làm
3 đợt Thời gian giao dịch là từ thứ 2 đến thứ 6, cụ thể như sau:
ơ đồ ập n ật c File ư sau
Trang 19Ghi Chú:
S1: Đợt 1B1: Nghỉ giữ đợt 1S2: Đợt 2
B2: Nghỉ giữa đợt 2R: Run-off
C: Đúng của thi trường
2 Cấu trúc File của Trung tâm giao dịch chứng khoán HASTC
2.1 Tìm hiểu cấu trúc File
Nguồn khảo sát là 4 file dữ liệu lấy về từ sàn giao dịch chứng khoán và một bản mĩ tả ý nghĩa cỏc trường của file
PutAd.datPutExec.datPutDC.datMarket_STAT.datFROOM.dat
Bảng 1.4 Bảng mô tả sơ đồ cập nhật File của sàn HOSE
Trang 20
Hình 1 3 Thư mục chứa các File dữ liệu của sàn HAST
ả 4 file y đư c đặt trong t tư ụ K ểu ữ l ệu file à k ểu ữ l ệu XML C ng ta
cỉ quan m đến 3 File ữ l ệu sau: STS_MARKET_INFO, STS_STOCK_INFO, STS_TOP3 , ũn STS_TOP3B h ện ay c a ú ữ l ệ Ý ng ĩa ng file ữ l ệu y nư sau:
•
File STS_MARKET_I F : à file c ứa t n ộ t ng tin tị t ư ng A TC
•
File STS_STOCK_INF : à file c ứa t ng tin giao ịch ủa ác ổ ph ểu n m ết t n tị t ư
ng A TC T ng tin y k ng bao ồm ư án à ư mua
•
File STS_TOP3 : à file c ứa t ng tin ư n à ư m a ủa ác ổ ph u
Trang 21ng sau ẽ minh hạ ề u t úc file STS_STOCK_INF
T
T
1 STOCK_INFO_ID decimal ID của bảng trong CSDL, có thể ko dựng
2 TRADING_DATE dateTime Ngày giao dịch hiện tại
3 TIME String Thời gian giao dịch cuối cùng đã được
thống kê Thậm chí nếu trong ngày không
có giao dịch thì nó lấy thời của giao dịch cuối cùng ngày trước đó.
5 CODE string Mã AlphaBet của công ty niêm yết Mỗi
cụng ty niâm yết trờn sàn giao dịch sẽ cú
mó AlphaBet duy nhất.
ACB
6 STOCK_TYPE decimal Loại cổ phiếu:
1:Trái phiếu 2:Cổ phiếu 3:Trái phiếu 4:Hợp đồng 5:Khác
và chuyển sang trạng thái thái khác nếu cú giao dịch đầu tiân Giá trị này xuất hiện khi một CP mới lên sàn.
2:Huỷ 3:Tăng vốn (VD:Chia CP, phát hàng thêm )
4:Giảm vốn (hiện khụng dùng) 5:Đợi để thực hiện 3 và 4 Xuất hiện trong giao dịch đầu tiên trong ngày nếu có 3 hoặc
0
Trang 224 Sau đó sẽ thiết lập về 0.
10 ADJUST_QTTY decimal Điều chỉnh KL CP.
-1,2:Tổng KL của CP -3,4:KL CP được tăng (giảm)
4: be warned 5: Share holders meeting
0
18 OPEN_PRICE decimal Giá mở cửa Nếu hôm nay không có giao
dịch thì giá mở cửa là của ngày hôm trước. 100300
24 BEST_OFFER_PRICE decimal Giá chào mua tốt nhất
Nếu ko có người mua thì field này ko có giá trị.
110900
Trang 2325 BEST_BID_PRICE decimal Giá chào bán tốt nhất
Nếu ko có người bán thì field này ko có giá trị.
110000
28 TOTAL_OFFER_QTT
Y
decimal Tổng số lượng CP chào mua 1009900
29 TOTAL_BID_QTTY decimal Tổng số lượng CP chào bán 1349800
30 BEST_OFFER_QTTY decimal KL đặt mua tốt nhất.
Nếu không có người mua thì missing.
900
BEST_BID_QTTY decimal KL đặt bán tốt nhất.
Nếu không có người bán thì missing.
100
32 PRIOR_PRICE decimal Giá giao dịch trước đó, không bao gồm
giao dịch thỏa thuận. 109000
33 PRIOR_CLOSE_PRIC
34 MATCH_PRICE decimal Giá khớp lệnh
Ở thời gian khớp lệnh, hệ thống sẽ soát lại các đơn chưa được khớp lệnh bao gồm lệnh mua tốt nhất, lệnh bán tốt nhất để tạo ra giá khớp lệnh và KL khớp lệnh.
109000
37 DATE_CREATED dateTime Chưa sử dụng
38 DATE_MODIFIED dateTime Chưa sử dụng
40 CREATED_BY string Chưa sử dụng
Ngân Hàng TMCP Á Châu
42 PARVALUE decimal Giá phát hành (10.000vnd/share,
100.000vnd/bond)
10000
44 FLOOR_CODE string 02:Shares
03:Bonds
02
45 IS_CALCINDEX decimal Là 1 thì sẽ được dựng để tính toán chỉ số 1
Trang 2447 DATE_NO decimal Số ngày giao dịch từ ngày niêm yết 311
48 OFFER_COUNT decimal Số lượng lệnh mua trong ngày 480
59 BID_COUNT decimal Số lượng lệnh bán trong ngày 946
50 AVERAGE_PRICE decimal Giá trung bình của các giao dịch được
khớp lệnh Nó chỉ có giá trị sau ngày giao dịch, và không bao gồm giao dịch thỏa thuận.
= tổng Giá trị/Tổng KL của tất cả khớp lệnh
102900
51 INDEX_PRICE decimal Giá giao dịch cuối cùng, dựng để tính toán
52 PREV_PRIOR_PRICE decimal Giá thực hiện ngay trước giá cuối cùng 110900
53 YIELDMAT decimal Lợi tức tới kì hạn của trái phiếu 0
57 PT_MATCH_QTTY decimal KL khớp lệnh giao dịch cuối cùng 0
58 PT_MATCH_PRICE decimal Giá khớp lệnh giao dịch cuối cùng 0
decimal Tổng KL lệnh mua(Tích lũy dần) 974400
62 BUY_COUNT decimal Tổng lệnh mua(Tích lũy dần) 935
63 TOTAL_BUY_TRADI
NG_VALUE decimal Tổng giá trị mua(Tích lũy dần) 100265230000
64 TOTAL_SELL_TRAD
ING_QTTY decimal Tổng KL lệnh bán(Tích lũy dần) 974400
65 SELL_COUNT decimal Tổng lệnh bán(Tích lũy dần) 935
66 TOTAL_SELL_TRAD
ING_VALUE decimal Tổng giá trị bán(Tích lũy dần) 100265230000
Trang 2574 PT_YIELDMAT decimal Lợi tức kì hạn (Chỉ giao dịch thỏa thuận) 0
Bảng 1.5 Bảng mô tả cấu trúc File STS_STOCK_INFO
Trong cấu trúc bảng trờn khụng chứa thĩng tin về dư bán hay dư mua, tuy nhiân so với bảng Security của sàn HOSE thì bảng này đưa thơng tin đầy đủ hơn về khối nhà đầu tư nước ngođi Thĩng tin bao gồm khối lượng mua và bỏn, giỏ trị mua
và bán, và tổng khối lượng cũn lại được phép mua của nhà đầu tư nước ngoài Tuy nhiân, giao dịch thoả thuận của sàn HASTC chỉ bao gồm tổng giỏ trị và khối lượng của mó chứng khoán, chứ đầy đủ từng lệnh đặt như sàn HOSE
Với những cấu trúc bảng khác nhau, thì đầu ra của mỗi sàn cũng khác nhau Vớ dụ, sàn HASTC cú thể thờm cột mua bỏn của nhà đầu tư nước ngoài, trong khi sàn HOSE cú thể đăng đầy đủ các lệnh đặt mua, bán và khớp lệnh của giao dịch thoả thuận
Sơ đồ cập nhật dữ liệu của file ở sàn giao dịch chứng khoán Hà Nội được minh hoạ bằng hình vẽ sau:
Trang 26Hình 1 4 Sơ đồ miêu tả kiểu cập nhật dữ liệu sàn HAST
Ở Trung m giao ịc , file A.XML ú tể đư c ghi t m h ặc ghi đ ũn ại n giao ịc , trong tư ục c ứa file, đ y l n l n à file ới n ấ
2.2 Sơ đồ cập nhật fil
Trung m giao ịch c ứ g kh n A TC cỉ t c h ện giao ịch k ớp ệnh l n ục trong s t ả ph n giao ịch (k ng chia t ành 3 ph n nưở ở giao ịch TP HCM) T ời gian giao ịch à ừ tứ 2 đến tứ 6 trong t n, ụ tể à ừ 8h30 đ n 11h Tuy nh n, àn A C ú đặc
m à p ương t ức giao ịch thả th ận ắt đ u ngay ừ đầu ph n, cứ k ng ết t úc giao ịch
áo gỏ ới ú giao ịch thả th ận nưở àn O E
Trong giờ giao dịch 8h-11h Giao dịch khớp lệnh liân tục
Giao dịch thoả thuậnKết thúc giao dịch 11h-
Bảng 1.6 Bảng mô tả thời gian giao dịch sàn HASTC
Cấu trúc các file dữ liệu của sàn giao dịch HASTC được phân chia rị ràng,
và cùng được đẩy về trong suốt cả thời gian giao dịch
Trang 27Sơ đồ cập nhật các file như sau:
8h30-11h
STS_MARKET_INFOSTS_STOCK_INFOSTS_TOP3A
Bảng 1 7 Bảng mô tả ơ đồ cập nhật File của sàn HAST
II KHẢO SÁT MỘT SỐ BẢNG GI
1 Mục đíc
Sau khi tìm hiểu về nghiệp vụ chứng k oán, em sẽ khảo sát một số trang
web hiện có cài đặt Bảngi B ưc khảo sá n àynh m m ục đích em x t th c tr ng c ác
BGT hiện cútr ờn thị t ường K t q ả c aph ầnkh o sá n y s được phân t ch l àmti ề
n để để đnh h ìn đư c c c chứ n ăng của hệ thng m àem x y ự
2 Nội
ung
Ngu n khảos á : Một s ố Bảng gi đư c à i đttr n W enste củ m t c ơ ng ych ứ
n kho nho c các W ebsieli â n quan đn h ứn ko án.Vi l ựach n y là ng ẫhi
n
M ĩi r ườ gkh os á : M ạng đườngtruy ền ADSL có tốc độ download 1024K, upload 512 K Cấu hình máy Pentium 2.0, RAM
G
C ỏ h tiến ành :Em s ẽ tuy cập m i"B ả ngi ỏ " a l ầ , thờ i ể m tuy cập g ầ
n nhu Dữ liệ l y g ồm: m à u hiể th , c c chứ n ă ngđ c ú,kh i l ưng dữ liệ m l t v
Trang 28check box cho phép người dùng chọn mã chứng khoán mà mình cần xem Mỗi lần
load dữ liệu về khoảng tầm 120K Bảng giá chạy khá
• ợt
Tvsi.com.vn (Công ty chứng khoán Tân Việt) Bảng giá hiển thị đủ 5 màu Cứ
khoảng 15 s sẽ lấy dữ liệu về một lần Độ trễ để chờ dữ liệu load về là ká cao ( kong
7s ) Bảg giá c ú chức năng chọn mã chứng khoán ể hển thị T hỉnh thoảng, Bảng
giá bị lỗi, không hiển thị a
• àn hình
Hsx.vn (Sở giao dịch chứng khoán TP HCM) Bảng giá hển thị 3 màu Bảng giá k hông có chức năng lựa chọn các mã chứng hoáncần hiển thị Bảng giá thường bị
đứng hình do thời gian chờ để h
• nth dữ liệu as comv (C ụ gty c ứ ng kho á n Tr àn An)ảng giá c ủa
c ụ ny hin th 3 m C ác c t thĩ ngtink ỏ đầ y ủ L ầ n đầu tiên lad rng
c ờk ỏ l õ , k ho g 1 ph úđề t ả i xong à hin hị ra d ữ lệu Bảniá c ch
c n n cu ộn d ữ liệu ảnggi ch
kh ỏm ượ T ng h ợ
c ác k ếtquả
au ki tì hiểu v ề m ộ t Bảngiátrờ n th ị tr ườ ng, em tổng hợp lại vể một số
ưu nhược điểm của các Bả
• giá như sau:
Một số hiển thị Bảng giá theo 5 màu, một số lại hiển thị theo 3 màu Khá nhiều
Bảng giá có xen kẽ 2 màu khác nhau giữa dòng chẵn và dòng lẽ để nhà đầu
át sx.vn đngthi c ú100 ng ườ iđ ang x em Bảng giá , tronkhFpts.cm.n ch c 20 ngư i,
t ì băngth ng ch ia s ẻ t W eb ieHsxv s í h n M ột m ặt,c ú h ể ăngth ĩ ng c ủa ỗi
một bảng gi ại h ác nhau, n ờn thờ giatruy cập cũ ng b ị n h ưng Tuy nhi ân, ề ặt
Trang 29gá tr n thị trư ng K ếtq ả khả o s t kh ụ g h ững đ ranh n g cn s ố ,m à cũn giú em
tìm iểu h ờ đượcm ộ tsố ch c năng, c ngnh c ụ ng ngh ệm àc á
i s ửd ụn
I V KH ẢO S Á
MÔ HÌNH HỆ THỐNG
Khảo sát mô hình hệ thống là xem xét mô hình hoạt động của hệ thống tổn
thể của Bảng giá Để đưa ra được mô hình tổng thể của hệ thống, em tập hợp các khảo sát trên, đồng thời tham khảo thêm một số ngu
khảo sát khác
Kết quả sau khi khảo sát, em đã đưa ra mô hình luồng dữliệcủ Bng giá M
ĩh ình sauch ỉl à u ồn d ữ li ệ t ừ ng ười đặt l n cho đến hi th ĩ gtin hi ện a tờ
Bảnggiá M ĩ h ìnn ychung ch c ả sà giaodịchch n g ho n H à Nội v àS ở gia d ịch h ứnkho án TH C ớ Mnh Mĩ
Trang 30T n sơ đồtr ờn, d li u sẽ đợ c đẩ y v ề haiTrung tâ m ch ứng khoá theo định
k ì Sở giao dịch TP HCM sẽ đẩy dữ liệu gồm 11 Filạng DAT vể s àngiao dchch
ng kho án T rn khi Trug t â giao dịch h ứg khoán à N ội đẩy v ề 4 Fied ạng XM C
c fil d liệu ượ cx ử v àtr thà nhc ơ s ở d ữ li ệucho ảngiáv à nhữ g t àh
n khác H ìn v d ưới đâ, ẽ ih hoạ r ị hơ n ph ạm vi ủa Bng giáv ới h n
Trang 31n kh ác 6Hình 1
6
Mô hình phân biệt Bảng giá và c
ệthốn khác
Hệ tốnBGTs ẽ x ử ớ cỏ cile ữ i ệu đ ấyvề t Tung tâm chứn g khá , tạo r c ơ
s ởdữ liệu chocỏ c h ành ph ần khác trng h ệ th ống W bsitechứng kho án nh ư Trding nlin,Bi ểu đồ , Th ĩ n tn doanh nghi ệp BTT au đó s ẽ x ử lớ đểhiển thị d ữ
li ệu ể hin thị ra m à hnh Bảng giá ảnhiển th sẽ cú haloạ, ột l à m à n h ìnhhểnhị
đặt t ờ nWebsite c ủa c ụn tyhứn khoá n à ột l àm à nh ìnhchi ếr ự ti ế t ờ n n c
g kh á nV PH ÂN T ÍC H CHỨC
NG HỆ THỐNG
Trang 32Hệ thống Bảng giá là một hệ thống khá lớn, vì thế, ta sẽ phân chia một hệ
thống này ra thành nhiều phần nhỏ hơn Mỗi phần nhỏ hơn này sẽ đảm nhận những
chức năng riêng Hiện ta phải xây dựng hai Bảng giá song song là Bảng giá cho Sàn
Hà Nội và Bảng giá cho Sàn TP Hồ Chí Minh Tuy nhiên hai Bảng giá này khá
tương đồng với nhau, các chứng năng trong mỗi phần này của hai Bảng giá là giống
nhau Nên ta sẽ nêu ra các chức năng chung c
ần m ột ph n h íh là C s ởd liệu ố , mà t ơ ngứ ngv ớiv ới mỗi ilđẩy v à m ột b
ngtrog c sở dữli ệ , mộ tph n là c s ởdữ li ệu d à nh ho Bn gi Phầ nn à y s ẽd ành cho c đíh H n t c ỏ c t ĩ ng tin của
ảniá
Ph ầ hin tị s ẽc ú c ch ức
• ănsauHi n thịc ác th ngtin ề cácM ó cn g ho án v ề th ĩng tito n h ị
• ư ng.C ức ă g t ực ập hật th ĩ nti.C ứ m ặ c địh sau t khoả ng th ờigian, m áy liet s ạil ấ d ữli u S er v er để i
• tị
C ức ă nglựa h ọ c á Mó ch ng ko á m à g ười d ùnuan â m B ởi m ỗiTung â m chứng ho nc ú h ơn100 c ụ gty i m ết , n ếu hin thịcùngm ộ tl c n ườ id ùns ẽ kh
uant â đ ế m ó chứg ko á nmình c ầ uan â m.M t k ác , n ếu Bảng giá hiển hị í m ó
chứg koá nh ơns ẽ m gi m i xửl ớ cũ ngnh ưkh ối l ượnload v ề ở
• lint
C ức n ă nhaym à u n n khi c ú thađổch số ch n khoán Đõ y l hức nă ng i úpnh đầu t
ư d heod ị i s ự thy đổ c ủac ách ỉ s ố cứg kho á nKhch s ố chứg kho á n hay đổi ,
Bảg giás ẽ "hắc nở "nh đầu t ưb ằng c ác thyđổim à u n n ứngv ớch ố ch g khá n
đó Thông thường sẽ đề màu nền là màu xanh
• ươg
C ức nă ng cu ộn ảng i hứ c ng à h ỉ c à i đtcho ả n hạy r ờ n á chếu M àh ình áy
hi ếu l à 102x768 s ẽ hi nra r ờ m àn hìh kh ng h n 3 m ó chứn khoán C ức nă ng cu
ộn Bảg gás ẽm à n nh rĩ id ần t m ó chứg kh á n đầ u co ế
• h t
C ức ăng Lậ hứ c ngnà y cũ nh ỉ c à i đtcho ả n hạy r ờ n y ch ế u ếu àn ch ng kh
n kh ụ ng cho Bảniá tĩ , h c úth ể h n ph ươ g n "l ậ ", gh a l àl úc đầ u, ho 2 ó ch g
Trang 33kh á nđ u ti â n iển thị , au óc ứ m ặ c địhsau một khoả ng h i gan , s ẽ hiển hị 2 m ó chứg kh á n ti ếpteo.L ầ n ượtnh ư th ế co ến h ết au đó l ại hiển hị 2 mó ch ng kh á
.V I PHÂ N T ÍCH YÊU CẦU HỆ
HỐNG
1 Yêu cầuvề hu
ă n1.1 Yêu cầu nhất quán dữ
ệV ấn đềnà ynả y sinh khi Filed ữ i ệu đẩyv ềt ừ Trungtâ m giaod ịch h ứng
ko ánl à iâ nt c V ấn đềnà ys ẽxả y ra r ườngh ợp như sau: Giả sử chương trình đọcf ile đọc xong file A,v à đã ghi vào hai bảng là A1 và A2, hư ng chưa kịp đọcf ile B
để ghi vào hai bảng là B1 và B2 Tuy nhiên lúc truyv ấn dữ liệu từ Client,câ u truy vấnnà y kết hợp dữ liệu từ A1 và B1, khi đó kết quả ra sẽ không h ínhx c
Để khắc phục vấn đề này, chúng ta sẽ không đọc lần lượt các File, mà sẽ đọc tất cả các file cùng một lúc Đây là kiểu xử lí đa luồng có trong một số công cụ lập trình
Một vấn đề nảy sinh đáng lưu tâm nữa là trong khi đọc File, nếu chương trình đọc bỗng nhiên bị dừng lại nếu khụng xử lớ sẽ gõy dư thừa dữ liệu Vớ dụ: Khi đọc File A, đã ghi được dữ liệu bảng A1, nhưng chưa kịp ghi bảng A2 Khi kích hoạt chương trình lần sau, nếu khụng cú cơ chế kiểm tra thì chương trình tiếp tục ghi dữ liệu vào bảng A1 rồi mới bảng A2 Vỡ thế chơng ta sẽ ghi lại điểm đã đọc mỗi một lần Insert vào cơ sở dữ liệu
1.2 Yêu cầu dữ liệu phải nhanh và chính xác
Dữ liệu của Bảng giá tất nhiên phải đảm bảo chính xác Những câu truy
vấn luôn luôn phải đọc ra dữ liệu một cách chính xác Đây không những là yêu cầu của một chương trình, mà còn là yêu cầu từ nghiệp vụ chứng khoán Nếu hiển thị thĩng tin chứng khoán khụng chính xác sẽ gõy ra hậu quả khỉ lường
Một yêu cầu nữa là yêu cầu truy vấn dữ liệu phải nhanh chóng Vấn đề này tránh được trường hợp thời gian chờ khi yâu cầu dữ liệu từ Server quá lõu
Em giải quyết yâu cầu này bằng cách giảm số dòng trong một bảng Lấy một ví dụ để minh hoạ như sau: Sở giao dịch chứng khoán Hồ Chớ Minh cú khoảng
150 cụng ty chứng khoán niâm yết, ứng với mỗi cụng ty là một bản ghi trong bảng
dữ liệu Thĩng tin giao dịch các mó chứng khoán này được lưu vào bảng cú tờn là
"tblSecurity" Nếu cứ khoảng 30s Trung tâm giao dịch chứng khoán sẽ đẩy file dữ liệu về 1 lần, thì số bản ghi của Bảng này cú thể lờn tới:
150 x (2 x 150 phút ) x (số ngày giao dịch)
(Một ngày giao dịch cú khoảng 150 phút~ 1h 30 phút) Nếu coi số ngày đã giao dịch là khoảng 100 ngày (thực tế chứng khoán ra đời ở VN vào tháng 10/2000, tức con số lớn hơn nhiều), thì số bản ghi lờn tới 4.500.000 Để giảm số bản ghi của bảng này, em sẽ tạo ra một bảng "tblSecurity_history", lưu giữ dữ liệu chứng khoán của tất cả những ngày giao dịch trước đó, cũn bảng "tblSecurity" chỉ lưu trữ giao dịch của phiân giao dịch hiện tại Em sẽ tạo ra một bảng khác, thĩng tin trờn bảng
này chứa giao dịch gần với hiện tại nhất Bảng giá sẽ truy vấn trực tiếp từ bảng này,
bảng "tblSecurity" sẽ sử dụng cho các phần khác
Trang 341.3 Yêu cầu về băng thông
Do Bảng giá cần lấy dữ liệu về liên tục nên nó sẽ tự động refresh lại trang
sau một khoảng thời gian ngắn nhất định Vấn đề này đôi khi sẽ chiếm một lượng băng thơng đáng kể Nếu chơng ta khụng giảm lượng dữ liệu tải về mỗi lần, sẽ khiến cho hiệu năng của hệ thống giảm đi nhiều
Thông thường nếu đẩy dữ liệu về bằng Dataset-Datatable sẽ chiếm nhiều băng thông hơn Em sẽ khắc phục bằng cách là đẩy dữ liệu về dưới dạng XML/Text, khối lượng sẽ giảm bớt được rất nhiều Hiện nay có một số công nghệ web cho phép thực hiện được vấn đề này
Thực tế từ khảo sát cho thấy, nếu Bảng giá sử dụng công nghệ này, thì khối lượng đẩy về từ Server sẽ giảm đi khoảng 5-6 lần Thông thường một Bảng giá nếu
đẩy dữ liệu về theo dạng HTML thì khối lượng đẩy về khoảng 120K, nhưng nếu áp dụng đẩy về dữ liệu dạng Text thì khối lượng đẩy về sẽ chỉ khoảng 20K, khối lượng
dữ liệu ít hơn khỏ nhiều Hệ thống Bảng giá mà em sẽ xây dựng sẽ phải đáp ứng
được yâu cầu này
2 Yêu cầu về hiển thị
2.1 Yêu cầu hiển thị chính xác và đầy đủ
Với chứng khoán, việc hiển thị thông tin cho nhà đầu tư là một vấn đề rất
quan trọng Bảng giá là cụng cụ hiển thị thĩng tin quan trọng, tất nhiên nỉ phải đáp ứng được nhu cầu của nhà đầu tư Dữ liệu từ Bảng giá phải đảm bảo chớnh xác
tuyệt đối và đầy đủ
Dữ liệu hiển thị đầy đủ bao gồm các thông tin cần thiết như Mã chứng khoán, giá Tham chiếu, giá Cao nhất, giá Thấp nhất, giá khớp lệnh Đồng thời
Bảng giácũng phải hiển thị được những thĩng tin quan trọng như thĩng tin về nhà
đầu tư nước ngoài, thĩng tin về tỉ lệ tăng giảm của mó chứng khoán Ngođi ra, khi hiển thị các chỉ số cũng phải chớnh xác cả về màu sắc
2.2.Yêu cầu giao diện hiển thị phải hợp lớ
Ngoài việc hiển thị dữ liệu chính xác và đầy đủ ra, Bảng giá cũn phải hiển
thị thĩng tin một cách hợp lớ Bởi nhà đầu tư thường phải đối mặt với quá nhiều con
số, và rất dễ dẫn đến mỏi mắt và nhầm lẫn giữa các con số này nếu chơng sắp xếp
quá lộn xộn Việc hiển thị Bảng giá phải đảm bảo được tách biệt các con số chứng
khoán này với nhau
Cú một lớ do nữa khiến cho việc hiển thị dữ liệu khỏ quan trọng, đó là các máy chiếu tại mỗi sàn chứng khoán cú sự tương phản màu sắc khác nhau Cú máy chiếu hiển thị màu sắc khỏ rị, nhưng cũng cú máy chiếu hiển thị màu sắc tối hơn Ánh sáng tại nơi đặt máy chiếu cũng mỗi nơi mỗi khỏc, nờn độ tương phản màu sắc cũng khác
3 Yêu cầu về triển khai
Khi khảo sát về mĩ hình hệ thống dữ liệu Bảng giá, em thấy cú một số yâu
cầu về triển khai Các yêu cầu này nếu giải quyết tốt sẽ khiến quá trình triển khai dễ dàng hơn
Khi ta triển khai hệ thống Bảng giá đối với công ty chứng khoán, yêu cầu
thường là có 2 bản Một bản chạy chiếu trực tiếp trên sàn giao dịch chứng khoán
Trang 35thông qua máy chiếu Một bản đính vào Website của công ty chứng khoán BGTT
sẽ tách biệt với các thành phần khác trong hệ thống chứng khoán Bảng giá sẽ cú cơ
sở dữ liệu riêng biệt, xây dựng trờn một nền tảng riêng biệt
Thêm một yêu cầu nữa, là lúc triển khai thường chỉnh sửa giao diện rất nhiều Thứ nhất là chỉnh sửa để tương thích màu sắc trên máy chiếu và màu sắc trên web được hợp lí Độ tương phản về ánh sáng trên Máy chiếu khác với trên máy tính thông thường nờn cú thể giao diện trờn Web hợp lớ nhưng nếu áp dụng cho Máy chiếu thì nỉ trở nờn rất khỉ nhỡn Thứ hai, phía khách hàng cũng thường có yêu cầu chỉnh sửa về giao diện Họ lắng nghe ý kiến nhà đầu tư và sau một khoảng thời gian khi cài đặt lần đầu, họ sẽ yêu cầu chỉnh lại màu sắc và giao diện Hai vấn đề này đã nảy sinh ra yâu cầu là lúc chỉnh sửa giao diện phải thuận tiện và dễ dàng
Một vấn đề khác, là lúc triển khai đôi khi người dùng cần linh động với các Server Cú thể địa chỉ đặt file dữ liệu thay đổi, hay cũng như cú thể thay thế một số thĩng số đầu vào Thậm chí cần phải dự báo trước tình huống thời gian giao dịch thay đổi Vì thế ta sẽ đẩy các thĩng số quan trọng ra file cấu hình, khi cú thay đổi chơng ta chỉ cần chỉnh sửa lại file cấu hình này là được
Trang 37CHƯƠNG II: THIẾT KẾ CHƯƠNG TRÌNH
Sau bước Phân tích, em đã đưa ra được yêu cầu về chức năng và yêu cầu về
hiệu năng của Bảng giá Trong chương này em sẽ trình bày về các bước thiết kế hệ
thống Do cấu trúc của hai Trung tâm giao dịch chứng khoán cú một số điểm khác nhau, nên em chia các bước thiết kế thành hai phần ứng với hai Trung tâm chứng khoán Cả hai phần này em sẽ thiết kế song song với nhau
Để thiết kế hệ thống này, em sử dụng ngôn ngữ mô hình hóa UML (Unifiel Modeling Language) dựa trên mô hình 3 lớp
I TỔNG QUAN MÔ HÌNH 3 LỚP
Mĩ hình 3 lớp hiện nay được sử dụng phổ biến để xây dựng những ứng dụng Client-Server Trong ứng dụng Client-Server trước đây, người xây dựng thường có xu hướng dựa trên mô hình 2 lớp: Giao diện (Interface) và dữ liệu (Data) Trong mô hình này, phần liên kết để truy xuất dữ liệu được cài đặt trực tiếp trên giao diện Với mô hình như thế này sẽ tạo ra sự phụ thuộc rất lớn giữa giao diện người dùng và cơ sở dữ liệu Vì vậy, chương trình sẽ khó cải tiến bảo trì và tái sử dụng
Có một cách tiếp cận tốt hơn là tách biệt giữa lớp giao diện và lớp dữ liệu bằng cách cô lập các chức năng giao diện với các chức năng xử lí khác Người ta thêm vào một lớp gọi là lớp nghiệp vụ (Business) Hình ảnh mĩ hình được minh họa sau đây:
Hình 2 1 ơ đồ tổng quan mô hình 3 ớ
•
Lớp giao diện: Làm nhiệm vụ giao tiếp với người dùng uối để thu thập dữ liệu hoặc
h n thị kết quả thông qua các thành phần trong giao diện người dùng Lớp này sẽ không sử dụng trực tiếp các dịch vụ của lớp Data Layer mà sử dụng những dịch vụ thông qua Business Layer
•
Trang 38Lớp nghiệp vụ: Thực hiện tất cả các tác nghiệp chính của hệ thống, sử dụng các dịch vụ của lớp dữ liệu để cung cấp cho lớp giao diện Lớp này cũng có thể sử dụng các dịch vụ của các nhà cung cấp thứ 3 (3rd parties) để thực hiện công việc của mình (ví dụ như sử dụng dịch vụ của các cổng thanh tóan trực tuyến như VeriSign, Paypal…).
I THIẾT KẾ TỔNG QUAN CHỨC NĂN
P ần th ết ế ổ g quan c ức ngẽ trình bày c c ức ng ử ớ của hệ thốn Hướng phân tích các chức năng của hệ thống theo cách nhìn là: Hệ thống sẽ có những chức năng gì, và để thực hiện chức năng đó, hệ thống sẽ phải xử lí những vấn đề gì Việc phân chia các công việc cần xử lí của hệ thống sẽ không quá lớn hay quá nh
Với các thiết kế Use Case theo mô hình UML thông thường, người ta thường phân chia hệ thống thành 3 lớp rõ ràng Việc thiết kế Use Case thường là thiết kế
chức năng cho tầng nghiệp vụ Tuy nhiên hệ thống Bảng gi , các yêu cầu về chức
năng ở tầng giao diện là khá nhiều, nên trong phần trình bày này, em trình bày cả chức năng về tầng nghiệp vụ và tầng giao diện Đây cũng chính là tổng quan các chức năng của hệ thốn
Em c ia hệ thống thành hai phần nhỏ để dễ dàng cho thiết kế và cài đặ , chúng gồm phần xử lí dữ liệu và phần h n thị dữ liệu P n ử ớ ữ l ệu bao ồm ừ v ệc đọc file dữ l ệu đẩy ề ừ trung m giao ịch c ứ g kh, b ến đổi t ành ơ ở ữ l ệ ũn p ần
hiển tị ữ l ệuẽ n ận ữ l ệu ừ ơ ở ữ l ệ , ồi ử ớ để hiển tị ra n ình Bảng gi
1 Sàn giao dịch HOS
1.1 Sơ đồ tổng quát phần ử lí dữ liệ
Phần xử lí dữ liệu là phần đọc dữ liệu từ những file dạng DAT sang cơ sở dữ liệu Các chức năng chính ở tầng xử lí nghiệp vụ của phần ử lí dữ liệu như sau
Trang 39Hình 2.2 Biểu đồ chức năng tổng thể phần xử lí dữ liệu sàn HOSE
Hệ thống gồm một chức năng chính là biến đổi file DAT sang cơ sở dữ liệu
Để thực hiện được chức năng này, chương trình xử lí phải thực hiện 5 chức năng con khác, đó là: GetFileDAT, GetMarketStatus, BackupData, WriteXML, và InsertData
Miêu tả các chức năng như sau:
Trang 40• GetFileDAT: Chương trình xử lí muốn xử lí file thì trước hết phải lấy
dữ liệu về Để lấy dữ liệu về thì chúng ta cần có kiểm tra sự tồn tại của file
• GetMarketStatus: Chương trình xử lí sẽ giá trị chứa thông tin của trạng thái thị trường Nếu trạng thái thị trường mô tả thị trường đang trong thời gian giao dịch thì hệ thống mới tiếp tục xử lí, nếu không hệ thống sẽ dừng lại
• BackupData: Nếu đang trong thời gian giao dịch, chương trình xử lí đầu tiên sẽ lưu dữ liệu của phiên giao dịch ngày hôm trước sang bảng _history
• InsertXML: Chương trình xử lí sẽ Insert hoặc Update dữ liệu
• WriteXML: Mỗi khi Insert dữ liệu đến đâu, chương trình xử lí phải ghi điểm đã Insert vào một file XML Nếu quá trình Insert bị lỗi hoặc dừng lại đột ngột, thì lúc chương trình chạy lần sau sẽ Insert tại điểm
đã được ghi trên File XML này
Chức năng InsertData sẽ Insert vào 11 bảng như sau:
Hình 2 3 Biểu đồ các công việc của chức năng Insert dữ liệu sàn HOS