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