ChatGPT應(yīng)用分析ChatGPT在擇時(shí)、風(fēng)格、行業(yè)、選股中的應(yīng)用實(shí)踐_第1頁
ChatGPT應(yīng)用分析ChatGPT在擇時(shí)、風(fēng)格、行業(yè)、選股中的應(yīng)用實(shí)踐_第2頁
ChatGPT應(yīng)用分析ChatGPT在擇時(shí)、風(fēng)格、行業(yè)、選股中的應(yīng)用實(shí)踐_第3頁
ChatGPT應(yīng)用分析ChatGPT在擇時(shí)、風(fēng)格、行業(yè)、選股中的應(yīng)用實(shí)踐_第4頁
ChatGPT應(yīng)用分析ChatGPT在擇時(shí)、風(fēng)格、行業(yè)、選股中的應(yīng)用實(shí)踐_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

ChatGPT應(yīng)用分析ChatGPT在擇時(shí)、風(fēng)格、行業(yè)、選股中的應(yīng)用實(shí)踐(報(bào)告出品方/作者:方正證券,曹春曉)1引言2022年12月,OpenAI推出人工智能聊天機(jī)器人程序ChatGPT,迅速引起廣泛的討論和應(yīng)用,僅耗時(shí)2個(gè)月月活用戶即突破了1億,成為用戶增長速度最快的消費(fèi)級應(yīng)用程序。ChatGPT基于深度學(xué)習(xí)和神經(jīng)網(wǎng)絡(luò)技術(shù),可以高效的進(jìn)行自然語言生成、文本分類、問答等多種任務(wù),有助于進(jìn)一步實(shí)現(xiàn)自動化與提升效率,給予客戶更好的交互體驗(yàn),未來其對金融領(lǐng)域可能產(chǎn)生較大的影響。在報(bào)告《ChatGPT在投資研究工作中的應(yīng)用初探——ChatGPT應(yīng)用探討系列之一》中,我們較為詳細(xì)的探討了ChatGPT在金融投研領(lǐng)域中的可能應(yīng)用,從日常工作到數(shù)據(jù)分析,再到API接口和其他應(yīng)用領(lǐng)域。本文中我們將進(jìn)一步聚焦于ChatGPT在數(shù)量化研究領(lǐng)域的應(yīng)用,分別從擇時(shí)、風(fēng)格輪動、行業(yè)輪動、選股因子挖掘等方面進(jìn)行實(shí)踐,進(jìn)一步闡述ChatGPT在投研工作中的應(yīng)用前景。2基于ChatGPT構(gòu)建擇時(shí)策略2.1均線擇時(shí)策略及其優(yōu)劣勢在股票市場投資中,擇時(shí)是最復(fù)雜且挑戰(zhàn)最大的任務(wù)之一,由于市場影響因素眾多,很難從某一個(gè)維度構(gòu)建非常有效的擇時(shí)模型。在實(shí)際應(yīng)用中,技術(shù)分析領(lǐng)域中的均線策略是一種非常經(jīng)典且常用的擇時(shí)策略,至今仍然大量應(yīng)用在CTA策略中。均線策略的基本思想是通過計(jì)算股票價(jià)格在一定時(shí)間內(nèi)的均值,來判斷股票價(jià)格走勢和買賣信號。具體來說,均線策略包括以下幾個(gè)步驟:1)選擇合適的均線周期。一般情況下,常用的均線周期為5日、10日、20日、40日、60日、120日和240日等。2)根據(jù)選定的均線周期計(jì)算出相應(yīng)的均線。計(jì)算均線的方法有簡單移動平均線(SMA)和指數(shù)移動平均線(EMA)等,其中EMA更加靈敏。3)判斷股票價(jià)格與均線的關(guān)系。當(dāng)股票價(jià)格上穿均線時(shí),稱為“金叉”,表示股票價(jià)格開始向上突破均線,為買入信號;當(dāng)股票價(jià)格下穿均線時(shí),稱為“死叉”,表示股票價(jià)格開始向下跌破均線,為賣出信號。4)根據(jù)買賣信號執(zhí)行買賣操作。其中,均線周期的選擇對策略的影響較為顯著,均線周期較短,有利于抓取短期的波段行情,但頻繁切換可能導(dǎo)致交易成本陡增。均線周期較長,更有利于抓取長期趨勢,但其滯后性較為明顯,在震蕩行情中可能失效。實(shí)際應(yīng)用中,長短期均線有不同的優(yōu)點(diǎn)和劣勢,我們可以通過使用多均線系統(tǒng)的方式將其結(jié)合,嘗試搭建既能跟蹤市場主要趨勢,又能在拐點(diǎn)附近盡可能及時(shí)響應(yīng)的均線系統(tǒng)。2.2基于ChatGPT構(gòu)建均線排列擇時(shí)模型當(dāng)我們使用1根均線進(jìn)行擇時(shí)時(shí),可以得到的是做多或者做空兩種信號,但是當(dāng)我們使用多根均線時(shí),模型結(jié)果不再是多空兩種信號,而是一個(gè)相對連貫的打分體系。例如我們設(shè)定當(dāng)短期均線上穿長期均線時(shí),+1分,短期均線下穿長期均線時(shí),-1分,最終將多組均線的結(jié)果匯總,即可得到一個(gè)綜合長短期均線特點(diǎn)的打分模型。我們嘗試通過ChatGPT來實(shí)現(xiàn)這個(gè)部分:我們的需求:請寫一個(gè)Python函數(shù),輸入是指數(shù)日頻收盤價(jià),格式為DataFrame,輸出為指數(shù)的均線排列得分。在每個(gè)交易日,選擇N根均線,從短到長排列,判斷相鄰兩根均線的位置,如果短期均線在長期均線上方,則得1分,反之得-1分,將N-1個(gè)得分相加,即得到均線排列得分。ChatGPT的回答:可以看到,ChatGPT不僅準(zhǔn)確給出了計(jì)算均線排列得分的函數(shù),而且給出了詳細(xì)的解釋和使用示例。得到上述核心部分代碼之后,我們就可以來編寫策略了,在報(bào)告《ChatGPT在投資研究工作中的應(yīng)用初探——ChatGPT應(yīng)用探討系列之一》中我們曾介紹過,與ChatGPT交互時(shí),盡可能具體的表述對一次獲得正確的結(jié)果至關(guān)重要,此處我們將整個(gè)策略分步驟明晰列示。我們的需求:請實(shí)現(xiàn)一個(gè)均線排列擇時(shí)的策略,按照如下步驟:1、定義多條均線的時(shí)間窗口ma_list,為1到252的自然數(shù)序列;2、讀取滬深300指數(shù)日度收盤價(jià)數(shù)據(jù),并調(diào)用上述ma_score函數(shù)計(jì)算每日的均線排列得分;3、對上述均線排列得分再做一次移動平滑,窗口為60個(gè)交易日;4、當(dāng)均線排列得分大于60日均線時(shí),做多滬深300指數(shù),小于60日均線做空,計(jì)算策略歷史表現(xiàn)并將策略凈值曲線與滬深300指數(shù)繪制于圖中。ChatGPT的回答:至此,一個(gè)簡易的多均線排列擇時(shí)策略已經(jīng)構(gòu)建完成。我們也可以進(jìn)一步在此基礎(chǔ)之上測試不同參數(shù)下的策略表現(xiàn),從而得到最優(yōu)策略參數(shù),或進(jìn)一步構(gòu)建更為復(fù)雜的擇時(shí)模型。3基于ChatGPT構(gòu)建風(fēng)格輪動觀測模型3.1近年來A股市場風(fēng)格切換較為劇烈風(fēng)格輪動是獲取超額收益的重要來源之一,不論是美股市場還是A股市場,都存在著非常典型的風(fēng)格輪動現(xiàn)象,如能夠有效捕捉到風(fēng)格切換的時(shí)點(diǎn),則可以獲取較為可觀的相對收益。就A股市場而言,近幾年風(fēng)格切換相對較為劇烈,2019-2020年期間大盤成長風(fēng)格明顯走強(qiáng),以貴州茅臺和寧德時(shí)代為代表的核心資產(chǎn)股價(jià)上漲明顯,一批大盤成長風(fēng)格的基金產(chǎn)品業(yè)績表現(xiàn)尤為亮眼。然而自2021年以來,大盤成長風(fēng)格大幅走弱,與此同時(shí)小盤價(jià)值風(fēng)格表現(xiàn)相對亮眼,部分小盤價(jià)值風(fēng)格的基金再次成為市場關(guān)注的焦點(diǎn)。我們以幾種相對較為寬泛的風(fēng)格為例,來觀察A股市場的風(fēng)格輪動現(xiàn)象,其中大盤/小盤風(fēng)格分別以滬深300指數(shù)和中證1000指數(shù)為代表,價(jià)值/成長風(fēng)格分別以國證價(jià)值指數(shù)和國證成長指數(shù)為代表,高估值/低估值則以申萬高市盈率指數(shù)和低市盈率指數(shù)為代表,績優(yōu)股和虧損股分別以申萬績優(yōu)股指數(shù)和虧損股指數(shù)為代表??梢钥吹?,近幾年切換最為明顯的風(fēng)格是績優(yōu)股和虧損股,績優(yōu)股在2019-2020年迅速走強(qiáng),估值快速提升,與虧損股的相對收益則出現(xiàn)了快速拉升,隨著2021年初白馬股抱團(tuán)的松動,績優(yōu)股/虧損股相對表現(xiàn)大幅逆轉(zhuǎn),至今虧損股指數(shù)仍然顯著跑贏績優(yōu)股指數(shù)。此外,價(jià)值與成長風(fēng)格的切換也相對較為明顯,而大盤/小盤,高估/低估等風(fēng)格,相對而言近期并未出現(xiàn)明顯的風(fēng)格對立情形。關(guān)于如何構(gòu)建風(fēng)格輪動策略,是投資者非常關(guān)注的一個(gè)問題,接下來我們通過與ChatGPT交互風(fēng)格輪動相關(guān)的話題,嘗試構(gòu)建一個(gè)簡單的觀測風(fēng)格輪動的模型。顯然,由于問題表述不夠具體,ChatGPT只能給我們一些相對寬泛的回答,但其關(guān)于大小盤風(fēng)格輪動、周期非周期風(fēng)格輪動的表述,仍然可以給予我們一些啟發(fā)。由于根據(jù)宏觀環(huán)境進(jìn)行風(fēng)格輪動研判屬于長周期的投資策略,此處我們嘗試通過量價(jià)交易數(shù)據(jù)來構(gòu)建一個(gè)短周期內(nèi)可觀測的風(fēng)格輪動模型。顯然,當(dāng)我們嘗試讓ChatGPT給我們設(shè)計(jì)實(shí)際可用的策略時(shí),其回復(fù)的內(nèi)容相對來講質(zhì)量較低,基本上無法形成有效策略,且多次嘗試后依然如此。因此我們直接給出一個(gè)策略,讓其幫我們實(shí)現(xiàn)。3.2基于ChatGPT實(shí)現(xiàn)四象限風(fēng)格輪動模型通常我們可以用兩個(gè)風(fēng)格指數(shù)的相對強(qiáng)弱曲線來觀察風(fēng)格輪動狀態(tài),以大盤/小盤為例,我們假設(shè)理想情況下大盤/小盤相對強(qiáng)弱曲線符合正弦波曲線形態(tài),隨著大盤指數(shù)逐漸走強(qiáng),其相對于小盤風(fēng)格的相對強(qiáng)弱曲線開始加速上升,一段時(shí)間后隨著市場預(yù)期逐步體現(xiàn),相對強(qiáng)弱曲線則開始減速上升,直至達(dá)到臨界點(diǎn),開始下跌,市場由此轉(zhuǎn)向小盤風(fēng)格。我們通過最小二乘回歸來近似擬合相對強(qiáng)弱曲線的一階導(dǎo)數(shù)與二階導(dǎo)數(shù),并將其繪制于二維圖中,即可得到一個(gè)實(shí)際可用的風(fēng)格輪動觀測模型。在四象限中,一象限內(nèi)大盤/小盤相對強(qiáng)弱指數(shù)加速上升,大盤風(fēng)格持續(xù)占優(yōu),三象限中相對強(qiáng)弱指數(shù)加速下行,小盤風(fēng)格明顯占優(yōu)。整個(gè)策略的構(gòu)建過程相對簡單,我們將全部步驟告訴ChatGPT,讓其來構(gòu)建這個(gè)風(fēng)格觀測模型??梢钥吹剑诮o定具體的計(jì)算步驟之后,ChatGPT能夠快速的完成代碼構(gòu)建,且整段代碼中除了開頭和結(jié)尾部分有小錯(cuò)誤之外,主體計(jì)算部分沒有任何問題,我們將此代碼復(fù)制到Python環(huán)境下,簡單修改后運(yùn)行即可得到相應(yīng)的結(jié)果。至此我們已通過ChatGPT得到了一個(gè)風(fēng)格輪動觀測模型,如上文介紹,該模型顯示了近期價(jià)值風(fēng)格與成長風(fēng)格的相對強(qiáng)弱趨勢變化圖,整個(gè)軌跡在四象限圖中沿著逆時(shí)針方向旋轉(zhuǎn),截至4月底,軌跡運(yùn)行至一象限價(jià)值風(fēng)格占優(yōu)區(qū)域,表明目前價(jià)值風(fēng)格相對于成長風(fēng)格占優(yōu)。該模型是一個(gè)通用模型,我們將其簡單修改調(diào)整即可用來觀測任意兩組不同風(fēng)格指數(shù)的強(qiáng)弱關(guān)系。從截至4月底最新輪動狀態(tài)來看,在大盤/小盤風(fēng)格維度,大盤風(fēng)格已開始走出相對優(yōu)勢,與此同時(shí),高估值風(fēng)格相對于低估值風(fēng)格的輪動軌跡已進(jìn)入三象限,表明低估值板塊開始走強(qiáng)。從績優(yōu)股與虧損股風(fēng)格的相對輪動狀態(tài)來看,截至4月底績優(yōu)股開始逐步走強(qiáng),軌跡剛剛進(jìn)入一象限區(qū)域,同時(shí)今年以來表現(xiàn)最強(qiáng)勢的TMT板塊,相對于全市場的相對強(qiáng)弱已開始走弱,目前正處于二象限區(qū)域,后續(xù)需關(guān)注其是否會繼續(xù)走弱切換進(jìn)入三象限,從模型邏輯角度考慮,我們建議短期保持謹(jǐn)慎。4基于ChatGPT構(gòu)建行業(yè)輪動策略4.1行業(yè)配置是獲取超額收益的重要來源從A股市場歷年表現(xiàn)來看,行業(yè)分化現(xiàn)象均較為明顯,除市場普跌的2011年、2016年、2018年外,其余各年份行業(yè)漲跌分化均較為明顯。今年以來截至4月30日,申萬一級行業(yè)中傳媒行業(yè)累計(jì)上漲51.78%,表現(xiàn)最為出色,同期商貿(mào)零售行業(yè)下跌10.87%,最好最差行業(yè)表現(xiàn)相差62.65%,分化較為明顯。行業(yè)配置是獲取超額收益的重要來源,如何把握行業(yè)輪動特征,如何構(gòu)建有效的行業(yè)輪動策略,是投資者重點(diǎn)關(guān)注的問題。影響行業(yè)漲跌分化的原因有很多,此處我們從行業(yè)基本面景氣變動角度出發(fā),嘗試通過ChatGPT來構(gòu)建一個(gè)實(shí)際可行的行業(yè)輪動策略。4.2基于ChatGPT構(gòu)建的基本面景氣行業(yè)輪動策略通過上市公司財(cái)務(wù)數(shù)據(jù)可以判斷出企業(yè)的盈利情況,行業(yè)或板塊也類似。對于不同行業(yè)而言,由于成分股的差異較大,直接對比行業(yè)的財(cái)務(wù)指標(biāo)會存在較大的偏差,因此,我們在對行業(yè)進(jìn)行基本面指標(biāo)比較時(shí)通常采用同比或環(huán)比數(shù)據(jù)。此外,關(guān)于行業(yè)基本面指標(biāo)的計(jì)算存在不同方法,本文中我們使用整體法計(jì)算行業(yè)財(cái)務(wù)指標(biāo)。接下來,我們將分步驟完成行業(yè)輪動策略的構(gòu)建,首先我們需要計(jì)算各行業(yè)的基礎(chǔ)財(cái)務(wù)指標(biāo)。我們的需求:請寫一個(gè)Python函數(shù),用來實(shí)現(xiàn)通過整體法計(jì)算行業(yè)的財(cái)務(wù)指標(biāo),輸入為DataFrame,包含字段股票代碼stockcode,財(cái)報(bào)日期reportdate,申萬行業(yè)分類sws1,TTM歸母凈利潤netpp_ttm,TTM營業(yè)收入rev_ttm,單季度歸母凈利潤netpp_q,單季度營業(yè)收入rev_q,凈資產(chǎn)equitp。計(jì)算各行業(yè)的TTM歸母凈利潤環(huán)比增速、TTM營業(yè)收入環(huán)比增速、單季度歸母凈利潤同比增速、單季度營業(yè)收入同比增速、ROE_TTM環(huán)比變動值,單季度ROE同比變動值。ChatGPT的回答:從上述代碼來看,基本實(shí)現(xiàn)了整體法的計(jì)算邏輯,對于環(huán)比增速和同比增速的理解正確,并且考慮到了分母為負(fù)數(shù)的情形,使用了abs函數(shù)調(diào)整,但其仍然存在一些bug,比如指標(biāo)命名全部為_yoy,按照習(xí)慣我們需要將環(huán)比增速的指標(biāo)后綴修改為_qoq,同時(shí)代碼中遺漏了ROE的環(huán)比變動和同比變動部分,也需要進(jìn)一步補(bǔ)充。接下來,我們需要定義一個(gè)時(shí)間序列標(biāo)準(zhǔn)化函數(shù)zscore,以實(shí)現(xiàn)對行業(yè)財(cái)務(wù)指標(biāo)進(jìn)行時(shí)間序列的標(biāo)準(zhǔn)化處理,之所以進(jìn)行標(biāo)準(zhǔn)化,一方面是因?yàn)椴煌袠I(yè)之間本身景氣趨勢存在差異,我們希望通過這種方式過濾掉行業(yè)本身的趨勢,只關(guān)注其邊際變化,另一方面,在此前的研究中我們也發(fā)現(xiàn),經(jīng)過zscore處理之后的行業(yè)財(cái)務(wù)指標(biāo),業(yè)績表現(xiàn)都較原始指標(biāo)有明顯改善。我們的需求:請寫一個(gè)Python函數(shù),輸入為DataFrame,包含字段sws1,reportdate,roe_ttm_qoq,netpp_ttm_qoq,rev_ttm_qoq,netpp_q_yoy,rev_q_yoy,將roe_ttm_qoq,netpp_ttm_qoq,rev_ttm_qoq,netpp_q_yoy,rev_q_yoy等財(cái)務(wù)指標(biāo)滾動8個(gè)季度進(jìn)行zscore標(biāo)準(zhǔn)化,即最新值減去歷史均值除以標(biāo)準(zhǔn)差。ChatGPT的回答:至此,我們的行業(yè)輪動策略核心部分已經(jīng)構(gòu)建完成,我們進(jìn)一步將上述經(jīng)過標(biāo)準(zhǔn)化之后的財(cái)務(wù)指標(biāo)等權(quán)合成為行業(yè)基本面景氣得分,每個(gè)財(cái)報(bào)期結(jié)束之后,根據(jù)行業(yè)基本面景氣得分選取前6個(gè)一級行業(yè)作為多頭組合,后6個(gè)行業(yè)作為空頭組合,由于年報(bào)和一季報(bào)在同一時(shí)間點(diǎn)披露完畢,因此在實(shí)際組合構(gòu)建時(shí)我們剔除年報(bào)數(shù)據(jù),僅使用一季報(bào)的最新得分進(jìn)行排序和分組??梢钥吹?,該行業(yè)輪動策略雖然每年只調(diào)整三次,但是其歷史表現(xiàn)非常出色,自2012年以來,多頭組合年化收益率為11.28%,空頭組合年化收益率為1.75%,多空年化收益約為9.53%。且該行業(yè)輪動模型在歷史大多數(shù)年份中,多頭組合均較空頭組合有明顯的超額收益,多空相對凈值曲線整體表現(xiàn)相對較為平穩(wěn)。該模型僅利用了歷史財(cái)報(bào)數(shù)據(jù)計(jì)算,更新頻率較低,且每年三季報(bào)披露結(jié)束之后有較長的業(yè)績真空期,我們可以在此基礎(chǔ)之上,添加分析師預(yù)期數(shù)據(jù)、資金流數(shù)據(jù)等不同維度指標(biāo),進(jìn)一步豐富和完善行業(yè)輪動策略,此處不再贅述。5基于ChatGPT挖掘高頻量價(jià)選股因子5.1成交量的“激增時(shí)刻”在股票市場中,成交量的邊際變化隱含著非常重要的信息,特別是在技術(shù)分析領(lǐng)域,成交量被認(rèn)為是股票市場的原動力。俗語“量在價(jià)先”深刻反應(yīng)了成交量的變化對于股票價(jià)格波動的預(yù)測具有指示性作用。我們以利好信息為例,當(dāng)一個(gè)利好信息公布后,可能會引起相應(yīng)個(gè)股成交量的突然放大。如果在成交量激增的同時(shí),價(jià)格卻未發(fā)生變動,或者未能引起價(jià)格的波動,則表明這一利好消息沒能得到市場廣泛的認(rèn)可。相反,如果成交量激增的同時(shí),價(jià)格出現(xiàn)大幅上漲,則表明市場對于此利好信息反應(yīng)過于趨同,有可能出現(xiàn)反應(yīng)過度。報(bào)告《成交量激增時(shí)刻蘊(yùn)含的alpha信息——多因子選股系列研究之一》中我們通過觀察日內(nèi)成交量激增的時(shí)段,考察這些時(shí)段的收益率與波動率,并將市場平均水平作為“適度”程度的衡量標(biāo)準(zhǔn),進(jìn)而構(gòu)建“耀眼波動率”因子和“耀眼收益率”因子,并最終合成為能綜合反應(yīng)投資者反應(yīng)不足和反應(yīng)過度程度的“適度冒險(xiǎn)”因子?!斑m度冒險(xiǎn)”因子的構(gòu)建大致可以分為如下幾個(gè)步驟:1)確定“激增時(shí)刻”:剔除開盤和收盤數(shù)據(jù),僅考慮日內(nèi)分鐘頻數(shù)據(jù),計(jì)算個(gè)股每分鐘的成交量相對于上一分鐘的成交量的差值,作為該分鐘成交量的增加量。計(jì)算每天每只個(gè)股分鐘頻成交量的增加量的均值mean和標(biāo)準(zhǔn)差std。我們定義那些分鐘頻成交量增加量大于“均值+1倍標(biāo)準(zhǔn)差”的時(shí)刻為成交量激增的時(shí)刻,我們將對應(yīng)的時(shí)刻統(tǒng)稱為“激增時(shí)刻”。2)根據(jù)“激增時(shí)刻”后的價(jià)格波動,計(jì)算“月耀眼波動率”因子:定義“激增時(shí)刻”的這一分鐘及其隨后的4分鐘,是因成交量激增而引起投資者關(guān)注的5分鐘。投資者對成交量激增的反應(yīng),在這5分鐘里表現(xiàn)得最充分最強(qiáng)烈,我們將這5分鐘稱為“耀眼5分鐘”。使用分鐘收盤價(jià),計(jì)算每分鐘的收益率,進(jìn)而可以得到每個(gè)“耀眼5分鐘”里收益率的標(biāo)準(zhǔn)差,作為成交量激增引起的價(jià)格波動率,我們將其稱為“耀眼波動率”。計(jì)算A股票在t日內(nèi)所有“耀眼波動率”的均值,作為t日A股票對成交量的激增在波動層面上反應(yīng)的代理變量,記為“日耀眼波動率”。根據(jù)前述分析,我們希望“日耀眼波動率”不要太大,也不要太小,適度最好,為了不引入其他參數(shù),我們選取“日耀眼波動率”的截面均值作為最“適度”的水平。因此我們將每日的“日耀眼波動率”減去截面的均值再取絕對值,表示個(gè)股的“日耀眼波動率”與市場平均水平的距離,并將其記為日頻因子“適度日耀眼波動率”。我們分別計(jì)算最近20個(gè)交易日的“適度日耀眼波動率”的平均值和標(biāo)準(zhǔn)差,記為“月均耀眼波動率”因子和“月穩(wěn)耀眼波動率”因子。將“月均耀眼波動率”與“月穩(wěn)耀眼波動率”等權(quán)合成,得到“月耀眼波動率”因子。3)根據(jù)“激增時(shí)刻”的價(jià)格變動,計(jì)算“月耀眼收益率”因子:找到“激增時(shí)刻”對應(yīng)的分鐘收益率,我們將其稱為“耀眼收益率”。對A股票在t日內(nèi)所有的“耀眼收益率”求均值,作為股票對成交量激增在收益率層面反應(yīng)的代理變量,記為“日耀眼收益率”。根據(jù)上述分析,我們同樣希望“日耀眼收益率”不要太大,也不要太小,適度最好。因此我們將每日的“日耀眼收益率”減去截面的均值再取絕對值,表示個(gè)股的“日耀眼收益率”與市場平均水平的距離,并將其記為“適度日耀眼收益率”。我們分別計(jì)算最近20個(gè)交易日的“適度日耀眼收益率”的平均值和標(biāo)準(zhǔn)差,記為“月均耀眼收益率”和“月穩(wěn)耀眼收益率”因子。將“月均耀眼收益率”與“月穩(wěn)耀眼收益率”因子等權(quán)合成,得到“月耀眼收益率”因子。4)將上述“月耀眼波動率”因子與“月耀眼收益率”因子等權(quán)合成,即得到“適度冒險(xiǎn)”因子。在報(bào)告《成交量激增時(shí)刻蘊(yùn)含的alpha信息——多因子選股系列研究之一》中我們對“適度冒險(xiǎn)”因子在月頻選股效果上的回測結(jié)果顯示:合成之后的“適度冒險(xiǎn)”因子表現(xiàn)非常出色,RankIC為-8.89%,RankICIR為-4.84,多空組合年化收益率達(dá)37.46%,信息比4.10,因子月度勝率87.74%。此外,在剔除了常用的風(fēng)格因子影響后,“適度冒險(xiǎn)”因子仍然具有較強(qiáng)的選股能力,RankIC均值為-3.18%,RankICIR為-1.89,多空組合年化收益率18.07%,信息比率2.23。接下來我們嘗試通過ChatGPT來復(fù)現(xiàn)這個(gè)因子,這是一個(gè)相對較為復(fù)雜的因子,為了達(dá)到目標(biāo),我們需要將因子構(gòu)建過程分解,逐步得到最終的因子構(gòu)建代碼。首先,該因子構(gòu)建中最核心的問題是關(guān)于“激增時(shí)刻”的定義,“激增時(shí)刻”指的是在某一分鐘上成交量的突然放大,其成交量相比于前一分鐘出現(xiàn)明顯放量,這些分鐘就是我們所定義的“激增時(shí)刻”。我們的需求:請寫一個(gè)Python函數(shù),用來實(shí)現(xiàn)尋找個(gè)股日內(nèi)交易的激增時(shí)刻,讀入為DataFrame,表示個(gè)股分鐘頻交易數(shù)據(jù),包含字段code,amount,money,high,low,close,open,num,其中num表示當(dāng)天第幾分鐘,按照如下步驟進(jìn)行:1、剔除開盤1分鐘以及收盤前1分鐘的數(shù)據(jù);2、計(jì)算每只股票每分鐘的收益率ret和每分鐘成交量的增量diff_amount;3、計(jì)算每只股票當(dāng)天diff_amount的均值和標(biāo)準(zhǔn)差,篩選出該股票大于其均值加一倍標(biāo)準(zhǔn)差的時(shí)刻即為該股票當(dāng)天的激增時(shí)刻。需要注意的是,此處省略了數(shù)據(jù)預(yù)處理部分,本文中高頻數(shù)據(jù)來源于米筐API,其將每天最后三分鐘的交易數(shù)據(jù)合并為一根bar,因此此處剔除收盤前1分鐘的數(shù)據(jù)實(shí)際代表的是剔除收盤前3分鐘的數(shù)據(jù)(即集合競價(jià)數(shù)據(jù)),如其他數(shù)據(jù)接口可能需要修改第一步表述部分。ChatGPT的第一個(gè)回答版本,該函數(shù)完全理解了我們的意圖,并按照要求給出了每個(gè)股票每天的“激增時(shí)刻”及其對應(yīng)的數(shù)據(jù),但是在函數(shù)中使用了for循環(huán)來計(jì)算,這在分鐘頻數(shù)據(jù)上的計(jì)算是非常耗時(shí)的,因此我們嘗試讓ChatGPT來優(yōu)化這個(gè)過程,我們直接告訴ChatGPT:for循環(huán)太耗時(shí),換一種算法。這個(gè)版本的主要不同之處在于它使用了Pandas的向量化操作add和mul來計(jì)算均值加一倍標(biāo)準(zhǔn)差,而不是使用for循環(huán)和逐個(gè)計(jì)算每只股票的激增時(shí)刻。這種方式更快且更有效率,特別是在處理大量數(shù)據(jù)時(shí)。但其中有一處bug是其計(jì)算的閾值是均值+2倍標(biāo)準(zhǔn)差,而非我們定義的均值+1倍標(biāo)準(zhǔn)差,因此我們需要修改mul的參數(shù)為1,即可得到正確的結(jié)果。5.2基于ChatGPT構(gòu)建“適度冒險(xiǎn)”因子接下來,我們復(fù)現(xiàn)因子的具體計(jì)算過程。找到“激增時(shí)刻”之后,我們需要分別構(gòu)建兩個(gè)細(xì)分因子:“耀眼波動率因子”與“耀眼收益率因子”,其中“耀眼波動率因子”需要考察“激增時(shí)刻”之后的五分鐘內(nèi)的波動率情況,“耀眼收益率因子”則通過“激增時(shí)刻”這一分鐘收益率來計(jì)算,我們在同一個(gè)函數(shù)中實(shí)現(xiàn)其計(jì)算過程。我們的需求:請寫一個(gè)Python函數(shù),用來計(jì)算日耀眼波動率因子和日耀眼收益率因子,讀入為DataFrame,表示個(gè)股分鐘頻交易數(shù)據(jù),包含字段code,amount,money,high,low,close,open,num,其中num表示當(dāng)天第幾分鐘,按照如下步驟進(jìn)行:1、計(jì)算每只股票每分鐘的收益率ret;2、計(jì)算每只股票每一分鐘及其未來四分鐘內(nèi)的收益率的標(biāo)準(zhǔn)差,得到該分鐘該股票對應(yīng)的波動率指標(biāo)vol;3、調(diào)用上述find_volume_spikes函數(shù),得到每只股票當(dāng)天的激增時(shí)刻,找到各股票激增時(shí)刻對應(yīng)的波動率vol_s和收益率指

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論