HOSE quá tải

Chuyện sàn giao dịch chứng khoán TP.HCM (HOSE) quá tải chắc ai cũng biết rồi. Phần mềm HOSE đang sử dụng do Thái Lan tài trợ từ những ngày đầu lập sàn ở thế kỷ trước, không dễ gì sửa chữa, nâng cấp.

FPT nói rằng họ có thể xử lý sự cố bằng cách xây dựng một hệ thống xài tạm, 3 tháng hoàn thành, trong lúc chờ HOSE chuyển đổi sang phần mềm KRX của Đại Hàn. Tôi thấy đây là một đề xuất táo bạo nhưng cũng đầy rủi ro.

Thứ nhất, giữa lúc dầu sôi lửa bỏng thế này mà các công ty chứng khoán phải thử nghiệm với cả hệ thống tạm của FPT và hệ thống lâu dài KRX. Tập trung vào một hệ thống còn chưa biết có làm được hay không, không biết thời gian và nhân lực đâu làm cả hai?

Thứ hai, có gì đảm bảo giải pháp của FPT sẽ xử lý được lượng tải lớn? FPT có thể có kinh nghiệm làm phần mềm cho sàn Hà Nội (HNX) nhưng HNX có lượng giao dịch rất nhỏ so với HOSE. Theo thống kê phiên giao dịch ngày 12/03/2021, khối lượng khớp lệnh của HNX là cỡ 95 triệu chứng khoán, tổng giá trị vào khoảng 1600 tỉ đồng. Cùng ngày, khối lượng khớp lệnh của HOSE là 5,6 tỉ chứng khoán, tổng giá trị vào khoảng 13000 tỉ đồng.

Cuối cùng, có gì đảm bảo 3 tháng sẽ xong? Tôi không biết FPT làm sao để ra con số 3 tháng này. Mới đầu ông Trương Gia Bình tuyên bố "2 tháng xong luôn", nhưng giờ đã thành 3-4 tháng và cũng có ý kiến phải cần ít nhất 6 tháng.

Dân làm phần mềm thường lạc quan. Cái gì dễ, biết làm ngay, họ sẽ nói 1 tiếng xong, nhưng kỳ thực có thể kéo dài vài ngày. Cái gì chưa biết làm, họ sẽ nói 3 tháng. Đây là "ám hiệu" để  ngầm nói rằng thật sự tôi không biết dự án sẽ kéo dài bao lâu. Kinh nghiệm 10 năm làm phần mềm ở Google của tôi cho thấy kỳ thực không có cách gì lên kế hoạch chính xác một dự án phần mềm phức tạp như thế này. Mọi con số đều là đoán mò. Mọi thiết kế trên giấy đều sẽ đổ bể khi viết dòng code đầu tiên. Mọi dự án phần mềm đều trễ hẹn và một khi đã trễ thì càng thêm người càng làm dự án trễ hơn.

Tôi không rõ Bộ Tài chính và HOSE đã quyết định như thế nào. Tôi thấy chỉ nên chọn hoặc FPT hoặc KRX, không nên làm cả hai cùng lúc. Nếu đã có kế hoạch sử dụng KRX, phương án khả dĩ nhất là tập trung toàn bộ nguồn lực để đưa hệ thống này online. Trong thời gian chờ đợi thì nên tìm cách tối ưu hệ thống hiện có của Thái Lan và sử dụng các biện pháp hành chính để giảm tải cho sàn.

Dẫu chọn giải pháp gì đi chăng nữa, tôi chúc các anh chị em kỹ sư làm việc trong dự án này nhiều sức khỏe và hi vọng họ sẽ thành công. Thú thật tôi cũng muốn làm. Thông qua bạn bè, tôi cũng đã liên hệ với Bộ Tài chính để hỏi coi có hỗ trợ (miễn phí) được gì không. Tôi không có nhiều thời gian, nhưng đây là một dự án khó, rất thú vị, nhiều ý nghĩa, không kỹ sư nào không muốn nhào vào giải quyết.

Tôi nghĩ ít nhất tôi có thể phản biện, đánh giá độc lập giải pháp mới, hoặc tìm cách tối ưu hệ thống hiện tại. Nếu không có mã nguồn ta có thể tính đến phương án dịch ngược để thay đổi phần mềm ở mức binary. Nếu làm được thì đó sẽ là một cú hack ngoạn mục. Nếu vấn đề quá khó tôi không giải quyết được, tôi có thể tìm các chuyên gia khác ở Silicon Valley. Ở đây không thiếu người Việt Nam có kinh nghiệm trực tiếp xây dựng các hệ thống cực lớn, có khả năng xử lý hàng trăm ngàn đến hàng triệu yêu cầu mỗi giây.

Bộ lịch sự cảm ơn, nói họ đã có phương án giải quyết và cũng đã nhận được sự hỗ trợ từ nhiều chuyên gia hàng đầu thế giới rồi. Tôi nghĩ mọi thứ sẽ sớm ổn thôi, bà con an tâm. Nếu mua chứng khoán không được thì ta chuyển sang mua bitcoin vậy ;-).

Comments

HaDzuong said…
Nghe nói sàn HOSE của Thailand tài trợ năm 2006 này chỉ xử lý tối đa 999.999.999 giao dịch, nên việc nâng cấp là tất yếu, gần 15 năm rồi, công nghệ cũng đã khác.

Việc upgrade lên phiên bản mới đã khó nay lại chọn 1 trong 2 thì càng khó hơn. Sao không đơn giản là mua luôn giải pháp và dịch vụ của 1 nước phát triển mà lại đi làm song song nhỉ?
Duong said…
Anh Thái có thể phác thảo 1 reference design cho sàn HOSE ở mức high level dc ko ạ?
Với yêu cầu hệ thống có khả năng scale (mở rộng theo thời gian khi số lượng giao dịch ngày càng tăng theo thời gian) và xử lý tầm 1 triệu transactions per second ở thời điểm hiện tại.
PS: hiện tại sàn HOSE chỉ có khả năng xử lý vài chục transactions per second theo như em đọc báo, :))
Dạ Vũ said…
Không phải hệ thống này người Việt ko làm được đâu anh. Các hệ thống có năng lực xử lý hàng trăm ngàn yêu cầu mỗi giây ở Việt Nam không thiếu người thiết kế, xây dựng được (VD các hệ thống tính cước viễn thông (BCCS)...). Đứng ở góc độ người làm nghề thì mấy việc này chắc chưa cần tới anh em ở Silicon Valley.
Em nghĩ vấn đề nằm ở chỗ sàn HOSE (với quy mô như vậy) không có phương án xử lý việc này từ sớm hơn, ít gây thiệt hại hơn.
x2pi3141 said…
Để làm suất sắc thì khó còn lấy mã nguồn mở rồi phát triển cho nó chạy thì mấy công ty VN làm ok.
Thai Duong said…
Dạ Vũ: ừ tôi cũng nghĩ ở VN nhiều người làm được. Tôi nghĩ mấy anh chị em làm Zalo dư sức làm cái này.

Duong: tôi không có nhiều kinh nghiệm thiết kế hệ thống stock exchange nên nếu muốn làm cũng phải nghiên cứu, chứ không thể muốn là viết ra được. Thiết kế hệ thống distributed, chịu được tải lớn và có tốc độ xử lý nhanh thì tôi có biết chút đỉnh, nhờ học lóm khi review thiết kế của đồng nghiệp.
Dạ Vũ said…
Bao giờ chán ở bển, anh về VN, làm tư vấn tầm nhìn, chiến lược CNTT cho các doanh nghiệp bự bự (kiểu HOSE).
chắc khối đất diễn :)
Duong said…
Hic, anh chỉ cần trả lời giống kiểu anh được tới phỏng vấn ở Google và dc yêu cầu thiết kế hệ thống stock exchange có vài triệu người dùng,....
Rất muốn học hỏi thêm từ anh.
tonyphong said…
"Dân làm phần mềm thường lạc quan. Cái gì dễ, biết làm ngay, họ sẽ nói 1 tiếng xong, nhưng kỳ thực có thể kéo dài vài ngày. Cái gì chưa biết làm, họ sẽ nói 3 tháng. Đây là "ám hiệu" để ngầm nói rằng thật sự tôi không biết dự án sẽ kéo dài bao lâu. Kinh nghiệm 10 năm làm phần mềm ở Google của tôi cho thấy kỳ thực không có cách gì lên kế hoạch chính xác một dự án phần mềm phức tạp như thế này. Mọi con số đều là đoán mò. Mọi thiết kế trên giấy đều sẽ đổ bể khi viết dòng code đầu tiên. Mọi dự án phần mềm đều trễ hẹn và một khi đã trễ thì càng thêm người càng làm dự án trễ hơn."

Câu này hay quá a, nhất là trong trường hợp hệ thống liên quan đến tiền như HOSE lại càng phức tạp hơn rất nhiều. Thay đổi một dòng code thôi cũng rén chứ đừng nói là làm lại một hệ thống như vậy
RANDOM said…
Mua Bitcoin an toàn hơn chứng khoán ở VN.
Lan Vu said…
Thấy các anh nói về vấn đề này, em xin hỏi anh Thái và các anh một chút về lĩnh vực cũng tương tự như lĩnh vực này đó là forex ạ. Câu hỏi đó là: Khi viết phần mềm thì việc làm cho giá biến động là do hệ thống tự điều chỉnh phụ thuộc vào lượng và giá của nhà đầu tư đặt lệnh, hay là do người điều khiển hệ thống nhập vào ạ? cái thứ 2 nữa là có rất nhiều nền tảng để giao dịch đầu tư như MT4, MT5, Ctrader, vậy làm sao giá của tất cả các nền tảng gần như khớp với nhau, chỉ chênh nhau thời gian điều chỉnh tính ở mức giây. Rất mong các anh giải đáp ạ.
tonyphong said…
"Mua Bitcoin an toàn hơn chứng khoán ở VN"
Câu này của bạn cũng có lý, nhưng nếu nhìn ở một khía cạnh khác, thì thị trường chứng khoán ở VN cũng mới thành lập từ 1998, kinh tế thì mới mở cửa từ vài chục năm ngắn ngủi. Nếu so với Anh hay Mỹ thì thị trường họ cũng vài trăm năm, hành lang pháp lí đầy đủ, vv.
Nên mình thích đưa ra những đóng góp để có thể đưa các lĩnh vưc ở VN có thể áp dụng và thực tế để tiến bộ từng ngày hơn là so sánh khập khiễng.

Về vấn đề nghẽn lệnh vv (với hệ thống phức tạp và liên quan đến tiền thì chuyện này ko khó hiểu), thì quan trọng là HOSE có tư tưởng cải tiến, tham khảo những người như anh thái, và từng bước áp dụng công nghệ để cải thiện hệ thống.

Quang Quý said…
Chắc các bác FPT nghĩ rằng hệ thống của các bác design cái là implement được ngay, và implement (coding) cái là chạy được ngay và chẳng cần thời gian test hay verify gì thì mới ra con số 2 tháng, 3 tháng như vậy anh nhỉ, :)
Thai Duong said…
Quang Quý: tôi nghĩ họ nói 3 tháng để ký được hợp đồng, rồi tính tiếp ;-). Nếu điều khoản hợp đồng không có ràng buộc thời gian thì nói sao cũng được mà, chỉ khổ engineers thôi. Tôi thấy đây là bài test rất tốt cho năng lực làm phần mềm của FPT, nếu là lãnh đạo FPT tôi cũng sẽ tìm mọi cách ký được hợp đồng này, rồi tính tiếp :))
Unknown said…
Tư duy con buôn FPT thì "kỹ được hợp đồng rồi tính tiếp" như dự đoán của Mr Thái Dê En là rất hợp lý. Các phần mềm FPT gia công ra sao không rõ, còn các phần mềm để bán trong nước á, thật là trò đùa. Vd: mấy ông bác sĩ ở bệnh viện nào chọn dùng phần mềm của FPT chỉ muốn... rời bệnh viện.
Khai Tran said…
Anh tưởng hệ thống cần vài trăm nghìn hoặc cả triệu giao dịch một giây mới khó, chứ một ngày thì đơn giản (lưu ý là giao dịch thì cần ACID transactions, phức tạp hơn các web request bình thường của FB, Zalo... nhiều) :D.

Có mấy cái New SQL database có thể thực hiện trăm ngàn đến triệu ACID transactions/ second. Scale app servers thì đơn giản.
Thai Duong said…
Khai Tran: yup, em cũng nghĩ là không khó để handle hệ thống này, cái khó là nghiệp vụ và kết nối với các bên liên quan. Em thử tìm thông tin xem hệ thống cần handle bao nhiêu request per second nhưng không thấy. Em đoán là chỉ tầm 10K QPS.
Khai Tran said…
Yeath, nhiều khi không phải là vấn đề kỹ thuật (you know that :) ).

10K QPS thì có thể, chắc chủ yếu là read query để update share prices, còn TPS cho giao dịch thì chắc thấp hơn nhiều.
Pritine said…
Em thay anh Thai nhieu lan nhac den Blog cua anh Ngo Quang Hung. Hinh nhu Blog do da bi xoa roi dung khong a? Em tim mai van khong thay.
Anonymous said…
Ba tháng xong upgrade lên KRX mới tài, mỗi lần thay đổi hệ thống là thay đổi giao thức, đâu phải bê nguyên khuôn là xong đâu, mỗi sàn nó sẽ có những cái riêng của nó, ba tháng sợ còn chưa triển khai đc phần cứng nữa, UAT chưa xong, chứ ở đó mà hoàn thành, mà cho người việt mình là thiên tài đi (nhật cái dự án lên jgate3 của nó hình như mấy năm) ờ viêt nam thiên tài, sàn upgrade 3 tháng, thế còn đám đối tác thì sao? Ko cho người ta chỉnh sửa test hệ thống kết nối với sàn mới ra sao?

Nói túm lại kẹt sàn thì thì có nhiều lý do nhưng để kẹt nhiều lần và tổn thất của đối tác và khối retail ai mất ai đc? Lý do kẹt là gì? Lối công suất thì throttle, sàn nào ko throttle thằng nào vượt mưc pps thì storm control khoá mõm nó, còn lỗi hệ thống thì ai trigger cái gì trigger, chứ kiểu kẹt sàn đòi upgrade lên KRX với timeline là ba tháng thì nói lên trình độ và mức độ chuyên nghiệp của lãnh đạo sàn


Phutrongnguyen44 said…
@lanvu: giá của tất cả mọi thứ trên sàn đều do nhiều yếu tố, những yếu tố bạn nói là chính xác khối lượng và giá giao dịch, nhưng ngoài hai cái đó nó còn nhiều yếu tố khác tuỳ theo cái món đó là gì? Nhưng đây là giá của cái base người ta sẽ chuyển đổi nó lên derivative để đẩy nó lên options nhằm manage cái risk khi mà cái base nó move, người ta sẽ trade options vì nó có nhiều cách để manage risk, bạn nên tìm hiểu về options pricing, mỗi tổ chức cá nhân người ta sẽ có kinh nghiệm và kỹ năng để chuyên môn pricing cái gì đó ví dụ như là forex hay commodity hay là stock của nhóm công nghiệp nào đó, bạn hỏi là còn gì nữa thì ví dụ nhé forex, công ty bạn biết sẽ cần 1 tỷ bí đần ở 6 tháng tới vì sẽ nhập hàng, thì ở hiện tại cách tốt nhất để quản lý rủi ro thì bạn sẽ mua future để lock in giá, khi bạn là người có nhu cầu thật sự chứ ko phải lướt sóng thì bạn là lý do đô la mỹ sẽ tăng ngay hiên tại cho đến 6 tháng tới … còn bạn là người lướt sóng bạn cần phải làm sao thấy đc là à thằng kia nó sẽ cần mua và giá sẽ lên, và nếu bạn chơi options bạn đang short đô la mỹ thì trước khi bạn short bạn phải có strategy để quản lú rủi ro nếu giá đô la tăng thì sao? Cho nên mỗi người chơi họ sẽ có mục đích khác nhau và ai quyết định giá như thế nào là một mớ hỗn độn nhiều lớp, nhưng quan trọng nhất là người có nhu cầu và tài chính lớn họ sẽ tạo ảnh hưởng sức ép lên giá.
Phutrongnguyen44 said…
@lanvu Bạn hỏi là máy hay người nhập giá, giá trên sàn thường là do máy (algo) nó tạo ra theo params của người điều khiển các params nầy là các công thức toán học để tạo nên giá, ví dụ nó muốn trade an toàn thì nó mở biên độ rộng lên hay là nó tin là hệ thống của nó là nhanh nhất thì nó siết biên độ lại, algo nó chỉ thua những người có tin tức nội bộ thôi tức nếu bạn biết giá của tesla sẽ sập sàn vì elon musk sẽ tweet troll và ổng nói với bạn thì dĩ nhiên bạn là người set giá đầu tiên đúng ko, nhưng insider trading là tội hình sự, và đa số sẽ ko thể tiếp cận đc, cái nấy sẽ trả lời câu hỏi kế tiếp theo
Trong44 said…
@lanvu Bạn bảo là giá của tất cả các sàn hay broker thì nó khớp nhau đến từng giây tại sao nó lại như thế? Đây gọi là “thị trường hiệu quả” tức nghĩa là nếu có ai mua bán sai giá thì tự nhiên sẽ có người khác hốt nên bất cứ giá sai sót ở bất kì sàn nào sẽ có người hốt và đưa nó về cho đúng ví trí, nên bạn bảo là nó khớp đến từng giây, nhưng môt giây đối với bạn là lâu chứ với máy thì nó như một thế kỉ vậy đó, trong một giây đó nó có thể đếm từ 1 đến một tỷ, nên có nhiều lệnh bạn chỉ cần trễ 100/1tỷ của 1 giây là bạn bị người khác hốt rồi. Đó là nói về 1 giây còn phần sau là tại sao các sàn nó lại khớp giá, đó là vì hệ thống fibre dưới biển, tốc độ nhanh nhất là ánh sáng và thông tin trên trái đất nầy cũng đc truyền đi với tốc độ gân như là ánh sáng, ví dụ sàn ở london nó bảo là giá vàng là 1 đô vì người ta chế đc vàng thì cái tin đó sẽ đc chuyển qua krx trong vòng vài chục vài trăm millis hay gì đó (1 milli là 1/1000 trên giây) và giá vàng ở sàn krx sẽ về 1 đô gần như ngay lập tức và các sàn khác nó cũng như thế, với mắt của con người thì ngay lập tức nhưng với máy là quá chậm 1 giây có thể làm đc cả đống việc (ánh sáng muốn chạy một vòng trái đất thì chắc nhanh hơn 1 giây bạn tính thử coi chứ tôi thì làm biếng quá) bọn đối tác của sàn nó có kết nối thông tin và đg truyền nhanh nhất có thể để bảo đảm tin túc quan trọng đc chuyền đi và cập nhật giá nhanh nhất nếu nó sẽ bị thằng khác hốt
Tổngbisthowboonsboons said…
@lanvu Nếu bạn đọc đc đến đây là kết luận là giá là một chương trình vi tính (algo) bản thân nó là một công thức toán học với nhiều biến, có nhiều biến là tự động máy nó sẽ lọc thông tin từ nhiều nguồn ví dụ như kênh thông tin public của sàn, hay là tin tức từ sàn khác, cái bộ filter nầy phải làm sao lọc đc tin nào là đúng và tin nào là sai và cái nầy cần những bộ óc tiến sĩ của nghành toán học nghành big data nghành ai machine learning, tin tức đc truyền đi bằng những đg truyền đc tối ưu như cáp quang, trạm radio, và tin tức sẽ đc viết bởi các bạn kỹ sư phần mềm, fpga. Và cuối cùng algo sẽ đc điều khiển bởi những trader mà họ là dạng có thể đã học xong đại học ở tuổi 18 hay là họ có khiếu đánh hơi bằng toán học để điều chỉnh biên đôn, và trên tất cả họ là thiên tài về xác xuất thống kê toán học probability để có thể pricing tất cả các outcomes của một event nhằm ko bị một bất kì diễn biến nào của thị trường mà sinh ra lỗ hỗng trong position mà họ đang nắm, quan trọngh hơn nữa là họ rất giỏi về “lý thuyết trò chơi” có thể mèo vờn chuột với các đối thủ trên sàn khác mà họ ko thấy mặt chỉ có thể đoán qua các lệnh đã khớp hay huỷ, đó chính là cá mập
Anonymous said…
@lanvu: để trả lời câu hỏi của bạn, nếu chưa biết thì bạn có thể tìm hiểu về DD(Dealing Desk) hay NDD (No Dealing Desk) platforms qua STP (Straight-Through Processing). Vụ FTXM phá sản cách đây mấy năm liên quan tới mấy thứ này!