1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ Án Tốt Nghiệp Kiến Trúc Mvc, Struts Và Hệ Thống Giao Dịch Chứng Khoán Ảo.docx

85 0 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 85
Dung lượng 1,41 MB

Cấu trúc

  • CHƯƠNG 1 GIỚI THIỆU (13)
    • 1.1. GIỚI THIỆU ĐỀ TÀI (13)
    • 1.2. LÝ DO CHỌN ĐỀ TÀI (13)
    • 1.3. MỤC ĐÍCH CỦA ĐỀ TÀI (14)
    • 1.4. TÓM TẮT NỘI DUNG CỦA ĐỒ ÁN TỐT NGHIỆP (14)
  • CHƯƠNG 2 TỔNG QUAN VỀ CHỨNG KHOÁN VÀ THỊ TRƯỜNG CHỨNG KHOÁN (0)
    • 2.1. THỊ TRƯỜNG CHỨNG KHOÁN (15)
      • 2.1.1. Khái niệm Thị trường chứng khoán (TTCK) (15)
      • 2.1.2. Chức năng của TTCK (15)
      • 2.1.3. Các chủ thể tham gia TTCK (16)
        • 2.1.3.1. Nhà phát hành (16)
        • 2.1.3.2. Nhà đầu tư (16)
        • 2.1.3.3. Các tổ chức kinh doanh trên TTCK (16)
        • 2.1.3.4. Các tổ chức có liên quan đến TTCK (16)
      • 2.1.4. Các nguyên tắc hoạt động cơ bản của TTCK (16)
      • 2.1.5. Cấu trúc và phân loại cơ bản của TTCK (17)
    • 2.2. THỊ TRƯỜNG CHỨNG KHOÁN TẬP TRUNG (18)
      • 2.2.1. Giới thiệu (18)
      • 2.2.2. Phương thức giao dịch trên TTCK tập trung (18)
        • 2.2.2.1. Phương thức giao dịch khớp lệnh (18)
        • 2.2.2.2. Phương thức giao dịch thỏa thuận (18)
      • 2.2.3. Quy trình giao dịch khớp lệnh(hay báo giá) (20)
        • 2.2.3.1. Đặt lệnh (21)
        • 2.2.3.2. Khớp lệnh trên sở giao dịch (22)
    • 2.3. TRUNG TÂM LƯU KÝ CHỨNG KHOÁN (24)
    • 2.4. TRUNG TÂM THANH TOÁN BÙ TRỪ (25)
      • 2.4.1. Khái niệm (25)
      • 2.4.2. Các nguyên tắc bù trừ (25)
      • 2.4.3. Phương thức bù trừ (25)
    • 2.5. CHỨNG KHOÁN (25)
      • 2.5.1. Khái niệm chứng khoán (25)
      • 2.5.2. Phân loại (26)
      • 2.5.3. Đặc điểm chứng khoán (26)
      • 2.5.4. Cổ phiếu (26)
        • 2.5.4.1. Khái niệm cổ phiếu (26)
        • 2.5.4.2. Đặc điểm của cổ phiếu (27)
        • 2.5.4.3. Phân loại cổ phiếu (27)
        • 2.5.4.4. Tác dụng của việc phát hành cổ phiếu (28)
      • 2.5.5. Trái phiếu (28)
        • 2.5.5.1. Khái niệm (28)
        • 2.5.5.2. Đặc điểm (28)
        • 2.5.5.3. Phân loại trái phiếu (29)
        • 2.5.5.4. Lợi ích của đầu tư qua trái phiếu (29)
        • 2.5.5.5. Bất lợi khi đầu tư qua trái phiếu (29)
    • 2.6. CHỈ SỐ THỊ TRƯỜNG CHỨNG KHOÁN (30)
      • 2.6.1. Khái niệm (30)
      • 2.6.2. Cách tính chỉ số thị trường chứng khoán (30)
    • 2.7. MỘT SỐ VẤN ĐỀ KHÁC (31)
      • 2.7.1. Đọc bảng giá chứng khoán (31)
      • 2.7.2. Một số thuật ngữ chứng khoán (32)
      • 2.7.3. Thị trường chứng khoán Việt Nam-một số sự kiện và con số (32)
  • CHƯƠNG 3 KIẾN TRÚC MVC VÀ STRUTS (35)
    • 3.1. SƠ LƯỢC VỀ ỨNG DỤNG WEB (35)
    • 3.2. JAVA VÀ LẬP TRÌNH WEB VỚI JAVA (35)
      • 3.2.1. Công nghệ Java (35)
      • 3.2.2. Lập trình Web với Java (37)
        • 3.2.2.1. Sơ lược về các công nghệ phát triển web trong java (37)
        • 3.2.2.2. Mô hình kiến trúc cho phát triển webapps (37)
    • 3.3. KIẾN TRÚC MVC SỬ DỤNG STRUTS (39)
      • 3.3.1. Sơ lược về Struts (39)
      • 3.3.2. Các thành phần của Struts (39)
      • 3.3.3. Ưu điểm của Struts (40)
      • 3.3.4. Kiến trúc MVC sử dụng Struts (40)
      • 3.3.5. File cấu hình struts: struts-config.xml (42)
      • 3.3.6. Một số thẻ Struts hay được sử dụng (43)
  • CHƯƠNG 4 PHÂN TÍCH (44)
    • 4.1. KHẢO SÁT MỘT SỐ HỆ THỐNG ĐÃ CÓ (44)
      • 4.1.1. Công ty chứng khoán Ngân Hàng Đầu Tư và Phát Triển Việt Nam (44)
      • 4.1.2. Công ty cổ phần dịch vụ viễn thông và công nghệ thông tin VTIS (44)
      • 4.1.3. Công ty cổ phần Việt Ngân (45)
      • 4.1.4. Quy trình tạo tài khoản và giao dịch tại các hệ thống trên (45)
      • 4.1.6. Lý do và mục đích xây dựng hệ thống mới (46)
    • 4.2. TỔNG QUAN HỆ THỐNG (46)
      • 4.2.1. Các đối tượng tương tác với hệ thống (46)
      • 4.2.2. Các giao dịch trong hệ thống (46)
      • 4.2.3. Sơ đồ phân rã chức năng (47)
      • 4.2.4. Biểu đồ luồng dữ liệu mức khung cảnh (48)
    • 4.3. PHÂN TÍCH CÁC TRƯỜNG HỢP SỬ DỤNG (49)
      • 4.3.1. Các trường hợp sử dụng của nhà đầu tư (49)
        • 4.3.1.1. Đăng ký (50)
        • 4.3.1.2. Đăng nhập (51)
        • 4.3.1.3. Đặt lệnh mua (51)
        • 4.3.1.4. Đặt lệnh bán (53)
        • 4.3.1.5. Truy vấn lệnh (56)
        • 4.3.1.6. Truy vấn tài khoản (57)
      • 4.3.2. Các trường hợp sử dụng của người quản trị (59)
        • 4.3.2.1. Tạo và mở cửa phiên giao dịch (59)
        • 4.3.2.2. Khớp lệnh (60)
        • 4.3.2.3. Đóng cửa và thanh toán bù trừ (62)
        • 4.3.2.4. Cập nhật kết quả giao dịch (63)
      • 4.3.3. Phân tích và phát hiện các thực thể (64)
        • 4.3.3.1. Các thực thể lưu thông tin tài khoản nhà đầu tư (64)
        • 4.3.3.2. Các thực thể tham gia đặt lệnh (64)
        • 4.3.3.3. Các thực thể tham gia khớp lệnh (65)
        • 4.3.3.4. Các thực thể tham gia tạo mới và mở cửa phiên giao dịch (66)
        • 4.3.3.5. Các thực thể tham gia cập nhật kết quả giao dịch (67)
  • CHƯƠNG 5 THIẾT KẾ (0)
    • 5.1. THIẾT KẾ KIẾN TRÚC HỆ THỐNG (68)
    • 5.2. THIẾT KẾ CƠ SỞ DỮ LIỆU (69)
      • 5.2.1. Danh sách các bảng (69)
        • 5.2.1.1. Bảng tblNhaDauTu (69)
        • 5.2.1.2. Bảng tblGroup (70)
        • 5.2.1.3. Bảng tblChungKhoanSoHuu (70)
        • 5.2.1.4. Bảng tblChungKhoan (71)
        • 5.2.1.5. Bảng tblCongTyNiemYet (71)
        • 5.2.1.6. Bảng tblPhien (72)
        • 5.2.1.7. Bảng tblLenhDat (72)
        • 5.2.1.8. Bảng tblLichSuLenhDat (73)
        • 5.2.1.9. Bảng tblGiaoDichAo (74)
        • 5.2.1.10. Bảng tblGiaoDichThat (74)
        • 5.2.1.11. Bảng tblLenhKhop (75)
        • 5.2.1.12. Bảng tblLichSuLenhKhop (75)
    • 5.3. THIẾT KẾ LỚP (76)
      • 5.3.1. Lớp UserService và UserAction (76)
      • 5.3.2. Lớp StockService và OrderAction (76)
      • 5.3.3. Lớp StockSessionService và StockSessionAction (77)
  • CHƯƠNG 6 CÀI ĐẶT HỆ THỐNG (0)
    • 6.1. CÔNG CỤ (78)
      • 6.1.1. Môi trường JDK 1.6 (78)
      • 6.1.2. IDE-MyEclipse 6.0.1 (78)
      • 6.1.3. Web server-Apache Tomcat 6.0 (78)
      • 6.1.4. Hệ quản trị cơ sở sữ liệu SQL Server 2000 (78)
    • 6.2. MỘT SỐ HÌNH ẢNH HỆ THỐNG (78)
      • 6.2.1. Trang chủ của quản trị hệ thống (78)
      • 6.2.2. Khung đăng nhập (79)
      • 6.2.3. Trang đăng ký (80)
      • 6.2.4. Trang đặt lệnh mua (80)
      • 6.2.5. Trang đặt lệnh bán (81)
      • 6.2.6. Trang truy vấn tài khoản (82)
      • 6.2.7. Trang tạo và mở cửa phiên giao dịch mới (82)
      • 6.2.8. Trang đóng cửa phiên và thực hiện thanh toán (83)
  • CHƯƠNG 7 ĐÁNH GIÁ HỆ THỐNG (0)
    • 7.1. ĐÁNH GIÁ KẾT QUẢ CHƯƠNG TRÌNH (84)
    • 7.2. HƯỚNG PHÁT TRIỂN TIẾP THEO (84)
  • TÀI LIỆU THAM KHẢO (85)

Nội dung

Hệ thống giao dịch chứng khoán ảo TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN ──────── * ─────── ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH CÔNG NGHỆ THÔNG TIN KIẾN TRÚC MVC, STRUTS VÀ HỆ THỐNG GIAO[.]

GIỚI THIỆU

GIỚI THIỆU ĐỀ TÀI

Đất nước ta đang trong giai đoạn công nghiệp hóa hiện đại hóa nhằm xây dựng cơ sở vật chất cho Chủ nghĩa xã hội Một trong những nhiệm vụ và cũng là mục đích quan trọng nhất của giai đoạn này là xây dựng nền kinh tế thị trường định hướng xã hội chủ nghĩa phát triển mạnh cả về quy mô và chất lượng Một trong những cơ sở cho sự phát triển mạnh mẽ này chính là một thị trường chứng khoán minh bạch thu hút được nhiều vốn đầu tư trong và ngoài nước.

Hiện nay nước ta cũng đã có hai trung tâm giao dịch chứng khoán lớn là sàn Hà Nội và sàn thành phố Hồ Chí Minh Đi đôi vối đó là sự tăng trưởng không ngừng về số lượng nhà đầu tư tham gia mua bán chứng khoán Đó là một tín hiệu rất đáng mừng đối với nền kinh tế đất nước, nhưng song hành với nó cũng là các rủi ro rất lớn đối với thị trường chứng khoán Cụ thể có thể nêu ra như sự khủng hoảng của thị trường chứng khoán gần đây, chỉ số VNINDEX liên tục giảm, các nhà đầu tư vội vã bán tháo cổ phiếu, có cảm tưởng các sàn đã có lúc sắp “sập” Chính phủ đã phải có các chính sách nhằm ngăn chặn việc này như giảm biên độ dao động giá, kêu gọi các nhà đầu tư ngừng bán tháo cổ phiếu v.v… Nguyên nhân suy cho cùng của sự khủng hoảng đó hay các rủi ro có thể xảy ra với thị trường chứng khoán có lẽ chính từ việc tham gia thị trường chứng khoán khi mà chưa tìm hiểu cẩn thận về nó Các nhà đầu tư trên các sàn giao dịch phần lớn là nhà chưa hiểu biết nhiều về cổ phiếu và thị trường chứng khoán. Việc mua bán chủ yếu do trào lưu Chính vì thế chỉ một tin đồn hay một chính sách che dấu, úp mở thông tin của một vài các cá nhân hay tổ chức nào đó cũng dễ xảy ra hiện tượng mất cân đối trên thị trường.

“Sàn giao dịch chứng khoán ảo” là một ý tưởng mới và rất hay đối với các nhà đầu tư chứng khoán ở nước ta Nó là một nơi thử nghiệm rất hữu ích cho các nhà đầu tư trước khi tham gia vào thị trường thật đầy rủi ro, nó cũng là cơ hội để những nhà đầu tư tiềm tàng nhưng hiện lượng tài chính chưa cho phép như các bạn sinh viên được thể hiện khả năng hiểu biết của bản thân mình Sàn giao dịch ảo cho phép các nhà đầu tư có thể giao dịch với một tài khoản ảo ban đầu được cung cấp sau khi đăng ký tài khoản tại Website Việc mua bán giao dịch, các biến động, giá cả sẽ liên tục được cập nhật từ thị trường thật.

LÝ DO CHỌN ĐỀ TÀI

Là một sinh viên công nghệ thông tin mới ra trường, đứng trước sự phát triền ngày càng mạnh mẽ của đất nước em muốn trang bị cho mình một chút kiến thức về một trào lưu đang phát triển rất mạnh mẽ trong giới trẻ ngày này là chứng khoán Song hành với việc đó em cũng muốn củng cố và hoàn thiện các kỹ năng gần như không thể thiếu được với một sinh viên công nghệ phần mềm khi ra trường đó là phân tích thiết kế và lập trình Chính vì thế em đã xin phép được làm đề tài này dưới sự hướng dẫn của thầy giáo Thạc sĩ Thạc Bình Cường.

MỤC ĐÍCH CỦA ĐỀ TÀI

Với những lý do đó em chọn đề tài tốt nghiệp này với những mục đích cụ thể như sau:

- Tìm hiểu các kiến thức về chứng khoán và thị trường chứng khoán.

- Tìm hiểu công nghệ Java, Jsp, kiến trúc MVC và Struts cho phát triển Web.

- Áp dụng các kiến thức đã tìm hiểu được để xây dựng demo hệ thống chứng khoán ảo cho phép người dùng đăng ký tài khoản, đặt lệnh, cho phép tạo phiên giao dịch và khớp lệnh, cho phép thanh toán bù trừ sau mỗi phiên.

Hệ thống xây dựng cho phép mọi đối tượng có thể tham gia: từ những thành viên chưa có điều kiện tham gia thực tế, đến những nhà đầu tư muốn nâng cao kỹ năng đầu tư, phân tích.

TÓM TẮT NỘI DUNG CỦA ĐỒ ÁN TỐT NGHIỆP

Nội dung đồ án gồm 7 chương:

- Chương 1: Giới thiệu về mục đích và nội dung của đề tài

- Chương 2: Tổng quan về Chứng khoán và thị trường chứng khoán Chương này trình bày các kiến thức cơ bản về Thị trường chứng khoán, về các loại chứng khoán, về một số thuật ngữ và các vấn đề hay được đề cập trong thực tế khi nhắc tới chứng khoán.

- Chương 3: Kiến trúc MVC và Struts Chương này trình bày một cách tổng quan nhất về kiến trúc MVC, các khái niệm và các thành phần cơ bản của Struts, đồng thời đề cập đến mô hình MVC sử dụng Struts-cũng chính là mô hình kiến trúc cho hệ thống xây dựng trong đồ án này.

- Chương 4: Phân tích hệ thống Chương này trình bày khảo sát một số hệ thống đã có và tiến hành phân tích hệ thống theo hướng cấu trúc kết hợp hướng đối tượng

- Chương 5: Thiết kế hệ thống Trên cơ sở các phân tích đã trình bày, chương này trình bày việc thiết kế các thành phần hệ thống, thiết kế cơ sở dữ liệu và thiết kế một số lớp nghiệp vụ.

- Chương 6: Cài đặt hệ thống Chương này trình bày về công cụ sử dụng và mô tả một vài nét về hệ thống được xây dựng.

- Chương 7: Đánh giá hệ thống và hướng phát triển tiếp theo.

TỔNG QUAN VỀ CHỨNG KHOÁN VÀ THỊ TRƯỜNG CHỨNG KHOÁN

THỊ TRƯỜNG CHỨNG KHOÁN

2.1.1 Khái niệm Thị trường chứng khoán (TTCK)

Thị trường chứng khoán trong điều kiện của nền kinh tế hiện đại, được quan niệm là nơi diễn ra các hoạt động giao dịch mua bán chứng khoán trung và dài hạn Việc mua bán này được tiến hành ở thị trường sơ cấp khi người mua mua được chứng khoán lần đầu từ những người phát hành, và ở những thị trường thứ cấp khi có sự mua đi bán lại các chứng khoán đã được phát hành ở thị trường sơ cấp.

Như vậy, xét về mặt hình thức, thị trường chứng khoán chỉ là nơi diễn ra các hoạt động trao đổi, mua bán, chuyển nhượng các loại chứng khoán, qua đó thay đổi chủ thể nắm giữ chứng khoán.

- Huy động vốn đầu tư cho nền kinh tế : Khi các nhà đầu tư mua chứng khoán do các công ty phát hành, số tiền nhàn rỗi của họ được đưa vào hoạt động sản xuất kinh doanh và qua đó góp phần mở rộng sản xuất xã hội Thông qua TTCK, Chính phủ và chính quyền ở các địa phương cũng huy động được các nguồn vốn cho mục đích sử dụng và đầu tư phát triển hạ tầng kinh tế, phục vụ các nhu cầu chung của xã hội.

- Cung cấp môi trường đầu tư cho công chúng: TTCK cung cấp cho công chúng một môi trường đầu tư lành mạnh với các cơ hội lựa chọn phong phú Các loại chứng khoán trên thị trường rất khác nhau về tính chất, thời hạn và độ rủi ro, cho phép các nhà đầu tư có thể lựa chọn loại hàng hoá phù hợp với khả năng, mục tiêu và sở thích của mình.

- Tạo tính thanh khoản cho các chứng khoán: Nhờ có TTCK các nhà đầu tư có thể chuyển đổi các chứng khoán họ sở hữu thành tiền mặt hoặc các loại chứng khoán khác khi họ muốn Khả năng thanh khoản là một trong những đặc tính hấp dẫn của chứng khoán đối với người đầu tư Đây là yếu tố cho thấy tính linh hoạt, an toàn của vốn đầu tư TTCK hoạt động càng năng động và có hiệu quả thì tính thanh khoản của các chứng khoán giao dịch trên thị trường càng cao.

- Đánh giá hoạt động của các doanh nghiệp: Thông qua chứng khoán, hoạt động của các doanh nghiệp được phản ánh một cách tổng hợp và chính xác, giúp cho việc đánh giá và so sánh hoạt động của doanh nghiệp được nhanh chóng và thuận tiện, từ đó cũng tạo ra một môi trường cạnh tranh lành mạnh nhằm nâng cao hiệu quả sử dụng vốn, kích thích áp dụng công nghệ mới, cải tiến sản phẩm.

- Tạo môi trường giúp chính phủ thực hiện các chính sách vĩ mô: Các chỉ số báo của TTCK phản ánh động thái của nền kinh tế một cách nhạy bén và chính xác Giá các chứng khoán tăng lên cho thấy đầu tư đang mở rộng, nền kinh tế tăng trưởng;ngược lại giá chứng khoán giảm sẽ cho thấy các dấu hiệu tiêu cực của nền kinh tế Vì thế, TTCK được gọi là phong vũ biểu của nền kinh tế và là một công cụ quan trọng giúp Chính phủ thực hiện các chính sách kinh tế vĩ mô Thông qua TTCK, Chính phủ có thể mua và bán trái phiếu Chính phủ để tạo ra nguồn thu bù đắp thâm hụt ngân sách và quản lý lạm phát Ngoài ra, Chính phủ cũng có thể sử dụng một số chính sách, biện pháp tác động vào TTCK nhằm định hướng đầu tư đảm bảo cho sự phát triển cân đối của nền kinh tế.

2.1.3 Các chủ thể tham gia TTCK

Các tổ chức và cá nhân tham gia thị trường chứng khoán có thể được chia thành các nhóm sau: nhà phát hành, nhà đầu tư và các tổ chức có liên quan đến chứng khoán.

Nhà phát hành là các tổ chức thực hiện huy động vốn thông qua thị trường chứng khoán Nhà phát hành là người cung cấp các chứng khoán - hàng hoá của thị trường chứng khoán.

- Chính phủ và chính quyền địa phương là nhà phát hành các trái phiếu Chính phủ và trái phiếu địa phương

- Công ty là nhà phát hành các cổ phiếu và trái phiếu công ty.

- Các tổ chức tài chính là nhà phát hành các công cụ tài chính như các trái phiếu, chứng chỉ thụ hưởng phục vụ cho hoạt động của họ.

Nhà đầu tư là những người thực sự mua và bán chứng khoán trên thị trường chứng khoán Nhà đầu tư có thể được chia thành 2 loại :

- Các nhà đầu tư cá nhân

- Các nhà đầu tư có tổ chức

2.1.3.3 Các tổ chức kinh doanh trên TTCK

- Quỹ đầu tư chứng khoán

- Các trung gian tài chính

2.1.3.4 Các tổ chức có liên quan đến TTCK

- Cơ quan quản lý Nhà nước

- Sở giao dịch chứng khoán

- Hiệp hội các nhà kinh doanh chứng khoán

- Tổ chức lưu ký và thanh toán bù trừ chứng khoán.

- Công ty dịch vụ máy tính chứng khoán

- Các tổ chức tài trợ chứng khoán

- Công ty đánh giá hệ số tín nhiệm

2.1.4 Các nguyên tắc hoạt động cơ bản của TTCK

Thị trường chứng khoán hoạt động trên các nguyên tắc cơ bản sau :

- Nguyên tắc cạnh tranh: Theo nguyên tắc này, giá cả trên TTCK phản ánh quan hệ cung cầu về chứng khoán và thể hiện tương quan cạnh tranh giữa các công ty Trên thị trường sơ cấp, các nhà phát hành cạnh tranh với nhau để bán chứng khoán của mình cho các nhà đầu tư, các nhà đầu tư được tự do lựa chọn các chứng khoán theo các mục tiêu của mình Trên thị trường thứ cấp, các nhà đầu tư cũng cạnh tranh tự do để tìm kiếm cho mình một lợi nhuận cao nhất, và giá cả được hình thành theo phương thức khớp lệnh.

- Nguyên tắc công bằng: Công bằng có nghĩa là mọi người tham gia thị trường đều phải tuân thủ những qui định chung, được bình đẳng trong việc chia sẻ thông tin và trong việc gánh chịu các hình thức xử phạt nếu vi phạm vào những qui định đó.

- Nguyên tắc công khai: Chứng khoán là loại hàng hoá trừu tượng nên TTCK phải được xây dựng trên cơ sở hệ thống công bố thông tin tốt Theo luật định, các tổ chức phát hành có nghĩa vụ phải cung cấp thông tin đầy đủ theo chế độ thường xuyên và đột xuất thông qua các phương tiện thông tin đại chúng, Sở giao dịch, các công ty chứng khoán và các tổ chức có liên quan.

- Nguyên tắc trung gian: Nguyên tắc này có nghĩa là các giao dịch chứng khoán được thực hiện thông qua tổ chức trung gian là các công ty chứng khoán Trên thị trường sơ cấp, các nhà đầu tư không mua trực tiếp của nhà phát hành mà mua từ các nhà bảo lãnh phát hành Trên thị trường thứ cấp, thông qua các nghiệp vụ môi giới, kinh doanh, các công ty chứng khoán mua, bán chứng khoán giúp các khách hàng, hoặc kết nối các khách hàng với nhau qua việc thực hiện các giao dịch mua bán chứng khoán trên tài khoản của mình.

- Nguyên tắc tập trung: Các giao dịch chứng khoán chỉ diễn ra trên sở giao dịch và trên thị trường OTC dưới sự kiểm tra giám sát của cơ quan quản lý nhà nước và các tổ chức tự quản.

2.1.5 Cấu trúc và phân loại cơ bản của TTCK

Thị trường chứng khoán là nơi diễn ra các giao dịch, mua bán những sản phẩm tài chính (cổ phiếu, trái phiếu, các khoản vay ngân hàng có kỳ hạn trên 1 năm) Sau đây là một số cách phân loại TTCK cơ bản:

2.1.5.1 Căn cứ vào sự luân chuyển các nguồn vốn Thị trường chứng khoán được chia thành thị trường sơ cấp và thị trường thứ cấp

THỊ TRƯỜNG CHỨNG KHOÁN TẬP TRUNG

Thị trường chứng khoán tập trung là thị trường trong đó việc giao dịch mua bán chứng khoán được thực hiện tại một địa chỉ tập trung gọi là sàn giao dịch Đặc điểm của thị trường này là chỉ giao dịch các chứng khoán đã được niêm yết.

Họat động trên sàn giao dịch tập trung là các nhân viên-được cử bởi các công ty chứng khoán thành viên, họ với tư cách là nhà môi giới sẽ thực hiện giao dịch cho khách hàng hay cho chính công ty chứng khoán đó.

2.2.2 Phương thức giao dịch trên TTCK tập trung

Hiện nay ở nhiều nước trên thế giới cũng như ở nước ta, tồn tại hai phương thức giao dịch chính trên thị trường chứng khoán là phương thức giao dịch khớp lệnh và phương thức giao dịch thỏa thuận:

Loại chứng khoán Khớp lệnh Thỏa thuận

Bảng 2-2: Chứng khoán và các phương thức giao dịch

2.2.2.1 Phương thức giao dịch khớp lệnh

Là phương thức giao dịch được hệ thống giao dịch thực hiện trên cơ sở khớp các lệnh mua và lệnh bán chứng khoán của khách hàng theo nguyên tắc xác định giá thực hiện như sau:

- Giá khớp lệnh là giá thực hiện được khối lượng giao dịch lớn nhất

- Nếu có nhiều mức giá thỏa mãn điều kiện trên thì sẽ chọn giá gần với giá khớp gần nhất

- Nếu có nhiều mức giá thỏa mãn 2 điều kiện trên thì mức giá cao hơn sẽ được chọn

2.2.2.2 Phương thức giao dịch thỏa thuận

Phương thức giao dịch thoả thuận là việc các thành viên tự thoả thuận với nhau về các điều kiện giao dịch.

Các giao dịch này vẫn được thực hiện thông qua hệ thống giao dịch của Sở hoặc Trung tâm giao dịch nhưng sẽ không quy định đơn vị yết giá mà các bên tham gia sẽ tự thỏa thuận trên cơ sở cung cầu và mức giá tham khảo của phương thức giao dịch khớp lệnh.

Hiện nay, điều kiện để tiến hành giao dịch thỏa thuận được quy định khác nhau tại 2 sàn Hà Nội và Tp Hồ Chí Minh Cụ thể:

- Tại Sở giao dịch chứng khoán thành phố Hồ Chí Minh, những giao dịch cổ phiếu(CP) và chứng chỉ quỹ (CCQ) có khối lượng lớn từ 20.000 trở lên trong một lần đặt lệnh và tất cả những giao dịch trái phiếu (TP) đều bắt buộc phải thực hiện thông qua giao dịch thỏa thuận Thời gian giao dịch thỏa thuận đối CP và CCQ là 10h30 tới 11h, còn với trái phiếu là từ 8h30 tới 11h Thực tế, các nhà đầu tư khi muốn tiến hành các giao dịch tại SGDCK Tp HCM với khối lượng từ 20.000 CP hoặc CCQ trở lên mà vẫn muốn giao dịch khớp lệnh thì họ thường chia nhỏ khối lượng giao dịch ra thành nhiều lệnh Ví dụ để thực hiện giao dịch 20.000 CP X, nhà đầu tư có thể đợi tới khoảng thời gian từ 10h30 tới 11h để tiến hành giao dịch thỏa thuận hoặc có thể tách nhỏ thành 2 lệnh 19.000 CP và 1.000 CP để thực hiện giao dịch báo giá từ 8h30 tới 10h30.

- TTGDCK Tp HN lại có điểm khác biệt rất cơ bản trong quy định về giao dịch khớp lệnh so với SGDCK Tp HCM, đó là Trung tâm chỉ quy định về khối lượng giao dịch tối thiểu để thực hiện giao dịch thỏa thuận, cụ thể: đối với CP là 5.000 CP, đối với

TP là 100 triệu đồng tính theo mệnh giá Giao dịch báo giá và giao dịch thỏa thuận được tiến hành song song nhau từ 8h30 đến 10h45 Khoảng thời gian từ 10h45 tới 11h sẽ được dùng để các thành viên của Trung tâm đối chiếu và sửa lệnh nếu cần thiết. Quy định về khối lượng tối thiểu ở đây nghĩa là khi bạn tiến hành các giao dịch có khối lượng từ khối lượng tối thiều này trở lên, bạn có quyền lựa chọn giữa giao dịch báo giá và giao dịch thỏa thuận Đây chính là điểm khác biệt cơ bản giữa SGDCK Tp HCM và TTGDCK Tp HN.

Trình tự tiến hành giao dịch thỏa thuận của nhà đầu tư có thể được thực hiện như sau:

Cũng như giao dịch báo giá hay khớp lệnh, để tiến hành giao dịch thỏa thuận, nhà đầu tư cần phải có tài khoản tại công ty chứng khoán(CTCK) thành viên của SGDCK hay TTGDCK và trong tài khoản phải có đủ số dư tiền hoặc số dư chứng khoán theo quy định

Khi tiến hành giao dịch thỏa thuận, nếu nhà đầu tư đã xác định được đối tác và 2 bên đã thỏa thuận xong các điều kiện về giá, khối lượng, hình thức thanh toán thì sẽ thông báo cho CTCK của cả 2 bên CTCK sẽ thực hiện nhập lệnh vào hệ thống của thị trường và cuối mỗi phiên, SGDCK hay TTGDCK sẽ tiến hành tổng hợp vào kết quả giao dịch toàn thị trường.

Nếu nhà đầu tư chưa xác định được đối tác, khi có nhu cầu, sẽ tới đặt lệnh chào mua hoặc chào bán tại CTCK Đại diện giao dịch (ĐDGD) của CTCK sẽ nhập lệnh vào hệ thống và lệnh này sẽ hiển thị trên cửa sổ lệnh của SGDCK, TTGDCK và CTCK Căn cứ vào các thông tin chào mua, chào bán trên sổ lệnh giao dịch thỏa thuận, các CTCK sẽ liên lạc với nhau, giúp nhà đầu tư tìm kiếm, thỏa thuận với đối tác về mức giá, khối lượng giao dịch Sau khi đã đạt được thỏa thuận, ĐDGD của CTCK bên bán sẽ nhập lệnh giao dịch đã được thỏa thuận vào hệ thống gồm: Mã, số lượng, giá, số hiệu thành viên bên mua, kí hiệu lệnh giao dịch, số hiệu tài khoản giao dịch của nhà đầu tư Hệ thống tại SGDCK hay TTGDCK sẽ nhận, xác nhận các lệnh giao dịch do

CTCK nhập và đưa ra kết quả KQGD sẽ hiển thị trên màn hình của ĐDGD và màn hình của CTCK.

Một trong những tính chất của giao dịch thỏa thuận, đó là giá chứng khoán sẽ phụ thuộc cung cầu, mặt khác, nhà đầu tư thường tiến hành giao dịch thỏa thuận đối với những lô chứng khoán lớn, do đó, giá trị giao dịch thỏa thuận ở cả SGDCK Tp HCM và TTGDCK Tp HN đều không được sử dụng để tính chỉ số Vn-Index và HaSTC- Index.

2.2.3 Quy trình giao dịch khớp lệnh(hay báo giá)

Hoạt động giao dịch mua bán chứng khoán được khởi đầu bằng việc đặt lệnh mua bán tại Văn phòng giao dịch của Công ty chứng khoán đặt tại các địa điểm khác nhau trong cả nước Trước khi đặt lệnh, khách hàng phải làm thủ tục mở tài khoản tại Công ty chứng khoán

Hình 2-1: Quy trình giao dịch khớp lệnh

Lệnh của khách hàng được chuyền từ Văn phòng công ty chứng khoán đến người đại diện của công ty tại sàn giao dịch của Sở giao dịch chứng khoán Các lệnh mua bán được khớp lệnh với nhau Kết quả giao dịch sẽ được thông báo lại cho công ty chứng khoán và khách hàng của công ty Những lệnh được thực hiện sẽ chuyển sang hệ thống thanh toán và lưu ký chứng khoán làm các thủ tục thanh toán chuyển giao chứng khoán và tiền.

Toàn bộ quy trình này được tiến hành theo 5 bước:

- Bước 1: Nhà đầu tư đến mở tài khoản và đặt lệnh mua hay bán chứng khoán tại một công ty chứng khoán.

- Bước 2: Công ty chứng khoán chuyển lệnh đó cho đại diện của công ty tại Trung tâm giao dịch chứng khoán để nhập vào hệ thống giao dịch của Trung tâm.

- Bước 3: Trung tâm giao dịch chứng khoán thực hiện ghép lệnh và thông báo kết quả giao dịch cho công ty chứng khoán.

- Bước 4 : Công ty chứng khoán thông báo kết quả giao dịch cho nhà đầu tư.

TRUNG TÂM LƯU KÝ CHỨNG KHOÁN

Trung tâm lưu ký chứng khoán là trung tâm thực hiện việc lưu ký chứng khoán cho nhà đầu tư.

Lưu ký chứng khoán là hoạt động nhận ký gửi, bảo quản, chuyển giao chứng khoán cho khách hàng của Trung tâm lưu ký chứng khoán và giúp khách hàng thực hiện các quyền liên quan đến sở hữu chứng khoán Theo quy định, chứng khoán của công ty đại chúng và các loại chứng khoán khác niêm yết trên Sở giao dịch chứng khoán, Trung tâm giao dịch chứng khoán phải được lưu ký tập trung tại Trung tâm lưu ký chứng khoán trước khi thực hiện giao dịch Việc lưu ký chứng khoán của khách hàng tại Trung tâm lưu ký chứng khoán được quản lý theo hai cấp: khách hàng mở tài khoản lưu ký tại thành viên lưu ký để lưu ký chứng khoán và thành viên lưu ký mở tài khoản lưu ký tại Trung tâm lưu ký chứng khoán để tái lưu ký chứng khoán của khách hàng tại Trung tâm lưu ký chứng khoán Trung tâm lưu ký chứng khoán quản lý chứng khoán lưu ký dưới hình thức lưu ký tổng hợp Theo đó, người sở hữu chứng khoán là người đồng sở hữu chứng khoán lưu ký tổng hợp theo tỷ lệ chứng khoán được lưu ký tại Trung tâm lưu ký chứng khoán Chứng khoán lưu ký tại Trung tâm lưu ký chứng khoán là tài sản thuộc sở hữu của khách hàng, được quản lý tách biệt với tài sản của Trung tâm lưu ký chứng khoán và Trung tâm lưu ký chứng khoán không được sử dụng chứng khoán của khách hàng vì lợi ích của bên thứ ba hoặc vì lợi ích của chính Trung tâm lưu ký chứng khoán

Tại thành viên lưu ký, để đảm bảo quyền lợi của khách hàng lưu ký chứng khoán, thành viên lưu ký phải mở tài khoản lưu ký chứng khoán chi tiết cho từng khách hàng và quản lý tách biệt tài sản cho từng khách hàng Chứng khoán lưu ký của khách hàng tại thành viên lưu ký là tài sản thuộc sở hữu của khách hàng và được quản lý tách biệt với tài sản của thành viên lưu ký Thành viên lưu ký không được sử dụng chứng khoán trong tài khoản lưu ký chứng khoán của khách hàng vì lợi ích của bên thứ ba hoặc vì lợi ích của chính thành viên lưu ký.

Trung tâm lưu ký chứng khoán cung cấp các dịch vụ về lưu ký chứng khoán dưới đây cho khách hàng:

- Cầm cố và giải toả cầm cố chứng khoán.

Khi có các yêu cầu về ký gửi, rút, chuyển khoản và cầm cố chứng khoán tại Trung tâm lưu ký chứng khoán, khách hàng phải thực hiện thông qua các thành viên lưu ký nơi mình mở tài khoản.

Trung tâm lưu ký chứng khoán, thành viên lưu ký quản lý thông tin sở hữu chứng khoán của người sở hữu trên hệ thống tài khoản lưu ký ghi sổ Việc chuyển quyền sở hữu đối với chứng khoán lưu ký tại Trung tâm lưu ký chứng khoán được thực hiện thông qua hình thức chuyển giao ghi sổ tài khoản mà không phải chuyển giao chứng chỉ vật chất.

TRUNG TÂM THANH TOÁN BÙ TRỪ

Hệ thống thanh toàn bù trừ là một hệ phận cấu thành của thị trường chứng khoán đảm bảo chức năng bù trừ và thanh toán cho các giao dịch được thực hiện trên thị trường chứng khoán.

Bù trừ chứng khoán và tiền: bù trừ chứng khoán và tiền là khâu hỗ trợ sau giao dịch chứng khoán Sau khi chứng khoán niêm yết đã được đưa vào đăng ký, lưu ký tập trung tại TTLKCK, chúng sẽ được phép giao dịch trên TTCK Tuy nhiên, sau khi giao dịch trên thị trường được thực hiện (đã được xác nhận), thì các bên tham gia giao dịch cần phải nhận được tài sản của mình: bên bán nhận được tiền, bên mua nhận được chứng khoán Bù trừ chứng khoán và tiền là khâu tiếp theo sau giao dịch, thực hiện việc xử lý thông tin về các giao dịch chứng khoán, tính toán lại nhằm xác định số tiền và chứng khoán ròng cuối cùng mà các đối tác tham gia giao dịch phải có nghĩa vụ thanh toán sau khi giao dịch được thực hiện.

2.4.2 Các nguyên tắc bù trừ

- Thực hiện bù trừ theo kết quả giao dịch

- Thực hiện thanh toán theo kết quả bù trừ

- Đảm bảo việc giao chứng khoán đồng thời với việc thanh toán tiền.

- Phương thức thanh toán từng giao dịch: Là việc thanh toán theo từng giao dịch phát sinh Phương thức giao dịch này thường được áp dụng trong một số giao dịch đặc biệt hoặc trong giao dịch thương mại truyền thống Nếu khối lượng giao dịch và có nhiều thành viên lưu ký tham gia thì sử dụng phương thức này không có hiệu quả.

- Phương thức bù trừ song phương: là việc tính toán số lượng thuần tiền và từng loại chứng khoán phải thanh toán giữa các cặp đối tác giao dịch Phương thức bù trừ này trước đây hay được sử dụng do số giao dịch, chứng khoán và thành viên lưu ký còn nhỏ Hiện nay, trong một số trường hợp giao dịch thỏa thuận, các thị trường vẫn sử dụng phương thức này.

- Phương thức bù trừ đa phương: là việc thanh toán số lượng thuần tiền và từng loại chứng khoán mà mỗi thành viên lưu ký phải thanh toán Phương thức bù trừ này được áp dụng phổ biến nhất hiện này do tính ưu việt của nó: giảm tối đa sự luân chuyển tiển và chứng khoán, do đó tiết kiệm được chi phí và giảm thiểu rủi ro trong thanh toán

CHỨNG KHOÁN

Chứng khoán là giấy tờ có giá và có khả năng chuyển nhượng, xác định số vốn đầu tư; chứng khoán xác nhận quyền sở hữu hoặc quyền đòi nợ hợp pháp bao gồm các điều kiện về thu nhập và tài sản trong một thời hạn nào đó.

Chứng khoán là hàng hóa trên thị trường chứng khoán.

Theo NĐ144, chứng khoán được phân chia thành

- Cổ phiếu: : phát hành bởi các công ty cổ phần và không được xem là khoản nợ của công ty với người sở hữu sau khi phát hành Các công ty cổ phần phát hành ra cổ phiếu có thể hoạt động ở nhiều lĩnh vực khác nhau, phát hành cổ phiếu với mục đích chủ yếu là thu hút vốn cho việc phát triển kinh doanh.

- Trái phiếu: được phát hành bởi chính phủ hay công ty, là loại chứng khoán ghi nợ của nhà phát hành đối với người chiếm giữ cổ phiếu.

- Chứng chỉ quỹ đầu tư chứng khoán: được phát hành bởi quỹ đầu từ chứng khoán nào đó Mục đích của việc thành lập ra quỹ này là để đầu tư chứng khoán, không giống như các công ty phát hành cổ phiếu hoạt động ở nhiều hình thức kinh doanh khác nhau Nhà đầu tư mua chứng chỉ quỹ như là việc họ góp vốn vào quỹ đó và ủy thác việc mua bán chứng khoán cho quỹ đó, họ không cần quan tâm hay cũng có thể nói là bị động trong việc mua bán chứng khoán Việc mua bán chứng chỉ quỹ sẽ có ít rủi ro hơn do phân tán đầu tư và việc mua bán cũng thường được thực hiện bởi các nhà đầu tư chuyên nghiệp có kiến thức sâu về chứng khoán Hiện nay ở Việt Nam mới chỉ có một quỹ đầu tư chứng khoán được thành lập là Quỹ đầu tư chứng khoán Việt Nam(VF1)

- Các loại chứng khoán khác theo quy định của pháp luật

- Tính thanh khoản: có thể quy đổi ra tiền mặt

- Tính tư bản giả: tương tự tiền giấy.

Khi một công ty gọi vốn, số vốn cần gọi đó được chia thành nhiều phần nhỏ bằng nhau gọi là cổ phần Người mua cổ phần gọi là cổ đông Cổ đông được cấp một giấy chứng nhận sở hữu cổ phần gọi là cổ phiếu và chỉ có công ty cổ phần mới phát hành cổ phiếu

Như vậy, cổ phiếu chính là một chứng thư chứng minh quyền sở hữu của một cổ đông đối với một công ty cổ phần và cổ đông là người có cổ phần thể hiện bằng cổ phiếu.

Công ty cổ phần là một dạng pháp nhân có trách nhiệm hữu hạn, được thành lập và tồn tại độc lập với chủ sở hữu Vốn của công ty cổ phần được chia nhỏ thành các phần bằng nhau gọi là cổ phần Ưu điểm của công ty này là các nhà đầu tư có trách nhiệm hữu hạn tương ứng với cổ phần mà họ chiếm giữ, dễ dàng mở rộng kinh doanh.Nhược điểm lớn nhất là phải chịu thuế lớn, phải công khai tài chính, kết quả kinh doanh, …

2.5.4.2 Đặc điểm của cổ phiếu:

- Cổ phiếu là một loại chứng khoán vốn: nó là một loại chứng chỉ chứng nhận quyền sở hữu tài sản hoặc vốn của công ty Do đó nó được coi là một tài sản thực thụ và thường được lưu giữ ở các trung tâm lưu ký chứng khoán.

- Cổ phiếu có mệnh giá: Mệnh giá cổ phiếu là giá trị mà công ty cổ phần ấn định cho một cổ phiếu và được ghi trên cổ phiếu Mệnh giá cổ phiếu lớn hay nhỏ thường là do luật chứng khoán và công ty cổ phần quy định Mệnh giá cổ phiếu không có tác động tới giá thị trường của cổ phiếu, nó chỉ có ý nghĩa lúc phát hành Lúc đó mệnh giá thể hiện số tiền tối thiểu phải nhận được cho mỗi cổ phiếu mà công ty cổ phần phát hành o Mệnh giá cổ phiếu=(Vốn điều lệ)/(Số cổ phiếu đăng ký phát hành) o Ở nước ta luật Chứng khoán quy định mỗi cổ phiếu có mệnh giá là

10.000 đồng Do đó Số CP đăng ký phát hành =(Vốn điều lệ)/10.000

- Cổ phiếu là một loại chứng khoán vĩnh viễn: sau khi đã phát hành cổ phiếu không còn có ý nghĩa nhiều với công ty cổ phần, nó không được xem là khoản nợ của công ty với nhà đầu tư.

Có rất nhiều tiêu chí để phân loại cổ phiếu như theo quyền lợi cổ đông, theo danh tính, …

- Phân loại theo quyền lợi cổ đông có cổ phiếu thường và cổ phiếu ưu đãi: o Cổ phiếu thường: Các cổ đông sở hữu cổ phiếu thông thường có quyền hạn và trách nhiệm đối với công ty như: Được chia cổ tức theo kết quả kinh doanh; Được quyền bầu cử, ứng cử vào bộ máy quản trị và kiểm soát công ty;

Và phải chịu trách nhiệm về sự thua lỗ hoặc phá sản tương ứng với phần vốn góp của mình. o Cổ phiếu ưu đãi: Các cổ đông sở hữu cổ phiếu ưu đãi cũng là hình thức đầu tư vốn cổ phần như cổ phiếu thông thường nhưng quyền hạn và trách nhiệm hạn chế như: lợi tức cố định, không có quyền bầu cử, ứng cử v.v…

*** Ở nước ta cũng tồn tại 2 dạng cổ phiếu thường và cổ phiếu ưu đãi, nhưng cổ phiếu ưu đãi ở nước ta mang ý nghĩa khác Thực chất nó cũng là cổ phiếu thường nhưng được bán với giá ưu đãi cho nhân viên trong công ty khi đã thõa mãn điều kiện nào đó Việc sở hữu cổ phiếu này vẫn có các lợi ích như cổ phiếu thường như bầu cử, chia cổ tức Vấn đề ràng buộc ở đây thường là chính sách phải có thời hạn nào đó mới được phép giao dịch trên thị trường Hết thời hạn này nó hoàn toàn giống cổ phiếu thường Đây thực chất là các chính sách thu hút và giữ nhân tài của mỗi công ty.

- Phân loại theo danh tính có cổ phiếu ghi danh và cổ phiếu vô danh: o Cổ phiếu ghi danh: là loại ghi tên chủ sở hữu Là loại ra đời đầu tiên, loại này có nhược điểm là việc giao dịch rất phức tạp o Cổ phiếu vô danh: không ghi tên chủ sở hữu, có thể trao đổi dễ dàng.

Là loại ra đời sau và phát triển rộng rãi.

- Phân loại theo việc đăng lưu hành hay không: o Cổ phiếu đang lưu hành: là cổ phiếu đã được bán ra và chưa được mua lại bởi chính tổ chức phát hành. o Cổ phiếu ngân quỹ: là cổ phiếu đã lưu hành và được mua lại bởi chính tổ chức phát hành Cổ phiếu tồn đọng ở đợt phát hành trước không được gọi là cổ phiếu ngân uỹ Cổ phiếu ngân quỹ không được tính vào tỷ lệ sở hữu của nhà đầu tư Do đó mua vào sẽ tăng tỷ lệ sở hữu của nhà đầu tư.

2.5.4.4 Tác dụng của việc phát hành cổ phiếu

- Đối với Công ty phát hành: Việc phát hành Cổ phiếu sẽ giúp cho Công ty có thể huy động vốn khi thành lập hoặc để mở rộng kinh doanh Nguồn vốn huy động này không cấu thành một khoản nợ mà công ty phải có trách nhiệm hoàn trả cũng như áp lực về khả năng cân đối thanh khoản của công ty sẽ giảm rất nhiều, trong khi sử dụng các phương thức khác như phát hành trái phiếu công ty, vay nợ từ các tổ chức tín dụng thì hoàn toàn ngược lại Tuy nhiên, mỗi phương thức huy động đều có những ưu nhược điểm riêng và nhà quản lý công ty phải cân nhắc, lựa chọn tùy từng thời điểm và dựa trên những đặc thù cũng như chiến lược kinh doanh của công ty để quyết định phương thức áp dụng thích hợp.

CHỈ SỐ THỊ TRƯỜNG CHỨNG KHOÁN

Chỉ số thị trường chứng khoán là một giá trị thống kê phản ánh tình hình của thị trường cổ phiếu Nó được tổng hợp từ danh mục các cổ phiếu theo phương pháp tính nhất định Thông thường, danh mục sẽ bao gồm các cổ phiếu có những điểm chung như cùng niêm yết tại một sở giao dịch chứng khoán, cùng ngành hay cùng mức vốn hóa thị trường Các chỉ số chứng khoán này có thể do sở giao dịch chứng khoán định ra (ví dụ Vn-Index), cũng có thể do hãng thông tin (ví dụ Nikkei 225) hay một thể chế tài chính nào đó định ra (ví dụ Hang Seng Index).

2.6.2 Cách tính chỉ số thị trường chứng khoán

Có hai phương pháp thường được dùng để tính chỉ số thị trường chứng khoán là phương pháp Laspeyres và phương pháp Paascher :

Dựa trên lượng cổ phiểu ở thời kỳ cơ sở(thời kỳ gốc)

Trong đó : o P1i : Giá hiện hành của chứng khoán i o P0i : Giá của cổ phiếu i thời kỳ gốc o Q0i : Khối lượng của cổ phiếu i tại thời kỳ gốc

Dựa trên lượng cổ phiếu ở thời kỳ lưu hành :

Trong đó : o P1i : Giá hiện hành của chứng khoán i o Q1i : Khối lượng cổ phiếu i đang lưu hành o P0i : Giá của cổ phiếu i thời kỳ gốc o Q0i : Khối lượng của cổ phiếu i tại thời kỳ gốc

- Chỉ số chứng khoán Việt Nam (VN-index): tính theo lượng cổ phiếu hiện hành tức theo phương pháp Paascher.

MỘT SỐ VẤN ĐỀ KHÁC

2.7.1 Đọc bảng giá chứng khoán

Hình 2-2: Các thông tin trên bảng giá trực tuyến

- Cột CK: là mã hiệu tên viết tắt của chứng khoán được đăng ký và niêm yết tại trung tâm giao dịch chứng khoán.

- Cột Trần(giá trần): là mức giá cao nhất mà nhà đầu tư có thể đặt lệnh

- Cột sàn(giá sàn): là mức giá thấp nhất mà nhà đầu tư có thể đặt lệnh

- Cột Tham chiếu(giá tham chiếu): là giá đóng cửa của ngày giao dịch trước đó, là cơ sở để xác định giá trần và giá sàn.

- Dư mua: gồm 6 cột biểu thị cho 3 mức giá đặt mua cao nhất và khối lượng tương ứng với mức giá đó, cuối phiên giao dịch nó sẽ hiển thị 3 mức giá này và khối lượng chưa được khớp của các mức giá đó(dư mua).

- Dư bán: gồm 6 cột, hiển thị 3 mức giá đặt bán thấp nhất và khối lượng tương ứng với các mức giá đó Cuối phiên là khối lượng còn dư chưa được khớp của các mức giá đó(dư bán).

- Khớp lệnh: gồm 2 cột hiển thị giá khớp lệnh mà tại đó khối lượng chứng khoán được giao dịch là nhiều nhất và khối lượng được chỉ rõ bên cột khối lượng.

- Cột +/-: Là thay đổi của mức giá hiện tai so với mức giá tham chiếu trong ngày Giá tham chiếu cộng với thay đổi này sẽ là giá đóng cửa đồng thời cũng là giá tham chiếu của ngày giao dịch tiếp theo Màu xanh thể hiện tăng giá, màu vàng đứng giá, màu đỏ là giảm giá.

- Giá: lần lượt chỉ các giá khớp lệnh lúc mở cửa, giá khớp lệnh cao nhất và thấp nhất trong ngày.

2.7.2 Một số thuật ngữ chứng khoán

- Biên độ dao động giá: là cơ sở để xác định giá trần và giá sàn của mỗi chứng khoán khi bắt đầu phiên giao dịch Trước kia sàn Hà Nội biên độ là 10%, sàn Hồ Chí Minh là 5% Gần đây do TTCK đang rớt giá mạnh mẽ do đó chính phủ đã điều chỉnh biên độ giá của 2 sàn xuống 2%(HN),1%(HCM) và hiện tại là 3%(HN) và 2%(HCM).

- Giá tham chiếu: cùng với biên độ dao động giá, là cơ sở để xác định giá trần và giá sàn Thường lấy giá tham chiếu là giá đóng cửa của phiên giao dịch gần nhất.

- Giá trần: là giá cao nhất có thể được đặt, được thiết lập ở đầu mỗi phiên:

Giá trần=giá tham chiếu + giá tham chiếu*biên dộ dao động giá

- Giá sàn: là giá thấp nhất có thể được đặt, được thiết lập khi bắt đầu mỗi phiên giao dịch

Giá sàn=giá tham chiếu - giá tham chiếu*biên dộ dao động giá

- Chỉ số chứng khoán: là chỉ số đánh giá xem kết quả giao dịch của cả phiên là tăng hay giảm thế nào Hiện nay chỉ số VN-INDEX được tính bằng cách:

Dựa trên lượng cổ phiếu ở thời kỳ lưu hành :

Trong đó : o P1i : Giá hiện hành của chứng khoán i o Q1i : Khối lượng cổ phiếu i đang lưu hành o P0i : Giá của cổ phiếu i thời kỳ gốc

2.7.3 Thị trường chứng khoán Việt Nam-một số sự kiện và con số

- Ngày 11 tháng 07 năm 1998, Chính phủ ra Quyết định số 127/1998/QÐ-TTg thành lập hai Trung tâm giao dịch chứng khoán trực thuộc Uỷ ban chứng khoán Nhà nước.

- Ngày 28/07/2000 sàn Hồ Chí Minh đã có phiên giao dịch đầu tiên

- Ngày 08/03/2005 TTGDCK Hà Nội chính thức khai trương hoạt động, đánh dấu một bước phát triển mới của thị trường chứng khoán Việt Nam

- Khi mới đi vào hoạt động, tại TTGDCK TP.HCM chỉ có 2 loại cổ phiếu (REE và SAM) và một số ít trái phiếu Chính phủ được niêm yết giao dịch Số lượng chứng khoán niêm yết đã tăng dần qua các năm Tính đến nay số chứng khoán niêm yết là

529 trong đó cổ phiếu là 151, trái phiếu là 375 và chứng chỉ quỹ là 3.

Hình 2-3: Quy mô niêm yết của sàn HCM

- Tại Sàn Hà Nội cuối năm 2005 số chứng khoán niêm yết chỉ là 13, hiện này là

341 trong đó cổ phiếu là 137 và trái phiếu là 204.

Hình 2-4: Quy mô niêm yết của sàn Hà Nội

- Tại sàn Hồ Chí Minh, Đến cuối năm 2006, số lượng tài khoản của nhà đầu tư mở tại các công ty chứng khoán thành viên là 106 ngàn tài khoản, cuối năm 2007 số lượng tài khoản của nhà đầu tư mở tại các CTCK đã là gần 298 ngàn tài khoản trong đó có trên 7 ngàn tài khoản của nhà đầu tư nước ngoài.

- Từ ngày 30/07/2007 SGDCK TP.HCM đã thực hiện giao dịch khớp lệnh liên tục và từng bước triển khai giao dịch nhập lệnh từ xa để đáp ứng với tình hình thị trường đang phát triển.

- Tính đến ngày 31/12/2007, SGDCK TP.HCM đã thực hiện được 1699 phiên giao dịch với khối lượng khoảng 4.225 triệu chứng khoán và giá trị khoảng 384.452 tỷ đồng Riêng trong năm 2007, khối lượng giao dịch đạt khoảng gần 2.390 triệu chứng khoán với tổng giá trị giao dịch là 245.651 tỷ đồng.

- Tháng 3/2008 các nhà đầu tư đua nhau bán tháo cổ phiếu, chỉ số VNINDEX và

- Ngày 27/03/2008, biên độ diao động giá chứng khoán trên sàn TP Hồ Chí Minh từ ±5% xuống còn ±1% Sàn giao dịch Hà Nội sẽ giảm biên độ từ ±10% xuống còn ±2%

- Từ ngày 7/4/2008 đứng trước tình hình tính thanh hoàn của chứng khoán giảm mạnh, Chính phủ lại một lần nữa điều chỉnh biên độ dao động giá cổ phiếu trên các sàn: sàn Hồ Chí Minh là 2%, sàn Hà Nội là 3%.

- Biến động giá cổ phiếu được phản ánh rõ nét qua biến động chỉ số VN INDEX và HaSTC INDEX o VN INDEX: Từ mức 307,5 điểm vào cuối năm 2005, VN INDEX tăng và đạt mức kỷ lục 1.170,67 điểm trong phiên 12/03/2007 Hiện tại tình đến ngày 19/05/2008 sau một thời gian dài liên tục sút giảm, chỉ số VN-INDEX là 455.67.

Hình 2-5: Biểu đồ chỉ số VNINDEX 1 năm qua o HaSTC INDEX: đầu năm 2008 chỉ số HaSTC Index là hơn 300 điểm, hiện tại tình đến phiên giao dịch ngày 19/05/2008 chỉ số này là 137.74 điểm.

Hình 2-6: Biểu đồ chỉ số HASTC-INDEX

KIẾN TRÚC MVC VÀ STRUTS

SƠ LƯỢC VỀ ỨNG DỤNG WEB

Trong kỹ thuật phần mềm, một Ứng dụng web hay webapp là một trình ứng dụng mà có thể tiếp cận qua web thông qua mạng như Internet hay intranet. Ứng dụng web phổ biến nhờ vào sự có mặt vào bất cứ nơi đâu của một chương trình Khả năng cập nhật và bảo trì ứng dụng Web mà không phải phân phối và cài đặt phần mềm trên hàng ngàn máy tính là lý do chính cho sự phổ biến của nó Ứng dụng web được dùng để hiện thực Webmail, bán hàng trực tuyến, đấu giá trực tuyến, wiki, diễn đàn thảo luận, Weblog, MMORPG và nhiều chức năng khác.

Có rất nhiều mô hình kiến trúc đã được đưa ra và phát triển cho các ứng dụng Web, nhưng hiện tại kiến trúc Client-Server vẫn là kiến trúc phổ biến nhất Ở đó Client làm nhiệm vụ hiển thị và tương tác với người dùng (thường thông qua web browser ), sau đó các thông tin được đóng gói và chuyển tới Server Tại Server có một trình quản lý gọi là web server Trình quản lý này sẽ nhận các request từ client, xử lý hoặc đưa tới các khối xử lý rồi nhận lại kết quả xử lý và cuối cùng response lại cho người dùng ở client Tóm lại, theo mô hình này tại Client Web Browser sẽ làm nhiệm vụ hiển thị dữ liệu, tương tác với người dùng, đóng gói thông tin chuyển tới client và nhận lại thông tin phản hồi từ Server để hiển thị, còn tại Server Web Server sẽ quản lý việc nhận các request từ client, xử lý tạo lại response và send tới client.

Giao thức được sử dụng phổ biến nhất cho ứng dụng web là HTTP, theo đó khi gửi đi các thông tin sẽ được đóng gói thành HTTP REQUEST, gói tin này được chuyển tới Server qua giao thức TCP/IP Tại Server gói tin được phân tích, xử lý và tạo lại HTTP RESPONSE và gửi trở lại cho client.

Khi mới ra đời, quá trình xử lý phía Server chủ yếu là việc phân phát các tài liệu tĩnh (các trang HTML) đã tồn tại sẵn trên đó tới client Sau này do khối lượng thông tin cần truyền tải lớn, thêm vào đó là nhu cầu tương tác lớn hơn giữa người dùng và ứng dụng web nên mô hình web động đã được phát triển mạnh, song hành với đó là các sự phát triển của các công nghệ cho phép phát triển web động như ASP, PHP,JSP,…Vai trò chủ yếu của các công nghệ này là tạo ra các trang HTML từ cơ sở dữ liệu và sau đó đưa tới client để hiển thị.

JAVA VÀ LẬP TRÌNH WEB VỚI JAVA

3.2.1 Công nghệ Java Được phát triển dựa trên kế thừa, bổ sung và sửa đổi C++, kể từ khi ra đời năm

1995 đến nay Java đã và đang ngày càng được sử dụng rộng rãi cả trong các DesktopApplication và Web Application Java được tạo ra và phát triển bắt nguồn từ dự án của

Sun Microsystems nhằm tạo ra một ngôn ngữ đơn giản nhưng mạnh mẽ dựa trên C++ nhưng sẽ thay thế C++

Các đặc điểm cơ bản của Java khiến nó trở thành một công nghệ phát triển như ngày nay đó là: đơn giản, hướng đối tượng, phân tán, mạnh mẽ, bảo mật, độc lập nền

- Đơn giản: đây là đặc điểm đầu tiên và cũng là mục đích cơ bản của Java Sở dĩ

Java đơn giản bởi nó đã lược bỏ bớt đi sự phức tạp của C++ (một ngôn ngữ mà để làm việc được với nó ta phải có quá trình học tập và thực hành lâu dài) Cụ thể rất nhiều vấn đề phức tạp của C++ đã bị loại bỏ trong Java như: đa kế thừa, con trỏ, việc khai báo biến và phương thức ngoài lớp.

- Hướng đối tượng: mọi ứng dụng Java đều phải được xây dựng dựa trên đối tượng và thông qua các đối tượng Ta không thể tạo các hàm phổ dụng ở ngoài lớp như C++

- Phân tán: java được thiết kế hỗ trợ các ứng dụng phân tán thông qua các lớp mạng java.net.

- Mạnh mẽ: dụng ý của Java là giúp các lập trình viên có thể tạo nên những chương trình chắc chắn, không phạm nhiều lỗi khi chạy Việc buộc phải khai báo biến một cách tường minh, cơ chế tự dọn rác cho bộ nhớ là một trong những tính chất làm nên đặc điểm này.

- Bảo mật: Java được viết cho các ứng dụng chạy trên môi trường mạng/phân tán.

Do đó Java phải được và đã được thiết kế sao cho có khả năng tạo được một hệ thống không virus, không bị phá rối Kỹ thuật xác minh của Java dựa vào cách mã hóa theo khóa công cộng Thêm vào đó việc không hỗ trợ con trỏ là một trong những đặc tính giúp Java an toàn hơn Một thông dịch byte code sẽ kiểm tra chặ chẽ các mã byte, không cho phép bất kỳ một hành vi không được phép nào được thực hiện.

- Độc lập nền: không giống như nhiều ngôn ngữ khác Java có thể chạy trên nhiều nền khác nhau nhờ có máy ảo Java JVM.

Các thành phần cơ bản của Java:

Hình 3-8: Các thành phần cơ bản của Java

- Java SE API: là bộ thư viện chuẩn của Java, nó chứa các package chuẩn cho người lập trình sử dụng: vào ra, mạng, thư viện awt cho tạo giao diện và xử lý sự kiện,

- JRE: Java runtime environment, bao gồm Java SE và thêm một số thành phần khác đặc biệt là máy ảo Java JVM Máy ảo java là bộ phân không thể thiếu nếu một chương trình Java muốn chạy được Theo đó code java sẽ được biên dịch thành mã bytecode không phụ thược nền, sau đó JVM sẽ thông dịch nó sang nền tường ứngSolaris, Linux hay Windows.

- JDK: gồm JRE và thêm các trình biên dịch, trình giúp đỡ, trình gỡ rối.

3.2.2 Lập trình Web với Java

3.2.2.1 Sơ lược về các công nghệ phát triển web trong java Để hỗ trợ cho việc phát triển các ứng dụng Web, Sun đã đưa ra các công nghệ dựa vào java trên cả trình chủ và trình khách:

- Phía trình khách chính là Java Applet: công nghệ này cho phép nhúng mã java vào trang HTML và thực thi trên trình khách Bằng cách sử dụng thẻ ta có thể nhúng những đoạn code java vào Khi load trang này về client, đoạn code đó cũng sẽ được tải về và thực thi trên trình khách Ban đầu công nghệ này chính là thứ đã làm cho Java nổi tiếng và được nhiều người biết đến Bằng cách sử dụng Applet sự tương tác của người dùng và web ở phía client đã sinh động hơn Ta có thể dùng nó để kiểm tra, dùng để tạo các hình động, tạo đồng hồ v.v… Ngày nay do sự phát triển mạnh mẽ của Javascript nên Java Applet đã ít được sử dụng hơn.

- Phía trình chủ là công nghệ Java Server Pages hay JSP: đây là công nghệ cho phép sinh động các trang HTML phía server, nó cho phép ta những code java vào để xử lý Trong các ứng dụng Web lớn sử dụng công nghệ java, để tránh sự phức tạp và phiền hà người ta thường không viết code java vào trang jsp mà thường dùng sử dụng một công nghệ java khác là Servlet

Về cơ bản Java Servlet là các lớp Java bình thường được viết theo chuẩn nhất định, các việc xử lý chính của ứng dụng chủ yếu do các lớp này thực hiện: xử lý request, xử lý dữ liệu.

3.2.2.2 Mô hình kiến trúc cho phát triển webapps

Khi Sun giới thiệu công nghệ JSP, nó cung cấp một hướng phát triển và định nghĩa 2 mô hình xây dựng các ứng dụng Web dựa trên JSP Hai mô hình đó được biết đến với những cái tên Model 1 và Model 2 và chúng quy định các cách tiếp cận khác nhau để thiết kế các ứng dụng Web dựa trên JSP Model 1, đơn giản hơn, là giải pháp chính khi JSP lần đầu được đưa ra Tuy nhiên, qua thời gian, Model 2 trở nên được chấp nhận như là cách tốt nhất để xây dựng các ứng dụng Web dựa trên JSP và là nguồn cảm hứng cho các Web framework dựa trên MVC như Struts.

Kiến trúc Model 1 hết sức đơn giản Tóm lại là tất cả mọi thứ đều được gói gọn trong servlet hoặc JSP từ việc xử lý request, xác nhận tính hợp lệ của dữ liệu, điều quản business logic và generate response Mặc dù về khái niệm hết sức đơn giản, kiến trúc này không phù hợp cho việc phát triển các ứng dụng quy mô lớn vì chắc chắn một số lượng lớn các tính năng sẽ bị lặp lại trong các trang JSP (lặp lại code) Cũng vậy,kiến trúc Model 1 tạo nên sự ràng buộc không cần thiết giữa business logic và presentation logic của ứng dụng Ví dụ, ngoài giao diện HTML, bạn có thể muốn thêm một giao diện WML cho truy nhập wireless Trong trường hợp này, việc sử dụngModel 1 yêu cầu sự lặp lại không cần thiết của business logic trong các trang sử dụngHTML và WML.

Hình 3-9: Mô hình kiến trúc 1(Model 2)

3.2.2.2.2 Mô hình 2(Model 2 hay MVC)

Model 2, hay cách gọi thông dụng ngày nay, Model-View-Controller (MVC), giải quyết nhiều vấn đề của Model 1 với việc cung cấp một sự phân tách rõ ràng trong ứng dụng Trong kiến trúc MVC, một serlvet trung tâm, được gọi là Controller, tiếp nhận tất cả các request cho ứng dụng Sau đó Controller sẽ xử lý request và làm việc với Model để chuẩn bị những dữ liệu cần thiết cho View (thường là JSP) và forward dữ liệu tới trang JSP Sau đó JSP sử dụng các dữ liệu đã được chuẩn bị bởi Controller để generate một response về cho browser Trong kiến trúc này, business logic và presentation logic được phân tách nhau Việc tách business code và presentation code giúp ta có thể sử dụng nhiều giao diện cho ứng dụng, chúng có thể là Web, wireless hay GUI Thêm vào đó, việc phân tách này còn cung cấp việc tái sử dụng lại code một cách hoàn hảo

Hình 3-10: Mô hình kiến trúc MVC

Chức năng cụ thể của các thành phần:

KIẾN TRÚC MVC SỬ DỤNG STRUTS

Mặc dù kiến trúc MVC cung cấp một khả năng mạnh mẽ trong việc tổ chức code, tuy nhiên việc phát triển vẫn gặp phải một số vấn đề khó khăn đặc biệt trong vấn đề phát triển và sử dụng lại Struts cung cấp nền tảng, hay framework, để xây dựng một ứng dụng hướng MVC cùng với các thư viện và tiện ích để làm cho việc phát triển MVC được nhanh hơn và dễ dàng hơn

Bạn có thể tạo mới một Controller mỗi lần bạn muốn sử dụng mẫu thiết kế MVC trong ứng dụng Web của mình Thêm vào đó, bạn cần tạo management/flow logic để chuyển và lấy dữ liệu từ Model và sau đó định hướng tới View Bạn cũng cần định nghĩa giao diện để tương tác với các Model object và tất cả các utility code đi kèm để sử dụng mẫu thiết kế MVC Tuy nhiên, thay vì lặp lại tiến trình này mỗi khi bạn tạo một ứng dụng mới, bạn có thể sử dụng Struts Struts cung cấp cấu trúc và outline cơ bản để xây dựng ứng dụng, cho phép bạn tập trung vào xây dựng bussiness logic mà không phải lo nhiều đến các thứ “linh tinh” khác.

Struts là một Framework mã nguồn mở được phát triển bởi Apache Software

Foundation, được xây dựng nhằm hỗ trợ hỗ trợ việc phát triển các ứng dụng Web dựa trên tích hợp các công nghệ chuẩn của Java như: Java Servlet, JSP, Java Bean.

Struts cung cấp rất nhiều lợi ích cho người phát triển ứng dụng web, đặc biệt là cho việc phát triển ứng dụng Web theo kiến trúc MVC Struts giúp việc phát triển ứng dụng web nhanh hơn, bảo trì, thêm chức năng và sử dụng lại dễ dàng hơn.

3.3.2 Các thành phần của Struts

Struts là một tập hợp các thư viện Java và có thể chia ra làm các nhóm sau:

- Framework cơ sở: Framework cơ sở cung cấp các tính năng MVC cốt lõi Nền tảng của framework cơ sở là Controller servlet: ActionServlet Phần còn lại của framework cơ sở bao gồm các lớp cơ sở mà ứng dụng của bạn sẽ extend và các class tiện ích Nổi bật nhất trong các lớp cơ sở là lớp Action và lớp ActionForm Lớp Action được sử dụng bởi ActionServlet để sử lý các request xác định Lớp ActionForm được sử dụng để capture dữ liệu từ các HTML form và được sử dụng để chuyển dữ liệu trở lại View để generate response.

- Thư viện thẻ JSP: Struts đưa ra các thư viện thẻ để hỗ trợ việc lập trình View logic trong JSP Các thư viện thẻ JSP cho phép các JSP author sử sụng các thẻ giống HTML Việc sử dụng các thẻ Struts này giúp ta xây dựng View mà không cần phải nhúng code Java vào trong trang JSP Ví dụ như cấu trúc lặp, kiểm tra điều kiện… thay vì sử dụng code Java ta có thể sử dụng các thẻ Struts cung cấp như:

, , o HTML Tags: Sử dụng để generate các HML form tương tác với Struts API o Bean Tags: Sử dụng để làm việc với các Java bean object trong JSP o Logic Tags: Sử dụng để implement các logic điều kiện đơn giản trong JSP o Nested: Sử dụng để cho phép các mức nested tùy ý

- Tiles plugin: Tiles là một JSP template framework giúp thuận tiện cho việc tái sử dụng mã HTML.

- Validator plugin: Validator là một framework với khả năng thực hiện xác nhận tính hợp lệ của dữ liệu ở cả phía server và client.

- Nhiều code java phức tạp đã được thay thế bởi XML hoặc các file cấu hình Việc này giúp cho nhiều thay đổi, chỉnh sửa không cần phải chỉnh sửa hay biên dịch lại java code.

- Form bean: với việc sử dụng thành phần này của Struts như là thành phần chụp lại các giá trị người dùng nhập vào rồi chuyển đến ActionRequest để xử lý, hoặc dùng làm thành phần trung gian chuyển dữ liệu giữa Action và các trang JSP, các nhược điểm của JSP về bean đã bị loại bỏ.

- Bean tags: với việc hỗ trợ các thẻ này ta có thể dễ dàng đưa các giá trị của các

Java Bean ra để hiện thị Ví dụ , thêm vào đó ta có thể định nghĩa các message sẵn trong 1 file cấu hình và đại diện bằng tên nào đó Ta dùng thẻ bean() để hiển thị giá trị của tên đó Công việc này rất hữu ích khi ta thay đổi giá trị hiển thị này ví dụ ta muốn chuyển sang một ngôn ngữ khác, khi đó ta chỉ việc thay đổi giá trị trong file cấu hình kia.

- Html tags: Struts cung cấp các thẻ HTML tương ứng với các thành phần java bean Việc sử dụng các thẻ này cho phép nó lấy được các giá trị khởi tạo từ đối tượng Java nào đó và hiện thỉ lại form những giá trị khác(Đây là đặc tính mà việc sử dụng các thẻ HTML bình thường không làm được, ví dụ việc không được gán giá trị khởi đầu có thể dẫn đến việc xử lý lỗi khi dữ liệu được truyền về server để xử lý).

- Form Field Validate: đặc tính này của Struts cho phép validate các giá trị mà form gửi đến qua request Từ đó quyết định xem thông báo lỗi trở lại hay chuyển thông tin cho Action xử lý

3.3.4 Kiến trúc MVC sử dụng Struts

Hình 3-11:Kiến trúc MVC sử dụng Struts

Hình 3-12: Hoạt động của Web Application trong MVC Struts

Theo kiến trúc MVC sử dụng Struts:

- Model: là các lớp Java làm 3 nhiệm vụ: o Giao tiếp với Action của Controller: là các method xử lý các yêu cầu Action o Xử lý business logic: là nội dung các method. o Xử lý Database: truy xuất cơ sở dữ liệu.

- Controller: bao gồm hai thành phần chính là ActionServlet và Action.

ActionServlet nhận các request từ client xử lý tạo Form bean từ các thông tin lấy từ Client hoặc lấy form bean từ Action Action sử dụng form bean tạo và xử lý trong method execute() sau đó forwad tới View để hiển thị.

Lớp làm nhiệm vụ của Action khi tạo phải extends lớp chuẩn mà Struts cung cấp là org.apache.struts.action.Action Việc kế thừa lớp này sẽ cung cấp method được thực thi khi action được gọi đó là method execute()

PHÂN TÍCH

KHẢO SÁT MỘT SỐ HỆ THỐNG ĐÃ CÓ

4.1.1 Công ty chứng khoán Ngân Hàng Đầu Tư và Phát Triển Việt Nam Được thành lập vào ngày 7 tháng 7 năm 2000, Công ty Chứng khoán Ngân hàng Đầu tư và Phát triển Việt Nam (BSC) là Công ty chứng khoán đầu tiên trong ngành ngân hàng tham gia kinh doanh trong lĩnh vực chứng khoán và cũng là một trong hai công ty chứng khoán đầu tiên tại Việt Nam BSC là công ty con của Ngân hàng Đầu tư và Phát triển Việt Nam, một trong bốn ngân hàng thương mại quốc doanh lớn nhất hiện nay Website: www.bsc.com.vn

4.1.2 Công ty cổ phần dịch vụ viễn thông và công nghệ thông tin VTIS

Công ty VTIS là một trong các Công ty hàng đầu tại Việt Nam trong lĩnh vực cung cấp nội dung thông tin Ngoài ra, Công ty VTIS còn tham gia trong các lĩnh vực như: xây dựng giải pháp, tư vấn, thiết kế, bảo trì bảo dưỡng các hệ thống mạng tin học và viễn thông Địa chỉ :Số 6 ngõ 196 Thái Thịnh, website: www.vinastock.com.vn

4.1.3 Công ty cổ phần Việt Ngân Đây là một công ty cổ phần về chứng khoán của thành phố Hồ Chí Minh Địa chỉ: 36/70/9 D2 Phường 25, Quận Bình Thạnh, Tp.HCM - Tel: (84.8) 5129068 - Fax: (84.8) 5129068 Website: www.vnstockgame.com

4.1.4 Quy trình tạo tài khoản và giao dịch tại các hệ thống trên

- Đăng ký tài khoản: trước khi muốn giao dịch tại các sàn đó, người dùng phải đăng ký tài khoản tại các sàn giao dịch ảo này Người dùng phải cung cấp các thông tin cá nhân như dịa chỉ email, số điện thoại, tên tài khoản truy cập và mật khẩu Sau khi đăng ký tài khoản thành công, người dùng sẽ được cấp một tài khoản ban đầu để tiên hành giao dịch, với trang Vinastock của VTIS và của Côngg ty Việt Ngân (www.vnstockgame.com ) người dùng phải sử dụng hệ thống SMS để kích hoạt và nạp tiền cho tài khoản

- Đăng nhập hệ thống: Để có thể thực hiện giao dịch, người dùng phải đăng nhập và hệ thống với tên tài khoản và mật khẩu đã đăng ký thành công.

- Đặt lệnh giao dịch: Sau khi tài khoản đã được tạo, người dùng đã đăng nhập và tài khoản đã có thể giao dịch(đã có tiền bằng kích hoạt SMS như của VNSTOCKGAME),nhà đầu tư có thể tham gia mua bán chứng khoán trên thị trường với các thông tin thị trường được cập nhật từ các sàn giao dịch Hiện tại Vinastock và BSC đã hỗ trợ tất cả các lệnh đặt trên sàn thật, sàn vnstockgame hiện tại mới hỗ trợ đặt lệnh LO và ATO ở giao dịch khớp lệnh định kỳ xác định giá mở cửa.

- Truy vấn lệnh đặt và truy vấn tài khoản: chức năng này giúp các nhà đầu tư kiểm tra tài khoản và trạng thái các lệnh đã đặt.

- Tạo, mở cửa, đóng cửa phiên: đây là nhiệm vụ của người quản trị hệ thống, thực hiện theo lịch trên các sàn giao dịch.

- Cập nhật kết quả giao dịch trên các sàn giao dịch

4.1.5 Một số đặc điểm khác của các hệ thống đã có

- Đa phần các hệ thống đều tương đối khó sử dụng đối với những người chưa có nhiều kinh nghiệm vì chưa có những hướng dẫn chi tiết về quy trình và cách thức hoạt động và giao dịch của thị trường chứng khoán Việt Nam.

- Các hệ thống chú trọng đến tính chất thương mại nhiều hơn là tính giáo dục, chưa mang tính chất phổ cập kiến thức cho các nhà đầu tư mà thiên về là một sân chơi.

- Các hệ thống đa phần là của các công ty lớn có mục đích thương mại là chính nên chưa đáp ứng được đối với số đông người sử dụng.

4.1.6 Lý do và mục đích xây dựng hệ thống mới

- Tìm hiểu các kiến thức về chứng khoán

- Tìm hiểu và hoàn thiện kỹ năng lập trình, xây dựng một website từ đầu.

- Cung cấp một hệ thống dễ sử dụng cho mọi đối tượng có thể tham gia

- Cung cấp một hệ thống phi thương mại

TỔNG QUAN HỆ THỐNG

4.2.1 Các đối tượng tương tác với hệ thống

Tham gia vào hệ thống giao dịch chứng khoán ảo có 4 đối tượng người dùng: người dùng thông thường, nhà đầu tư (người dùng đăng ký tài khoản để giao dịch), quản trị hệ thống, người dùng đóng vai trò là nhân viên môi giới (tư vấn và giúp nhà đầu tư đặt lệnh) Do vai trò của nhân viên môi giới trong hệ thống này tương đối mờ nhạt và do phạm vi của đồ án nên ta chỉ xét đến 2 đối tượng người dùng là nhà đầu tư và quản trị hệ thống:

- Nhà đầu tư: là người dùng tham gia vào hệ thống với mục đích giao dịch chứng khoán Để trở thành nhà đầu tư tham gia vào hệ thống người dùng phải đăng ký tài khoản và đăng nhập vào hệ thống bằng tài khoản đăng ký đó

- Người quản trị hệ thống: là người tác động đến hệ thống để khởi động các chức năng quản trị hệ thống như: tạo và mở cửa phiên, khớp lệnh, thanh toán bù trừ.

4.2.2 Các giao dịch trong hệ thống

Giao dịch trong hệ thống là tiến trình hoạt động của hệ thống khi có tác nhân ngoài tác động vào Sau đây là các giao dịch trong hệ thống giao dịch chứng khoản ảo:

- Đăng ký tài khoản: người dùng click chọn vào mục đăng ký tài khoản, hệ thống hiện biểu mẫu đăng ký Người dùng điền các thông tin và gửi đăng ký Hệ thống kiểm tra các thông tin nhập bởi người dùng, kiểm tra xem có hợp lệ hay không, nếu hợp lệ thì lưu người dùng vào cơ sở sữ liệu và thông báo cho người dùng biết thành công, nếu không hợp lệ thông báo vấn đề phát sinh cho người dùng.

- Đăng nhập hệ thống: người dùng điền các thông tin đăng nhập và click vào nút đăng nhập Hệ thống lấy thông tin người dùng nhập vào, kiểm tra xem thông tin đăng nhập có đúng không, nếu đúng kiểm tra quyền cua người dùng và đưa người dùng về trang tương ứng, nếu các thông tin không hợp lệ thông báo vấn đề phát sinh cho người dùng.

- Truy vấn tài khoản: Để thực hiện được chức năng này, người dùng phải đăng nhập vào hệ thống Người dùng click chọn mục truy vấn tài khoản, hệ thống lấy thông tin tài khoản người dùng và hiển thị.

- Đặt lệnh(bán hoăc mua): người dùng là nhà đầu tư đã đăng nhập vào hệ thống và click chọn mục đặt lệnh(bán hoăc mua), hệ thống hiển thị màn hình đặt lệnh cho người dùng Người dùng nhập các thông tin cần thiết và click vào nút đặt lệnh Hệ thống kiểm tra các thông tin và báo cho người dùng biết việc đặt lệnh thành công hay không.

- Truy vấn lệnh đặt: người dùng là nhà đầu tư muốn kiểm tra các lệnh mịnh đặt đã được khớp hay chưa Hệ thống lấy thông tin các lệnh chưa được khớp và hiển thị.

- Tạo phiên giao dịch mới và mở cửa phiên giao dịch: người dùng là quản trị hệ thống click chọn nút tạo và mở cửa phiên giao dịch Hệ thống kiểm tra phiên giao dịch hiện tại và tạo phiên mới nếu các điều kiện thõa mãn(phiên hiện tại đã đóng) và thông báo cho người quản trị xem công việc thành công hay chưa.

- Khớp lệnh: người dùng là quản trị hệ thống và phiên giao dịch hiện tại đang mở.

Người quản trị click chọn mục khớp lệnh, hệ thống lấy thông tin các lệnh đặt, lấy thông tin giá khớp và thực hiện khớp lệnh, lưu các lệnh được khớp vào bảng lệnh khớp.

- Đóng cửa phiên giao dịch và thanh toán bù trừ: người dùng là quản trị hệ thống click chọn mục đóng cửa và thanh toán bù trừ Hệ thống thực hiện thanh toán bù trừ chứng khoán và tiền, thông báo kết quả cho người quản trị.

- Cập nhật thông tin trực tuyến: người quản trị hệ thống click chọn mục cập nhật kết quả trực tuyến, hệ thống lấy thông tin giao dịch trực tuyến trên mạng và lưu vào cơ sở dữ liệu.

4.2.3 Sơ đồ phân rã chức năng

Sơ đồ mô tả các chức năng của hệ thống giao dịch chứng khoán ảo Các chức năng này được gom thành 3 nhóm

- Nhóm 1 là hệ thống con quản lý tài khoản của người dùng: hệ thống con này sẽ quản lý việc đăng ký, đăng nhập, truy vấn tài khoản và truy vấn lệnh của nhà đầu tư.

- Nhóm 2 là hệ thống con quản lý phiên giao dịch: nhóm này quản lý các thao tác của người quản trị hệ thống là mở của thị trường, khớp lệnh, đóng cửa thị trường và thanh toán bù trừ cho các nhà đầu tư,…

PHÂN TÍCH CÁC TRƯỜNG HỢP SỬ DỤNG

Trường hợp sử dụng hay use-case là đại diện cho một chức năng nguyên vẹn trong hệ thống mà một tác nhân nhận được Một Use Case trong ngôn ngữ UML được định nghĩa là một tập hợp của các chuỗi hành động mà một hệ thống thực hiện để tạo ra một kết quả có thể quan sát được, tức là một giá trị đến với một tác nhân cụ thể. Trong hệ thống giao dịch chứng khoán ảo này như đã nói ở trên sẽ xét tới hai tác nhân chính trong hệ thống là nhà đầu tư và người quản trị hệ thống Sau đây là các use-case tương ứng với các tác nhân đó Với mỗi Use-case sẽ có biểu đồ diễn tiến và bảng đặc tả chi tiết về điều kiện và các dòng sự kiện.

4.3.1 Các trường hợp sử dụng của nhà đầu tư

Nhà đầu tư trong hệ thống này tác động với hệ thống qua các Use-case đăng ký, đăng nhập, đặt lệnh, truy vấn lệnh và truy vấn tài khoản Ở đây tác nhân nhà đầu tư đóng vai trò là người dử dụng bình thường khi chưa có tài khoản hoặc chưa đăng nhập vào hệ thống (2 use-case Đăng ký và Đăng nhập) và đã có tài khoản và đăng nhập thành công vào hệ thống(các use-case còn lại).

Nhà đầu tư Đặt lệnh bán Đặt lệnh mua

Truy vấn tài khoản Truy vấn lệnh Đăng ký Đăng nhập

Hình 4-18: Các trường hợp sử dụng của nhà đầu tư 4.3.1.1 Đăng ký

Trường hợp sử dụng này miêu tả xử lý của hệ thống khi người dùng muốn ký thành viên để có thể thực hiện giao dịch trênn hệ thống.

Tên Đăng ký tài khoản

Mô tả chung Trường hợp sử dụng này cho phép nhà đầu tư chưa có tài khoản có thể đăng ký tài khoản để giao dịch Tác nhân Nhà đầu tư chưa có tài khoản

Xảy ra khi Nhà đầu tư muốn tạo tài khoản để giao dịch Điều kiện trước Nhà đầu tư truy cập vào hệ thống và chọn mục đăng ký

Dòng sự kiện 1 Người dùng chọn đăng ký tài khoản

2 Hệ thống hiện biểu mẫu cho phép người dùng nhập các thông tin để đăng ký Thông tin bao gồm: tên tài khoản, mật khẩu, email.

3 Người dùng nhập các thông tin cần thiết để đăng ký:

- Tài khoản bắt đầu bằng kí tự và tối thiểu 4 kí tự

- Mật khẩu phải có chiều dài lớn hơn 6 kí tự.

4 Tài khoản người dùng được tạo và lưu vào cơ sở dữ liệu

Ngoại lệ 1 Các thông tin người dùng nhập không hợp lệ: thông báo lỗi cụ thể

2 Tên người dùng đã được sử dụng: thông báo cho người dùng chọn tài khoản khác. Điều kiện sau

Liên quan đến yêu cầu

Bảng 4-3: Đặc tả Use-case Đăng ký

Trường hợp sử dụng này miêu tả xử lý của hệ thống khi người dùng muốn đăng nhập vào hệ thống.

Mô tả chung Trường hợp sử dụng này cho phép nhà đầu tư đăng nhập vào hệ thống và thực hiện các giao dịch chứng khoán.

Tác nhân Nhà đầu tư đã có tài khoản

Xảy ra khi Nhà đầu tư muốn đăng nhập vào hệ thống để giao dịch Điều kiện trước - Nhà đầu tư truy cập vào hệ thống và đã có tài khoản trong hệ thống.

Dòng sự kiện 1 Hệ thống hiện biểu mẫu cho phép người dùng nhập các thông tin để đăng nhập vào hệ thống. Thông tin bao gồm: tên tài khoản, mật khẩu.

2 Người dùng nhập các thông tin cần thiết để đăng ký:

3 Hệ thống kiểm tra quyền của nhà đầu tư và chuyển tới trang chủ tương ứng của người dùng đó.

Ngoại lệ 2 Các thông tin người dùng nhập không hợp lệ: thông báo lỗi cụ thể Điều kiện sau

Liên quan đến yêu cầu

Bảng 4-4: Đặc tả Use-case Đăng nhập

Trường hợp sử dụng này thể hiện cách xử lý của hệ thống khi nhà đầu tư muốn đặt lệnh mua.

Mô tả chung Cho phép nhà đầu tư thực hiện đặt lệnh mua chứng khoán.

Tác nhân Nhà đầu tư đã có tài khoản

Xảy ra khi Nhà đầu tư muốn đặt lệnh mua chứng khoán. Điều kiện trước - Nhà đầu tư đã đăng nhập thành công vào hệ thống

- Nhà đầu tư còn tiền được phép giao dịch Dòng sự kiện 1 Hệ thống hiện biểu mẫu cho phép người dùng nhập các thông tin để đặt lệnh mua Thông tin bao gồm:

- Thông tin phiên: số hiệu phiên, ngày giao dịch

- Số tiền còn dư được phép giao dịch

- Combo box chứa danh sách các mã chứng khoán

- Khoảng giá có thể đặt tương ứng với mã chứng khoán

2 Người dùng nhập các thông tin cần thiết để đặt lệnh mua:

- Khối lượng mua(x10 cổ phiếu)

3 Hệ thống kiểm tra quyền các thông tin lệnh đặt và cho phép người dùng đặt lệnh nếu các thông tin đã hợp lệ

4 Người dùng chọn đặt lệnh

5 Thông tin đặt lệnh được gửi vào hệ thống, hệ thống hiển thị lại thông tin đặt lệnh kèm theo mã đặt lệnh, trạng thài lệnh.

Ngoại lệ 1 Các thông tin người dùng nhập không hợp lệ: giá không hợp lệ, số tiền không đủ giao dịch Điều kiện sau Nhà đầu tư đặt lệnh thành công và thông tin lệnh đặt được gửi lên hệ thống.

Liên quan đến yêu cầu

Bảng 4-5: Đặc tả Use-case Đặt lệnh mua

- Biểu đồ trình tự đặt lệnh mua: tương tác giữa nhà đầu tư và hệ thống trong trường hợp sử dụng đặt lệnh mua được miêu tả trong biểu đồ trình tự sau:(trang bên)

:Nhà đầu tư :Đặt lệnh mua

1 : yêu cầu hiên thị biểu mẫu đặt lệnh mua()

2 : Đọc thông tin tài khoản nhà đầu tư()

3 : Đọc danh sách chứng khoán()

4 : Đọc danh sách các lênh có thể đặt()

5 : Hiển thị biểu mẫu đặt lệnh mua()

6 : Nhà đầu tư điền thông tin cần về chứng khoán cần mua()

Thông tin lệnh mua gồm:

+ Mã chứng khoán + Số lượng + Loại lệnh + Giá đặt

8 : Luu thong tin lenh mua()

9 : Cap nhat so du tien duoc phep giao dich()

10 : Thong bao dat lenh thanh cong

Trường hợp sử dụng này thể hiện cách xử lý của hệ thống khi nhà đầu tư muốn đặt lệnh bán.

Mô tả chung Cho phép nhà đầu tư thực hiện đặt lệnh bán chứng khoán.

Tác nhân Nhà đầu tư đã có tài khoản

Xảy ra khi Nhà đầu tư muốn đặt lệnh bán chứng khoán. Điều kiện trước - Nhà đầu tư đã đăng nhập thành công vào hệ

Hình 4-19: Biểu đồ trình tự đặt lệnh mua thống

- Nhà đầu tư nắm giữ chứng khoán cần bán.

Dòng sự kiện 1 Hệ thống hiện biểu mẫu cho phép người dùng nhập các thông tin để đặt lệnh bán Thông tin bao gồm:

- Thông tin phiên: số hiệu phiên, ngày giao dịch

- Combo box chứa danh sách các mã chứng khoán

- Khoảng giá có thể đặt tương ứng với mã chứng khoán

- Số chứng khoán có thể bán

6 Người dùng nhập các thông tin cần thiết để đặt lệnh mua:

- Khối lượng bán(x10 cổ phiếu)

- Loại giá bán: ATO hay LO

7 Hệ thống kiểm tra quyền các thông tin lệnh đặt và cho phép người dùng đặt lệnh nếu các thông tin đã hợp lệ

8 Người dùng chọn đặt lệnh

9 Thông tin đặt lệnh được gửi vào hệ thống, hệ thống hiển thị lại thông tin đặt lệnh kèm theo mã đặt lệnh, trạng thài lệnh.

Ngoại lệ 2 Các thông tin người dùng nhập không hợp lệ: giá không hợp lệ, số chứng khoán sở hữu không đủ để giao dịch. Điều kiện sau Nhà đầu tư đặt lệnh thành công và thông tin lệnh đặt được gửi lên hệ thống.

Liên quan đến yêu cầu

Bảng 4-6: Đặc tả Use-case Đặt lệnh bán

- Biểu đồ trình tự: tương tác giữa nhà đầu tư và hệ thống trong trường hợp sử dụng đặt lệnh bán được miêu tả trong biểu đồ trình tự sau:

:Nhà đầu tư :Đặt lệnh bán

1 : yêu cầu hiên thị biểu mẫu đặt lệnh bán()

2 : Đọc thông tin tài khoản nhà đầu tư()

3 : Đọc danh sách chứng khoán sở hữu()

4 : Đọc danh sách các lênh có thể đặt()

5 : Hiển thị biểu mẫu đặt lệnh bán()

6 : Nhà đầu tư điền thông tin cần về chứng khoán cần bán()

Thông tin lệnh bán gồm:

+ Mã chứng khoán + Số lượng + Loại lệnh + Giá đặt

7 : Luu thong tin lenh bán()

8 : Phong tỏa số chứng khoán đã bán()

9 : Thong bao dat lenh thanh cong

Trường hợp sử dụng thể hiện xử lý của hệ thống khi nhà đầu tư thực hiên truy vấn lệnh để xem các thông tin về lệnh đặt.

Mô tả chung Cho phép nhà đầu tư thực hiện đặt lệnh bán chứng khoán.

Tác nhân Nhà đầu tư đã có tài khoản

Xảy ra khi Nhà đầu tư muốn đặt lệnh bán chứng khoán. Điều kiện trước Nhà đầu tư đã đăng nhập thành công vào hệ thống

Nhà đầu tư nắm giữ chứng khoán cần bán.

Dòng sự kiện 1 Hệ thống hiện biểu mẫu cho phép người dùng nhập các thông tin để đặt lệnh bán Thông tin bao gồm:

- Thông tin phiên: số hiệu phiên, ngày giao dịch

- Combo box chứa danh sách các mã chứng khoán

- Khoảng giá có thể đặt tương ứng với mã chứng khoán

- Số chứng khoán có thể bán

2 Người dùng nhập các thông tin cần thiết để đặt lệnh mua:

- Khối lượng bán(x10 cổ phiếu)

- Loại giá bán: ATO hay LO

3 Hệ thống kiểm tra quyền các thông tin lệnh đặt và cho phép người dùng đặt lệnh nếu các thông tin đã hợp lệ

4 Người dùng chọn đặt lệnh

5 Thông tin đặt lệnh được gửi vào hệ thống, hệ thống hiển thị lại thông tin đặt lệnh kèm theo mã đặt lệnh, trạng thài lệnh.

Ngoại lệ 1 Các thông tin người dùng nhập không hợp lệ: giá không hợp lệ, số chứng khoán sở hữu không đủ để giao dịch. Điều kiện sau Nhà đầu tư đặt lệnh thành công và thông tin lệnh đặt được gửi lên hệ thống.

Liên quan đến yêu cầu

Bảng 4-7: Đặc tả Use-case Truy vấn lệnh

- Biểu đồ trình tự: tương tác giữa nhà đầu tư và hệ thống trong trường hợp sử dụng truy vấn lệnh được miêu tả trong biểu đồ trình tự sau:

Hình 4-20: Biểu đồ trình tự đặt lệnh bán

:Nhà đầu tư :Truy vấn lệnh

1 : yêu cầu hiện biểu mẫu truy vấn lệnh()

2 : Đọc danh sách các lệnh đặt và lệnh khớp của ngày hiện tại()

3 : Hiển thị thông tin các lệnh đặt và lệnh khớp của ngày hiện tại()

4 : Người dùng chọn mốc thời gian muốn truy vấn)

5 : Đọc danh sách các lênh đặt và khớp()

6 : Hiển thị thông tin các lênh đặt và lệnh khớp()

Trường hợp sử dụng thể hiện xử lý của hệ thống khi người dùng thực hiện truy vấn tài khoản.

Tên Truy vấn tài khoản

Mô tả chung Cho phép nhà đầu tư thực hiện truy vấn tài khoản.

Tác nhân Nhà đầu tư đã có tài khoản

Xảy ra khi Nhà đầu tư muốn xem thông tin tài khoản của mình. Điều kiện trước - Nhà đầu tư đã đăng nhập thành công vào hệ thống

Hình 4-21: Biểu đồ trình tự truy vấn lệnh

:Nhà đầu tư :Truy vấn số dư tài khoản

1 : Yêu cầu hiênt thị thông tin tài khoản()

2 : Đọc thông tin tài khoản()

3 : Hiển thị thông tin tài khoản()

Thông tin tài khoản gồm + Số dư tiền

+ Số tiền bị phong tỏa + Số tiền sẵn sàng cho giao dịch + Danh sách chứng khoán sở hữu + Số lượng chứng khoán đang sở hữu,

Bị phong tỏa, được phép giao dịch, giá trị hiện tạii

Dòng sự kiện 1 Hệ thống hiện thị thông tin tài khoản gồm:

- Số tiền dạng chứng khóan

2 Thông tin chứng khoán sở hữu:

Ngoại lệ Điều kiện sau Thông tin tài khoản được hiển thị.

Liên quan đến yêu cầu

Bảng 4-8: Đặc tả Use-case Truy vấn tài khoản

Hình 4-22: Biểu đồ trình tự Truy vấn tài khoản

4.3.2 Các trường hợp sử dụng của người quản trị

Tạo và mở cửa phiên giao dịch

Khớp lệnh Đóng cửa và thanh toán bù trừ

Cập nhât kết quả giao dịch

Hình 4-23: Các trường hợp sử dụng của quản trị hệ thống

4.3.2.1 Tạo và mở cửa phiên giao dịch

Trường hợp sử dụng thể hiện xử lý của hệ thống khi người quản trị muốn tạo một phiên mới và mở cửa phiên đó cho phép các nhà đầu tư có thể thực hiện giao dịch.

Tên Tạo và mở cửa phiên

Mô tả chung Cho phép quản trị hệ thống tạo mới và mở cửa phiên giao dịch.

Tác nhân Quản trị hệ thống

Xảy ra khi Quản trị hệ thống yêu cầu tạo mới phiên giao dịch. Điều kiện trước - Quản trị hệ thống đã đăng nhập thành công vào hệ thống chứng khoán.

Dòng sự kiện 1 Hệ thống hiện biểu mẫu cho phép người dùng tạo mới và mở cửa phiên giao dịch Trên biểu mẫu có sãn các thông tin về phiên giao dịch hiện tại.

- Thông tin phiên: số hiệu phiên, ngày giao dịch, trạng thái

2 Người dùng chọn tạo và mở cửa phiên giao dịch mới.

3 Phiên giao dịch mới được tạo và tự động cập nhật trở thành phiên giao dịch hiện tại.

THIẾT KẾ

THIẾT KẾ KIẾN TRÚC HỆ THỐNG

Hình 4-1: Kiến trúc hệ thống

Hệ thống được phát triển theo mô hình kiến trúc MVC sử dụng Struts Sau đây là mô tả về một số thành phần cơ bản trong kiến trúc đó:

- ActionServlet: là thành phần được hỗ trợ bởi framework struts, người dùng không cần phải quan tâm nhiều đến thành phần này Thành phần này làm nhiệm vụ nhận các request từ web browser tiến hành xử lý, tạo form bean, quyết định xem có send tới Action hay forward ngay tới View để hiển thị Nó cũng đóng vai trò là thành phần nhận kết quả từ Action và chuyển tới View để hiển thị.

- Action: là các lớp Java kế thừa lớp Action do Struts hỗ trợ Nó sé tiến hành các thao tác xử lý, giao tiếp với model qua các interface mà Model cung cấp Action và ActionServlet là 2 thành phần của Controller.

- JSP pages và Form Bean là các thành phần của View: các JSP page nhận các thông tin từ ActionServlet và hiênt thị Các form bean là các ống dẫn giữa

- Model: là các lớp Java bình thường, xử lý nghiệp vụ và truy xuất cơ sở dữ liệu.

THIẾT KẾ CƠ SỞ DỮ LIỆU

Hình 5-32: Các bảng dữ liệu của hệ thống 5.2.1.1 Bảng tblNhaDauTu

Bảng lưu thông tin về tài khoản của nhà đầu tư Mỗi khi người dùng đăng ký tài khoản thành công một bản ghi sẽ được cập nhật vào cơ sở dữ liệu Mỗi khi người dùng đăng nhập các thông tin người dùng nhập vào cũng sẽ được kiển tra trong bảng này.

Tên cột Kiếu dữ liệu Chiều dài Khóa chính Khóa ngoại Mô tả

NhaDauTuID bigint 8 x Tăng tự động

UserName nvarchar(100) 100 Tên tài khoản

Password Nvarchar(50) 128 Mật khẩu groupLevel int 4 x Group level totalMoney float 8 Tổng tiền readyMoney float 8 Số tiền mặt blockMoney float 8 Số tiền tạm khóa email Nvarchar(100) 100 Email createDate datetime 8 Ngày tạo lastLogin datetime 8 Lần login gần nhất comment Int 256 Chú thích

Bảng lưu thông tin phân quyền người dùng Có 4 level:

- 1: nhà đầu tư bình thường

- 3: Người quản trị hệ thống – administrator

Tên cột Kiếu dữ liệu Chiều dài Khóa chính Khóa ngoại Mô tả groupLevel int 4 x Group Level groupName nvarchar(100) 100 Tên nhóm

Bảng 5-14: Bảng tblGroup 5.2.1.3 Bảng tblChungKhoanSoHuu

Bảng lưu thông tin các chứng khoán thuộc quyền sở hữu của người dùng Bảng có khóa ngoại là NhaDauTuID – là khóa chính của bảng tblNhaDauTu Mỗi khi nhà đầu tư thực hiện giao dịch thành công Tùy vào giao dịch đó là mua hay bán mà hệ thống sẽ cập nhật các thông tin về chứng khoán mà nhà đầu tư đó sở hữu.

Tên cột Kiếu dữ liệu Chiều dài Khóa chính Khóa ngoại Mô tả

MaCK Nvarchar 20 x Mã chứng khoán

Bảng lưu thông tin các mã chứng khoán đã được niêm yết trên thị trường Bảng có chứa khóa ngoại CongTyNiemYetID-là khóa chính của bảng tblCongTyNiemYet. Mỗi khi có công ty niêm yết trên sàn giao dịch, ngoài việc cập nhật các thông tin chi tiết về công ty đó vào bảng tblCongTyNiemYet, công ty đó sẽ được cấp một mã chứng khoán để tiện cho việc giao dịch

Tên cột Kiếu dữ liệu Chiều dài Khóa chính Khóa ngoại Mô tả

MaCK Nvarchar 20 x Mã chứng khoán

CongTyNiemYetID int 4 x Số hiệu công ty niêm yết

Bảng 5-16: Bảng tblChungKhoan 5.2.1.5 Bảng tblCongTyNiemYet

Bảng lưu thông tin chi tiết về các công ty niêm yết Khi công ty được niêm yết lên sàn giao dịch, các thông tin về công ty sẽ được cập nhật vào bảng này.

Tên cột Kiếu dữ liệu Chiều dài Khóa chính Khóa ngoại Mô tả

CongTyNiemYetID int 4 x Tăng tự động

TenVietTat Nvarchar 100 Địa chỉ Nvarchar 100

Bảng 5-17: Bảng tblCongTyNiemYet 5.2.1.6 Bảng tblPhien

Bảng lưu thông tin về các phiên giao dịch Để các nhà đầu tư có thể thực hiện giao dịch trên sàn, người quản trị hệ thống phải thực hiện tạo và mở cửa phiên giao dịch, sau khi kết thúc giao dịch phiên sẽ đóng cửa để thực hiện thanh toán Trong bảng có trường TrangThai lưu thông tin có kiểu int Trong đó 0:chưa mở cửa, 1:Khớp lệnh định kỳ xác định giá mở cửa, 2: liên tục, 3:Khớp lệnh định kỳ xác định giá đóng cửa., 4: đóng cửa.

Tên cột Kiếu dữ liệu

PhienID bigint 8 x Tăng tự động

Bảng 5-18: Bảng tblPhien 5.2.1.7 Bảng tblLenhDat

Bảng lưu thông tin về lệnh đặt Khi người dùng thực hiện giao dịch mua hay bán, nếu các thông tin người dùng nhập vào là hợp lệ, lệnh sẽ được cập nhật vào bảng tblLenhDat và sẽ ở trạng thái chờ khớp Trong bảng có trường trạng thài lưu thông tin về trạng thài của lệnh đặt: 0:chờ khớp,1:Khớp 1 phần; 2: Khớp toàn bo; 3: hết hạn.

Tên cột Kiếu dữ liệu Chiều dài Khóa chính Khóa ngoại Mô tả

LenhDatID bigint 8 x Tăng tự động

Bảng có cấu trúc giống bảng tblLenhDat, nhằm lưu thông tin lịch sử lệnh đặt Để tăng hiệu năng xử lý Sau khi kết thúc phiên toàn bộ dữ liệu từ bảng tblLenhDat sẽ được chuyển sang bảng này.

Tên cột Kiếu dữ liệu

LenhDatID bigint 8 x Tăng tự động

Bảng lưu thông tin về sàn giao dịch ảo Sau mỗi phiên giao dịch sẽ có xử lý và đưa kết quả vào bảng này Các thông tin trên bảng này chỉ có giá trị tham khảo, bởi khi giao dịch các thông tin này sẽ được lấy từ thông tin thật trên các sàn giao dịch.

Tên cột Kiếu dữ liệu

Bảng lưu thông tin về sàn giao dịch thật, được cập nhật từ mạng và lưu vàp bảng này Đây là các thông tin được lấy phục vụ cho việc giao dịch của hệ thống.

Tên cột Kiếu dữ liệu

Bảng 5-22: Bảng tblGiaoDichThat 5.2.1.11 Bảng tblLenhKhop

Bảng lưu thông tin lệnh khớp Khi người quản trị thực hiện khớp lệnh, hệ thống sẽ lấy thông tin giá khớp từ bảng tblGiaoDichThat và tiến hành so khớp các lệnh với nhau Tùy vào thời gian nhập lệnh và kiểu lệnh là ATO hay LO để ghép lệnh Lệnh được ghép sẽ được lưu vào bảng này để phục vụ cho việc thanh toán bù trừ.

Tên cột Kiếu dữ liệu Chiều dài Khóa chính Khóa ngoại Mô tả

Tương tự như bảng tblLichSuLenhDat, bảng này được tạo ra nhằm tăng hiệu năng xử lý của hệ thống Sau khi kết thúc mỗi phiên, toàn bộ dữ liệu của bảng tblLenhKhop sẽ được chuyển sang bảng này.

Tên cột Kiếu dữ liệu Chiều dài Khóa chính Khóa ngoại Mô tả

THIẾT KẾ LỚP

Hệ thống phát triển theo mô hình MVC sử dụng Struts Theo đó việc xử lý nghiệp vụ và truy xuất cở sở dữ liệu sẽ do Model thực hiện Nó thực chất là các lớp Java cung cấp giao diện(các method) cho Controller và xử lý nghiệp vụ logic trong các method đó

- UserService: lớp này là thành phần của Model xử lý nghiệp vụ và truy xuất dữ liệu.

- UserAction: là lớp Action của Controller Lớp này sẽ làm nhiệm vụ giao tiếp với lớp UserService để xử lý các thông tin lien quan đến tài khoản người dùng.

Kiểm tra người dùng với username và passwword nhập vào có đúng không Nếu đúng trả về đối tượng người dùng để tạo session. checkUser(username) Kiểm tra nếu đúng người dùng thì trả lại true, nếu sai trả lại false addUser(User user) Thêm tài khoản người dùng

Bảng 5-25: Các Method của lớp UserService 5.3.2 Lớp StockService và OrderAction:

- StockService: là lớp của Model Thực hiện truy xuất cơ sử dũ liệu và xử lý đặt lệnh bán hay mua, xử lý truy vấn tài khoản, truy vấn lệnh:

- OrderAction: là lớp của Controller, giao tiếp với Model.

Phương thức Mô tả getArrayStock

Method lấy danh sách các chứng khoán để hiển thị Phương thức trả về list các đối tượng Stock bao gồm mã chứng khoán và các thông tin liên quan đến giá đặt. saveOrder Method thực hiện lưu lệnh đặt vào cơ sở dữ liệu. getOrder

Method thực hiện truy vấn lệnh hiển thị cho người dùng xem các lệnh nào chưa được khớp.

- StockSessionService: lớp của Model thực hiện các nghiệp vụ liên quan đến phiên giao dịch: đóng mở của, tạo mới, thanh toán, khớp lệnh, cập nhật kết quả giao dịch.

- StockSeesionAction: là lớp của Controller, xử lý request, giao tiếp với Model và forward cho View để hiển thị.

Phương thức Mô tả getStockSession() Method lấy thông tin về phiên hiện tại Kết quả trả về của Method là đối tượng SockSession chứa các thông tin về phiên giao dịch. createStockSession Method thực tạo phiên giao dịch và mở cửa phiên giao dịch đó closeStockSession Method thực hiện đóng cửa phiên giao dịch và thanh toán bù trừ. matchOrder

Method thực hiện khớp lệnh với giá khớp lệnh đã có Nó sẽ duyệt danh sách các lênh đặt và ghép tạo lệnh khớp lưu vào bảng lệnh khớp. getMatchPrice Method lấy giá khớp lệnh. updateResults Method cập nhật kết quả giao dịch ảo và thật.

CÀI ĐẶT HỆ THỐNG

CÔNG CỤ

JDK là viết tắt của Java Development Kit, là gói phần mềm chứa đựng các công cụ cần thiết cho việc phát triển một ứng dụng java như bộ biên dịch, bộ sửa lỗi, máy ảo java v.v…

Phiên bản mới nhất của gói này là jdk 1.6 update 10 Phiên bản được sử dụng trong ứng dụng này là jdk 1.6 update 3.

MyEclipse là môi trường phát triển tích hợp cho Java và nhiều thành phần khác. Nhà nước được phát triển bởi công ty Genuitec (một thành viên của Eclipse Foundation)

MyEclipse phát triển trên nền Eclipse và tích hợp thêm nhiều đặc tính vào trong môi trường phát triển này như database tool, struts framework, spring, hibernate, v.v… Phiên bản sử dụng trong đồ án là phiên bản mới nhất của MyEclipse

Tomcat còn được gọi là web container (là gọi chung cho JSP/Servlet Container) Đây là một trong số những web container phổ biến nhất trong các ứng dụng Web sử dụng jsp, servlet Ban đầu nó được phát triển bởi Sun Microsystems, sau được chuyển giao cho Apache Sofware Foundation (một nhóm chuyên phát triển các dự án mở). Trong ngôi nhà mới này, nó là một thành phần trong Jakarta Project (một dự án gồm rất nhiều dự án con) Phiên bản hiện tại của Tomcat là 6.0.16 được sử dụng cho servlet/jsp 2.5/2.1

Bản thân Tomcat là một web server và trong ứng dụng demo này ta sẽ sử dụng nó với vai trò đó Trong thực tế với ứng dụng lớn thì nó thường là thành phần con của webserver (Thường là Apache) chỉ chuyên xử lý các request liên quan tới servlet, jsp.

6.1.4 Hệ quản trị cơ sở sữ liệu SQL Server 2000

SQL Server 2000 là một hệ thống quản lý cơ sở dữ liệu (Relational Database Management System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Client computer và SQL Server computer Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS.

SQL Server có 7 editions: Enterprise, Standard, personal, developer, desktop engine, Win CE, Trial Phiên bản được sử dụng trong đồ án là Standard.

MỘT SỐ HÌNH ẢNH HỆ THỐNG

Hệ thống được xây dựng theo kiến trúc MVC sử dụng Struts framework Việc tổ chức code được chia thành 3 thành phần Model-View-Controller đúng như mô hình kiến trúc đã đã thiết kế trong chương 5 và lý thuyết trình bày trong chương 3 Sau đây là một số hình ảnh của hệ thống.

6.2.1 Trang chủ của quản trị hệ thống

Khi người dùng truy cập vào hệ thống thì đây là trang dầu tiên được hiển thị và giao tiếp với người dùng Sau khi người đăng nhập thành công vào hệ thống, tùy vào quyền hạn của người dùng đó mà trang chủ sẽ có thêm các thành phần tương ứng với quyền hạn đó như menu sàn giao dịch ảo hay menu quản trị hệ thống.

Hình 6-33: Trang chủ hệ thống

Hình 6-34: Các chức năng của quản trị hệ thống

Nhà đầu tư có thể thực hiện đăng nhập vào hệ thống bằng cách nhập các thông tin về tài khoản của mình vào khung đăng nhập phía bên phải của mỗi trang web.

Hình 6-35: Màn hình đăng nhập 6.2.3 Trang đăng ký Đối tượng người dùng mà hệ thống hướng đến là tất cả mọi người từ những nhà đầu tư đã và đang giao dịch trên thị trường thật đến những người chưa bao giờ tham gia chứng khoán, vì thế để hạn chế sự phiền hà của mọi người khi đăng ký, hệ thống chỉ yêu cầu các thông tin tối thiểu như: tên tài khoản, mật khẩu và email Tài khoản người dùng sử dụng phải chưa tồn tại, phải có chiều dài lớn hơn 6 kí tự nhỏ hơn 50 kí tự và bắt buộc kí tự đầu tiên phải là chữ cái.

Hình 6-36: Trang đăng ký tài khoản

Trang cho phép nhà đầu tư thưc hiện đặt lệnh mua chứng khoán Nhà đầu tư có thể chọn chứng khoán cần mua từ combo box, thông tin về giá cao nhất và giá thấp nhất của chứng khoán sẽ được đưa ra tương ứng với chứng khoán nhà đầu tư chọn Sau điền đầy đủ thông tin nhà đầu tư thực hiện tính toán và kiểm tra lệnh đặt, nếu lệnh đặt thành công hệ thống sẽ cho phép banh nhập lệnh vào hệ thống.

Hình 6-37: Trang đặt lệnh mua

Khi nhà đầu tư chọn biểu mẫu đặt lệnh bán, hệ thống sẽ đọc các thông tin về chứng khoán mà nhà đầu tư đó sở hữu bao gồm khối lượng sở hữu và giá trần giá sàn của phiên giao dịch hiện tại Các thông tin này sẽ được tự động hiên thị khi nhà đầu tư chọn chứng khoán cần bán.

Hình 6-38: Trang đặt lệnh bán

6.2.6 Trang truy vấn tài khoản

Trang này hiển thị các thông tin tài khoản bao gồm số dư tiền mặt, cổ phiếu quy đổi, tỉ suất sinh lợi và thông tin về các chứng khoán mà nhà đầu tư đó đang sở hữu. Các thông tin này được đọc từ bảng nhà đầu tư trong cơ sở dữ liệu.

Hình 6-39: Trang truy vấn tài khoản 6.2.7 Trang tạo và mở cửa phiên giao dịch mới

Trang này chỉ có người đóng vai trò là quản trị hệ thống mới có thể truy nhập và thực hiên chức năng mà nó cung cấp Phiên mới chỉ được tạo khi phiên hiện tại đang ở trạng thái đóng cửa Nếu phiên hiện tại không ở trạng thái đóng cửa người quản trị phải thực hiện đóng cửa phiên giao dịch và thanh toán bù trừ trước mới có thể thực hiện chức năng này.

Hình 6-40: Trang tạo phiên giao dịch mới

6.2.8 Trang đóng cửa phiên và thực hiện thanh toán

Tương tự với trang tạo mới phiên giao dịch và mở cửa thị trường, trang đóng cửa phiên và thực hiện thanh toán cũng chỉ có người quản trị hệ thống mới có thể truy nhập và tương tác với các chức năng mà nó cung cấp Để thực hiện thanh toán bù trừ trước hết phiên giao dịch phải được đóng.

Hình 6-41: Trang đóng cửa phiên và thanh toán bù trừ

ĐÁNH GIÁ HỆ THỐNG

ĐÁNH GIÁ KẾT QUẢ CHƯƠNG TRÌNH

Về mức độ hoàn thành của đồ án, do quỹ thời gian hạn hẹp và kinh nghiệp lập trình web của bạn thân người thực hiện đồ án chưa có nhiều, nên mục đích khi nhận đề tài này của bản thân em là muốn tìm hiểu được các kiến thức cơ bản về chứng khoán, tìm hiểu được kỹ thuật xây dựng từ đầu một website và có thể xây dựng demo được

“hệ thống giao dịch chứng khoán ảo” với các chức năng cơ bản là đặt lệnh, truy vấn lệnh, truy vấn tài khoản Ở khía cạnh này kết quả đạt được sau khi kết thúc đồ án đã phần nào đạt được và hoàn thành

Về mặt nghiệp vụ, hiện tại hệ thống chỉ hỗ trợ giao dịch khớp lệnh đinh kỳ với 2 lệnh cơ bản LO và ATO

Về mặt kiến trúc hệ thống, trong quá trình triển khai hệ thống, bản thân em cũng đã cố gắng phát triển hệ thống theo đúng kiến trúc đã tìm hiểu Sau khi xây dựng xong hệ thống em đã hiểu rõ hơn về kiến trúc MVC và Struts cũng như ưu điểm của việc sử dụng kiến trúc này kết hợp với Struts.

HƯỚNG PHÁT TRIỂN TIẾP THEO

Để trở thành một hệ thống hoàn chỉnh, hệ thống cần phải được bổ sung thêm nhiều chức năng Hướng phát triển tiếp theo của em là cố gắng bổ sung và hoàn thiện chương trình đã xây dựng để nó trở thành một hệ thống hoàn chỉnh:

- Tối ưu hóa phân tích thiết kế hệ thống

- Có thêm phần khớp lệnh liên tục

- Hoàn thiện chức năng cập nhật kết quả trực tuyến

- Thêm phần quản lý tin tức và phân tích đánh giá các kết quả giao dịch của hệ thống giao dịch chứng khoán ảo.

Ngày đăng: 24/06/2023, 21:15

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w