劉晨 王亞暖
摘?要:隨著證券與期貨交易對復合型、創新型高端人才需求的不斷增加,證券與期貨相關課程的教學模式及教學方法也亟待改進與創新。本文以《期貨與證券基本分析》課程為例,闡釋將Python融入證券期貨課程的必要性及可操作性,以期通過證券期貨課程教學創新培養更多高水平、應用型人才。
關鍵詞:期貨與證券基本分析;Python;教學實踐
作者簡介:劉晨,博士,講師,研究方向為期貨與金融衍生品;
王亞暖,碩士研究生,研究方向為期貨與金融衍生品。
一、引言
全國金融市場“量化交易”的時代已經到來,并向著數字化、程序化方向發展,這就對投資分析的質量和效率都提出了更高的要求,使傳統的理論教學、投資分析教學面臨著巨大挑戰。與此同時,隨著信息科技的快速發展以及人工智能、大數據、區塊鏈等技術的運用,證券與期貨的投資分析正在發生重大改變,海量數據和信息的獲取、篩選和處理決定著投資分析的質量和效率,因此越來越多的證券和期貨公司開始借助相關的編程軟件,大批量、高效率、及時地進行相關數據和信息的獲取、篩選及處理。為培養合格的金融從業者,金融相關學科的培養理念、教育模式和課程體系均面臨迭代需求。
北京物資學院開設金融學(期貨與證券方向)專業,是國內知名培養期貨人才的高等學校,旨在為我國的金融行業尤其是期貨行業培養更多高水平、應用型人才。為培養高素質的金融從業者,相關專業特別強調學生理論與實踐相結合的能力,但在課程設置和具體教學實踐中,仍然以理論教學為主,缺乏對學生動手操作和實踐能力的訓練。
Python作為一種高效、靈活和易于學習的編程語言,現階段在證券和期貨量化交易方面已經發揮了重要的作用。Python可以提供許多有用的工具和庫,幫助投資者更好地進行市場分析和決策。在證券與期貨交易方面,Python能夠通過使用各種技術指標、建立自動化交易系統等方式實現量化交易,還可以利用Python讀取歷史數據并進行回測,以測試和優化自己的策略。隨著越來越多的研究員逐步掌握用Python進行數據分析的方法,Python能夠更高效地實現證券與期貨投資分析。因此,在實施證券與期貨投資分析時使用Python這樣強大且靈活性極強的編程語言是一個不可或缺的選擇。
在期貨與證券方向的教學方面,Python?語言有助于進一步釋放師生的活力和創新熱情,全面提升教學質量,使期貨與證券方向學生有機會掌握一門前沿的、與金融行業緊密聯系的、行業內普遍使用的程序設計語言,非常適合作為一門程序設計科目進行教學。此外,Python?靈活、豐富的第三方庫與快捷的數據處理能力都為學生提供了數據思維和數據能力鍛煉的良好基礎。因此,如何對財經類高校的證券期貨相關的理論課程進行改革,將Python融入證券期貨課程教學,滿足新時代金融行業對于金融畢業生的要求,是目前亟待解決的問題。
二、Python融入證券期貨課程的創新思路
(一)證券期貨課程在教學過程中存在的問題
首先,證券與期貨課程偏重于定性分析,定量分析嚴重缺失,從而造成分析沒有數據做支撐,內容空洞、比較主觀、缺乏說服性。定性分析和定量分析之所以重要,是因為定性分析是定量分析的基礎前提,沒有定性分析的定量是一種盲目的、毫無價值的定量;定量分析使定性分析更加科學、準確,定量分析促使定性分析得出廣泛而深入的結論。二者不可分割,應該先利用定性分析方法來確定總體趨勢,然后利用定量分析來確定趨勢的目標及幅度,從而對進出場實際的選擇等問題進行精確的度量。例如,包含證券與期貨基本分析的相關課程更多以講授定性的基本面分析為主,即從宏觀經濟層面、產業層面、公司業務層面展開理論分析,但是缺乏基本面的定量分析,如公司的各類統計數據,包括損益表和資產負債表中的部分項目(資本、盈利和股息、資產和負債等),證券與期貨往期開收盤數據的統計、分析、預測等,更甚少通過實驗教學方式將基本面分析的理論與實踐相結合。其次,高校對證券與期貨投資分析軟件配備不足,在實驗室進行教學的課程較少。目前證券期貨課程更側重于概念理論、基礎知識,更多以課堂授課為主,很少課程能走進實驗室。在使用實驗室進行課程教學方面,盡管在教學改革過程中高校通過“校企合作”授課模式開展實踐教學,但改進方向仍為企業家進課堂的形式,即案例分析和研討會的形式,并沒有引導學生動手實踐,無法激發學生的興趣,導致學生解決實際問題的能力很難得到顯著提升。
(二)Python融入《期貨與證券基本分析》課程思路
按照金融學的分類和我國金融學期貨方向實際的課程設置,《期貨與證券基本分析》是北京物資學院期證實驗班核心的基礎課程。在《期貨與證券基本分析》的教學工作中,如何教導學生從定性和定量兩個方面對期貨產品或某一證券進行全面分析,如何使用高級的統計、數據分析軟件工具進行數據的批量收集和處理,如何把課堂中的分析思路更好地與實際工作接軌,在教學方法上如何結合本學科的實際情況開發新的教學范式,培養學生的綜合素質,提高他們就業的競爭力,成為《期貨與證券基本分析》課程改進中的主要問題。
筆者將在以下的教學案例中重點使用Python的爬蟲程序進行相關數據和信息的搜集、處理和分析。選取Python而非學生熟悉的Excel作為分析軟件,主要基于以下考慮。
Python獲取數據具有時效性和批量性。Python中的爬蟲技術可以在互聯網上自動地獲取和解析數據,如文本、圖像、視頻、音頻等。這種技術可以讓程序自動地訪問網站,并從網站上獲取所需的數據,再通過數據分析、轉換和存儲等操作,將數據輸出為結構化信息供人使用。
在進行證券期貨投資分析時,基本面信息諸如財務的年報信息、宏觀經濟信息及新聞資訊輿情信息等對投資結論均具有深遠影響。通過對宏觀經濟信息新聞的分析,了解宏觀的經濟環境是否適合進行投資;通過對新聞資訊輿情信息的分析,了解國家的政策導向,得出具體投資的行業;通過對財務的年報信息進行分析,了解企業的運營情況,得出具體投資的證券。
但是財務報表具有數量龐大的特點,宏觀經濟信息和新聞資訊輿情信息具有實時更新的特點,這就造成在進行投資分析時需要面對海量信息的現象。在選擇軟件對數據進行處理時,一般會想到辦公軟件Excel,但是其并不具備時刻獲取并解析數據的能力,仍需要人工搜索網頁進行數據和信息的搜集,人工收集信息的數量、效率、及時性都不及Python的爬蟲技術,這將產生更高的成本。Python的爬蟲技術可以自動判斷信息是否需要爬取,并進行解析、轉換,極大地滿足了批量信息獲取、處理并使用的及時性,提高了得出投資結論的準確性和效率。
三、以《期貨與證券基本分析》課程為例的實踐
在《期貨與證券基本分析》課程的教學當中,除了對期貨與證券基本面因素的理論分析外,如宏觀因素,利率、匯率水平,政治因素,突發事件,包括政策改變等對期貨與證券價格的影響機制,對于能否全面準確地獲取和分析基本面信息也是尤為重要的。在實際操作中,利用Python能夠對繁雜的基本面信息實現高效率的抓取與清洗,尤其對于難以預料的突發事件引發的輿情信息,如果能通過Python進行實時抓取和輿情分析,能夠更有效地進行期貨與證券的基本面分析。在教學過程中,如果除了對基本面信息的理論分析講解,還能配合實驗教學,讓學生使用Python來實現基本面信息的實時挖掘,不僅能夠提高學生的學習興趣,也能夠提升學生的動手操作和實踐能力,助力高校學生實現高質量就業。
(一)基于Python的基本面信息挖掘
通過Python可以實現證券期貨基本面信息挖掘,如獲取證券期貨的價格、成交量、持倉量信息,上市公司的財報信息以及證券期貨相關輿情信息等。本文以通過Python語言獲取上市公司的新聞及輿情信息為例,闡釋《證券與期貨基本分析》這門課如何融入Python開展實驗教學,從而提升學生的學習熱情并提高學生的實操能力。具體步驟如下。
(1)本文以Python語言為基礎編寫網絡爬蟲程序,在了解網頁基本結構的基礎上,需要使用Request庫來獲取網頁源代碼,使用Re庫通過findall()函數功能匹配相關文本內容,實現上市公司基本面信息中的新聞、公告及輿情信息的自動提取。
(2)確定數據源,即具體需要從哪些網站或數據庫獲取數據,如財經數據接口——Tushare庫,可以獲取歷史行情數據;百度新聞和新浪財經網頁等可以獲取相關新聞、公告及輿情等信息;使用Selenium庫可以通過模擬鼠標點擊來批量獲取上市公司的財務報表等信息,來綜合進行基本面分析。
本文以提取上市公司的相關新聞、公告及輿情等信息為例,其中新浪財經不僅能夠挖掘有關證券期貨類相關數據,還是一個能夠提供高質量新聞、公告和報告的數據來源。
(3)批量爬取基本面信息。具體的思路如下,獲取網頁源代碼→使用Re庫中的findall()函數通過正則表達式提取證券期貨的相關信息→對獲取的信息進行數據清洗→優化程序實現信息的實時批量爬取→根據需要存入Excel表或數據庫中用于基本面分析。
(二)基于Python的基本面信息挖掘實踐
為舉例闡明如何將Python融入《期貨與證券基本分析》這門課,以爬取上市公司的新聞、公告及輿情信息為例,進行具體的教學實驗過程演示。
(1)確定爬取新浪財經新聞中的具體信息,以搜索股指期貨的最新資訊為例,在2023年7月16日中午12點整的這一時刻對股指期貨最新資訊的網頁http://financesinacomcn/roll/index
dhtml?cid=57011進行信息爬蟲。
(2)通過Requests庫獲取網頁的源代碼,需注意源代碼中是否會出現亂碼,如出現亂碼需要注意網頁的編碼方式是“utf-8”,而Python的編碼方式是ISO-8859-1,因此需要通過重新編碼來解決這一問題。
(3)使用Python語言的Re庫中的findall()函數通過正則表達式獲取股指期貨資訊的標題、標題下正文內容對應的網址、資訊發布的時間等。
(4)提取出的標題、網址、資訊發布的時間等內容可以按照所需要的格式打印出來,如表1所示。為了便于批量提取最新資訊并同步實現“多詞條”“多頁”資訊的信息挖掘,也可以進行批量保存和信息每日更新,但后續需要對重復信息及噪聲信息進行剔除等清洗工作。
表1中展示的僅是新浪財經網關于股指期貨最新資訊一頁的提取,通過對Python數據挖掘程序的修改,可以實現“多詞條”“多頁”信息的提取;若想深入對正文信息進行輿情分析判斷,通過對45條資訊相應網址鏈接進行爬蟲可以實現。
(三)Python基本面信息挖掘教學反饋
將Python融入證券期貨課程中是一個循序漸進的過程,北京物資學院的期證實驗班開設Python課程已經兩年,在引導學生使用Python語言完成大數據挖掘及分析的過程中,發現絕大多數學生都能在機房積極參與課堂實踐。雖然在使用Python實現數據挖掘時會遇到程序錯誤或挖掘不成功的情況,但學生都能夠積極求助老師,最終完成課堂練習。如果在《期貨與證券基本分析》課程中融入Python挖掘基本面信息,例如:①提取公司的經營能力、財務狀況、行業背景等進行股票基本面分析;
②通過爬蟲宏觀經濟信息、產銷量、進出口等數據分析期貨價格走勢等;
③挖掘新聞、公告、輿情等信息作為證券期貨基本面分析的一個方面等,在基本面分析理論學習的基礎上,通過Python語言進行相關基本面信息挖掘,再利用挖掘到的基本面信息展開具體分析,能夠實現理論與實踐相結合,有助于提升學生的實操能力,培養出的應用型人才更符合企業的需求。
四、結語
在信息技術不斷融入金融領域的時代,傳統的理論教學不再符合時代對金融專業學生素質的要求。將Python融入證券期貨課程中的教學方式是對教學模式及教學方法的新探索,未來仍有以下幾個方面需要不斷探索和完善。
(1)不斷改進傳統課堂的授課模式,通過增加學生在機房進行上機操作實踐的機會,改變以往僅在普通教室進行理論教學的形式。
(2)增設實踐教學場地,如根據實際擴大實驗室的規模,對實驗室的硬件設備進行維護,及時更新學生上課使用的軟件。
(3)多創造學生的實踐機會。不限于將Python融入證券期貨課程教學過程中,要與時俱進地引進相關操作軟件,多為學生創造實踐機會,才能培養出更多高水平應用型人才。
參考文獻
[1]班妙璇Python?在企業財務數據分析中的應用[J].現代商貿工業,?2023,?44(12):58-60
[2]陳張杭健,?俞承曄基于Python的“金融大數據分析”課程教學案例設計及其實現[J].安徽電子信息職業技術學院學報,?2023,?22(2):34-39
[3]黃錦敬基于Python的大數據公共課教學改革探索[J].計算機時代,?2022(2):100-102
[4]劉健金融(期貨)國際化人才培養管理體系與制度建設的探索與實踐——以北京物資學院經濟學院“中英國際金融實驗班”為例[J].中國證券期貨,?2018(6):17-22
[5]馬婷,?師佳英Python大數據分析在財務審計教學中的應用[J].會計師,?2021(24):66-68
[6]房媛,?王美航,?趙秀巖,等面向新文科的Python課程項目式學習教學研究[J].軟件導刊,?2013,22(6):80-84
[7]張蘇林Excel在本科金融專業課程中的應用探討——以金融專業核心課程《證券投資學》為例[J].湖北財經高等專科學校學報,?2011,?23(5):77-79
[8]許可期貨人才培養新模式的探索與實踐[J].中國證券期貨,?2018(6):14-16
[9]戰雪麗,單磊,劉荔期貨專業校企合作人才培養模式創新研究[J].中國證券期貨,?2018(6):23-25
[10]張永拓,于靜,顧玲芳,等基于人工智能的Python程序設計教學實踐[J].計算機工程,?2023,?52(5):52-53