董建華



摘要:隨著中國證券業的快速發展,無論是上市公司規模、日交易量或交易渠道都比以前要復雜得多。如何才能快速、準確地匯總和提煉出有價值的信息對于證券交易決策顯得尤為重要。滬港通資金流向可視化系統通過抓取滬港通賬戶交易滬深市場股票的大量數據來分析外資投資的熱點股票與熱點行業,為投資者研究和學習成熟市場投資者的交易行為提供便利。
關鍵詞:Django;大數據;滬港通;Python;軟件工程
中圖分類號:TP311? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)27-0078-03
Abstract: With the rapid development of China's securities industry, the scale of listed companies, daily trading volume or trading channels are much more complicated than before. How to quickly and accurately summarize and extract valuable information is particularly important for securities trading decision-making. The visualization system of capital flow of Shanghai-Hong Kong Stock Connect analyzes hot stocks and hot industries for foreign investment by capturing a large amount of data on the Shanghai-Hong Kong Stock Connect account trading stocks in the Shanghai and Shenzhen markets, and provides convenience for investors to study and learn the trading behavior of investors in a mature market.
Key words: Django; Big Data; Shanghai-Hong Kong Stock Connect; Python; Software Engineering
1 背景
5月28日,2021年中國國際大數據產業博覽會在貴陽落幕,該博覽會于2015年創辦,2017年正式升級為國家級博覽會,幾年時間已經成為大數據發展的風向標和國際性、專業性平臺。從日常生活來看,網絡購物、智慧交通、疫情防控等背后都離不開大數據的支撐,大數據已經融入我們生活的方方面面。2019在杭州舉行的云棲大會上,阿里巴巴董事局主席兼CEO張勇在演講時曾說“數字經濟時代大數據是我們的石油”。
據中國證券登記結算有限責任公司官網的結算數據顯示,截至2021年4月證券市場自然人投資者數量已經超過1.85億,可想而知這個龐大的市場背后每天會產生多少數據。這么龐大的數據,人工分析肯定是不可能的。現如今大數據的快速發展,為我們提供了可行的技術手段。在這個技術大爆炸的時代,唯有以變應變,大數據對證券行業變得越來越重要[1]。
本系統正是在此背景下開發,利用Django框架實現了滬港通交易數據的爬取、分析與可視化。通過分析滬深證券市場滬港通資金的流入流出情況,分析這些成熟市場投資者的交易行為,找出其投資的熱點公司以及熱點行業,方便投資人學習與研究。隨著外資資金的持續流入,外資對中國市場的影響力也在不斷攀升,及時了解其投資動向就變得越來越重要。
2 需求分析
如圖1系統用例圖模型[2]所示,該系統主要分數據爬取、參數修改、數據分析與可視化三部分:
1) 數據爬取:爬取滬港通資金在滬深股市的交易數據,用于分析滬港通資金交易行為。
2)參數修改:
修改比重區間:比如限制只對滬港通資金持股達到2%以上且5%以內的公司進行分析。
修改分析周期:比如以日為單位還是5日為單位進行分析。
修改公司最大數目:即取排名靠前的多少家公司可視化。
修改行業最大數目:即取排名靠前的多少個行業可視化。
3) 數據分析與可視化:根據用戶參數設置,基于滬港通資金對公司股份的增持加速度對公司進行熱度排名;基于滬港通資金持有的各行業的總市值增加幅度對行業進行熱度排名;基于上述兩項的綜合分析對雙熱點公司即排名靠前且所屬行業排名也靠前的公司予以特別標記。
3 系統設計
本部分從工具與環境、系統體系結構、系統模塊結構、數據庫設計四個方面分別描述。
3.1 工具與環境
JetBrains PyCharm 2018.2.3 x64:支持Python編程的集成開發工具。
Django-3.2.3:支持Web應用開發的分層框架;通過ORM(對象關系映射)技術可以直接使用類對象操作數據庫,不需要使用SQL編程。
mysql-8.0.25-winx64:數據庫管理系統,負責磁盤數據的管理。
Selenium-3.141.0:測試Web應用程序的自動化工具,模擬人工瀏覽器訪問,能夠爬取靜態頁面和動態頁面的數據;能方便地模擬點擊下一頁動作,抓取多頁內容。
apscheduler-3.7.0:全稱Advanced Python Scheduler,用于定時任務調度。