據(jù)構(gòu)建思路(2007-2024))
研究個股橫截面收益的時候我長期被一個問題卡住市場整體情緒指數(shù)能解釋大盤的瘋狂和恐慌可一旦落到為什么這兩只基本面差不多的公司一只天天漲停有人搶另一只無人問津傳統(tǒng)情緒指標(biāo)就完全失靈了。后來我花了一段時間系統(tǒng)整理了A股2007到2024年的個股交易數(shù)據(jù)用代理指標(biāo)加主成分分析的思路構(gòu)建了一套上市公司投資者情緒2007-2024面板數(shù)據(jù)算是把公司層面的情緒這個變量真正落到了可計算的層面。這套數(shù)據(jù)覆蓋了近18年的歷史跨度包含A股正常交易股票在日頻和月頻兩個粒度的情緒評分可以用在行為金融學(xué)術(shù)研究、個股異象分析、多因子模型診斷等場景中。如果你也在做類似的量化研究或者對情緒怎么度量這個問題感興趣這篇文章會把我的完整構(gòu)建思路、指標(biāo)選型、清洗細(xì)節(jié)、主成分合成過程、有效性驗證以及踩過的坑都攤開講清楚。1. 為什么非要做公司層面而不是繼續(xù)用市場情緒指數(shù)1.1 市場情緒解決不了個股定價差異如果你看過Baker和Wurgler在2006年那篇經(jīng)典論文一定會對市場層面的情緒指數(shù)印象深刻。它把封閉基金折價、換手率、IPO首日收益、新股發(fā)行數(shù)量等指標(biāo)壓縮成一個時間序列用來解釋整個市場的情緒周期。這個思路很優(yōu)雅但用到個股上就尷尬了同一時刻所有股票共享同一個市場情緒值完全沒有橫截面上的區(qū)分度。現(xiàn)實情況卻是A股的情緒分布極度不均衡。2017年那輪極端分化的行情里大市值藍(lán)籌穩(wěn)步上行小市值公司卻持續(xù)陰跌兩個群體內(nèi)部的交易熱度、投資者關(guān)注度完全是兩個世界。再比如2021年前后的賽道股行情新能源和半導(dǎo)體板塊內(nèi)部的情緒溫度可以和銀行地產(chǎn)差出好幾條街。如果你只能用一個全局情緒變量根本無法刻畫這種結(jié)構(gòu)性的情緒冷熱。行為金融里的很多經(jīng)典異象本身就發(fā)生在公司層面高換手率的彩票型股票未來收益偏低、散戶追捧的股票崩盤風(fēng)險更高、極端收益后的反轉(zhuǎn)效應(yīng)……這些問題都需要一個能夠區(qū)分哪只股票情緒高、哪只股票情緒低的個體度量而不是一個統(tǒng)一的市場讀數(shù)。這是我做這套數(shù)據(jù)的第一個動機。1.2 2007-2024這個樣本區(qū)間的含金量在哪選定2007到2024年并不是隨意劃的而是因為這段區(qū)間幾乎包含了一個研究情緒所必需的全部極端場景。首先是2007年末到2008年市場從亢奮到崩潰的完整周期這是檢驗情緒指標(biāo)是否能在極端樂觀和極端恐慌之間快速切換的絕佳樣本。接著是2014到2015年成交額和杠桿資金快速放大隨后出現(xiàn)劇烈調(diào)整情緒指標(biāo)的波動劇烈程度在整個樣本里都數(shù)一數(shù)二。2016到2017年的分化行情、2019到2021年的結(jié)構(gòu)性行情、2024年初小微盤的流動性沖擊這些場景對情緒指數(shù)來說都是天然的壓力測試。簡單說一個情緒指標(biāo)如果在這段區(qū)間里還能保持合理的行為模式——暴漲時沖高、急跌時探底、分化時拉開個股差異——那它大概率是可靠的。如果它只在平穩(wěn)行情里表現(xiàn)正常一到極端情況就失真那這套數(shù)據(jù)就沒有實用價值。樣本夠長、夠極端是這套數(shù)據(jù)最重要的底氣。2. 情緒代理指標(biāo)的選型哪些指標(biāo)真正刻畫了情緒而不是價值情緒是潛變量根本沒法直接觀測所以必須找代理。我這里的出發(fā)點是所有代理指標(biāo)必須在個股層面可得、日度或周度高頻、且與投資者的非理性交易行為直接相關(guān)。基于這三條標(biāo)準(zhǔn)我篩掉了問卷類數(shù)據(jù)只有市場層面、資金流數(shù)據(jù)2010年前覆蓋太差、機構(gòu)倉位數(shù)據(jù)頻率太低且滯后嚴(yán)重最終留下了五個核心候選。2.1 換手率偏離最便宜也最有效的情緒溫度計換手率是情緒研究里最經(jīng)典的代理之一邏輯很直接情緒高亢時人更愛交易換手率自然放大。但我沒有直接用換手率絕對值而是用了異常換手率——當(dāng)日換手率減去過去一段時間我用的120個交易日的滾動均值再除以滾動標(biāo)準(zhǔn)差。為什么用偏離值而不是絕對值因為A股不同行業(yè)、不同市值區(qū)間的換手率天然差異很大銀行股常年低換手題材股常年高換手絕對值的橫截面差異早就被流動性屬性污染了。但偏離值捕捉的是這只股票相對于常態(tài)今天突然活躍了多少這才是情緒沖擊的部分。Baker和Stein2004討論流動性作為情緒代理時也強調(diào)過這個角度實操中偏離值的效果確實比絕對值干凈不少。2.2 收益偏度彩票偏好的一面鏡子第二個指標(biāo)是過去60個交易日收益分布的偏度也叫已實現(xiàn)偏度realized skewness。行為金融里有個很成熟的概念叫彩票偏好很多散戶投資者愿意買入收益分布極度右偏、有極小概率暴漲的彩票型股票為此不惜承擔(dān)大概率虧錢的風(fēng)險。而這種股票恰恰是情緒推動的重災(zāi)區(qū)。偏度的計算不復(fù)雜用日收益率序列的三階矩除以標(biāo)準(zhǔn)差的立方即可。之所以放進(jìn)情緒代理是因為高偏度股票在情緒高亢期更容易被資金追捧而情緒退潮時這類股票的殺跌也往往更猛。它捕捉的是投機性偏好的強弱和換手率提供的是互補信息。2.3 杠桿資金活躍度2010年之后的情緒放大器融資融券在2010年3月才開始正式交易所以兩融類指標(biāo)天然只能覆蓋后半段樣本。我用的是融資買入額占當(dāng)日成交額的比例以及融資余額的變化率。邏輯也不難理解愿意加杠桿買入的資金通常對后市有比較強的樂觀預(yù)期杠桿資金的活躍度越高說明交易者的情緒溫度越高。這個指標(biāo)的短板很明顯在2010年之前完全沒有而且只有兩融標(biāo)的池內(nèi)的股票才有數(shù)據(jù)。不過它的長處是干凈——杠桿資金比普通散戶更敏感它的進(jìn)場和離場往往領(lǐng)先于價格變化是情緒放大器角色。我在做主成分時把它作為2010年后的穩(wěn)健性驗證變量而不是核心變量后面會說原因。2.4 分析師調(diào)整與文本情緒兩個補充視角分析師評級調(diào)整方向上調(diào)次數(shù)減下調(diào)次數(shù)再除以覆蓋分析師數(shù)代表機構(gòu)端的情緒溫度。它的優(yōu)點是頻率適中、覆蓋面在2010年后逐漸擴大缺點是早期分析師覆蓋太少樣本偏差大。它衡量的是專業(yè)投資者的預(yù)期修正和散戶情緒是不同維度但兩者會互相傳染。文本情緒股吧帖子、新聞標(biāo)題是最貼近情緒本身的指標(biāo)但它的成本實在太高了2015年之前的文本數(shù)據(jù)覆蓋率低、清洗難度大、真假評論混雜直接作為主成分基礎(chǔ)變量會讓數(shù)據(jù)面板嚴(yán)重殘缺。所以我的處理策略是文本情緒不做基礎(chǔ)代理只做交叉驗證的參照系。后面驗證部分會提到怎么用。3. 2007-2024的面板數(shù)據(jù)工程口徑、缺失值和幸存者偏差的取舍很多人拿到數(shù)據(jù)后直接開始算指標(biāo)但我的經(jīng)驗是面板數(shù)據(jù)的質(zhì)量控制決定了最終結(jié)果的可信度。這一節(jié)可能是全篇最不性感但最值得認(rèn)真看的部分。3.1 換手率的三套口徑從2007到2024怎么統(tǒng)一A股換手率在數(shù)據(jù)庫里通常有三個口徑總股本口徑、流通股本口徑、自由流通股本口徑。不同口徑下同一只股票同一時期的換手率差異非常大尤其2007到2010年很多公司的限售股尚未完全解禁流通股本占總股本的比例很低流通口徑的換手率會異常偏高。我最后的選擇是2007到2012年用流通股本口徑2013年以后逐步切換到自由流通股本口徑并在銜接處做了倍數(shù)對齊。具體做法是以2013年兩類口徑都完整可得的股票為樣本計算兩個口徑的中位數(shù)比值用這個比值對早期數(shù)據(jù)做了整體校準(zhǔn)。這個方法不完美但比不加處理直接用一套口徑硬算要可靠得多。有條件的同行可以直接購買帶自由流通口徑的數(shù)據(jù)庫但多數(shù)情況下還是得自己做一次手工校準(zhǔn)。3.2 停牌、漲跌停和ST哪些日子必須被剔除這一塊是最容易踩坑的地方。停牌股票的換手率天然為0但它是無法交易的0不是沒人關(guān)注的0直接納入計算會把情緒分?jǐn)?shù)壓出假低谷。一字漲?;蛞蛔值H胀懋?dāng)天成交極少但這恰恰是情緒極端高漲或恐慌的表現(xiàn)簡單用換手率偏離去刻畫會把它們誤判成冷清。我的清洗規(guī)則是停牌日直接剔除一字漲跌停日標(biāo)記為極端情緒值但不參與換手率偏離的計算ST股票的常規(guī)交易日單獨建立樣本標(biāo)記在部分驗證場景里會把ST整體剔除避免退市風(fēng)險偏好污染情緒分?jǐn)?shù)。這些判斷看起來都是細(xì)節(jié)但你如果直接跑一套數(shù)據(jù)出來會發(fā)現(xiàn)情緒指數(shù)里混進(jìn)大量假冷清日和真實市場感受嚴(yán)重背離。3.3 幸存者偏差構(gòu)建當(dāng)期股票池的細(xì)節(jié)這是面板數(shù)據(jù)里我最在意的問題。如果只用截至2024年仍然存續(xù)的股票去回溯2007年以來的交易記錄早期樣本就只剩下了后來的幸存者那些在2010年退市的股票、2015年之后被ST多次的股票全都會被漏掉——但這批股票的極端情緒恰恰是研究中最有信息量的部分。正確處理方式其實不復(fù)雜在每個報告期我按月切分記錄當(dāng)期交易狀態(tài)正常的全部股票代碼形成一個當(dāng)期股票池所有指標(biāo)都在當(dāng)期股票池內(nèi)計算。退市股票要保留到它實際退市前的最后一個交易月這樣情緒指數(shù)的下跌段才能真實覆蓋這個群體的完整情緒變化。數(shù)據(jù)庫里下載數(shù)據(jù)時如果直接按股票代碼篩選大概率會帶回幸存者偏差這一點必須自己處理。3.4 極端值清洗MAD比Z-score更抗造換手率、偏度這類指標(biāo)的分布是高度重尾的用均值加標(biāo)準(zhǔn)差的Z-score方法做縮尾很容易被極端值拖著走。我自己在試算時發(fā)現(xiàn)直接用Z-score處理2015年高峰期的換手率很多正?;钴S股的得分會被壓到負(fù)數(shù)——因為少數(shù)天量股票的極值把標(biāo)準(zhǔn)差拉得過大。后來換成了MAD中位數(shù)絕對偏差縮尾以中位數(shù)為基準(zhǔn)超過中位數(shù)加減k倍MAD的值截斷這個辦法在重尾分布下穩(wěn)健得多。縮尾比例我用的1%和99%分位數(shù)但底層檢驗用的是MAD邏輯。具體操作時先做橫截面分位數(shù)縮尾再做時序列標(biāo)準(zhǔn)化順序不要反。4. 主成分情緒指數(shù)從5個代理變成1個分?jǐn)?shù)的全流程數(shù)據(jù)清洗做完就到了核心合成步驟。我的目標(biāo)是把多個代理變量綜合成一個可解釋、可復(fù)現(xiàn)、且沒有前視偏差的個股情緒分?jǐn)?shù)。4.1 為什么不用等權(quán)平均而用主成分最簡單的做法當(dāng)然是把幾個標(biāo)準(zhǔn)化后的代理變量做個平均省事直觀。但問題在于代理指標(biāo)之間存在信息重疊換手率抬高的時候偏度大的股票通常也在被資金追捧杠桿資金活躍的時候換手率也差不了等權(quán)平均等于把這些共同成分反復(fù)計算放大了重復(fù)信息。主成分分析的意義在于把變量之間的共同變異提取出來第一主成分恰好就對應(yīng)著多個情緒指標(biāo)共同變化的那個驅(qū)動力也就是我們真正想要的情緒成分。它允許代理指標(biāo)各自貢獻(xiàn)不同權(quán)重而不是一視同仁。實踐中第一主成分的解釋率大概在30%到45%之間這個水平足夠說明它提取到了一個穩(wěn)定且真實的共同因子又不會高到讓人覺得是重復(fù)計算。4.2 滾動PCA防前視偏差的實操細(xì)節(jié)這里有一個新手很容易踩的大坑如果直接用全樣本數(shù)據(jù)做PCA得到的載荷矩陣其實包含了未來的全部信息。用這個載荷去計算歷史某個時點的情緒分?jǐn)?shù)相當(dāng)于用未來數(shù)據(jù)給過去打分——這在學(xué)術(shù)研究里是致命的前視偏差回測出來的結(jié)果完全不可信。正確做法是滾動窗口PCA。我在每個月末只用截至當(dāng)月末為止的過去36個月數(shù)據(jù)重新擬合載荷矩陣然后用這個載荷計算當(dāng)月每個股票的情緒分?jǐn)?shù)。窗口長度我反復(fù)試過24個月、36個月和60個月24個月載荷太毛糙換一個極端月份結(jié)果就跳一次60個月反應(yīng)太慢市場結(jié)構(gòu)從2015年的高頻交易時代切換到2018年后的機構(gòu)化時代時舊載荷已經(jīng)跟不上新結(jié)構(gòu)36個月是相對折中的選擇。4.3 核心計算流程與Python實現(xiàn)要點具體的計算分四步走對五個代理變量做行業(yè)中性化再在橫截面內(nèi)標(biāo)準(zhǔn)化減均值除以標(biāo)準(zhǔn)差。行業(yè)中性化這一步很重要因為銀行和醫(yī)藥的換手率基準(zhǔn)完全不同不處理的話情緒分?jǐn)?shù)里會混入行業(yè)屬性。在36個月滾動窗口內(nèi)計算代理變量間的相關(guān)矩陣做特征值分解。提取第一主成分對應(yīng)的特征向量作為載荷并做符號對齊——確保載荷方向和理論預(yù)期一致下面細(xì)說。用當(dāng)期個股的代理值乘以載荷得到情緒得分再在橫截面上標(biāo)準(zhǔn)化為均值0、標(biāo)準(zhǔn)差1的分?jǐn)?shù)。用Python表達(dá)核心邏輯大概是這樣的def rolling_pca_sentiment(panel, proxies, window36): # panel是MultiIndex DataFrame: (trade_date, stock_code) scores {} for month_end in month_ends: hist panel.loc[:month_end].tail(window * 21) # 1. 行業(yè)中性化 橫截面標(biāo)準(zhǔn)化 z hist[proxies].apply(lambda x: (x - x.mean()) / x.std()) # 2. 相關(guān)矩陣的PCA corr z[proxies].corr() eigenvalues, eigenvectors np.linalg.eigh(corr) loading eigenvectors[:, -1] # 第一主成分載荷 # 3. 符號對齊保證與理論方向一致 loading align_sign(loading, theoretical_direction) # 4. 當(dāng)期情緒分?jǐn)?shù) cur_z panel.loc[month_end][proxies].apply(...) scores[month_end] cur_z loading return scores實際工程里還要處理月度內(nèi)交易日不足10天就直接置空、代理指標(biāo)缺失過多的股票不進(jìn)PCA擬合、全市場只有兩融標(biāo)的有margin變量的處理方式等雜活。整體框架不復(fù)雜真正花時間的都是這些邊界條件和清洗邏輯。4.4 符號方向、載荷解釋和解釋率判斷PCA第一主成分的方向不是唯一的特征向量乘以負(fù)一同樣是合法解。如果不做處理可能跑出來第一主成分在換手率上是正載荷、在偏度上是負(fù)載荷方向飄忽不定情緒分?jǐn)?shù)忽高忽低根本沒法用。我的處理方法是預(yù)先設(shè)定理論方向高情緒時換手率偏離為正、偏度為正、杠桿活躍度為正、分析師調(diào)整為正樂觀修正。然后看第一主成分載荷在這幾個變量上的平均正負(fù)方向如果和理論方向一致就保留否則整體乘負(fù)一。這是個非常樸素但重要的步驟很多人直接從sklearn里拿結(jié)果就用跑出來符號反復(fù)橫跳還不知道為什么。關(guān)于解釋率我的觀察是如果第一主成分的解釋率低于25%說明代理指標(biāo)之間共同信息太少情緒成分太弱這時候要先回頭檢查代理變量清洗環(huán)節(jié)如果高于60%就要警惕是不是某些指標(biāo)其實在重復(fù)度量同一件事比如換手率和杠桿活躍度相關(guān)性太高導(dǎo)致共同因子被單一維度主導(dǎo)。5. 有效性驗證情緒指數(shù)究竟是不是在刻畫情緒合成完指數(shù)只是第一步最關(guān)鍵的問題是這個指數(shù)真的有行為金融學(xué)意義上的有效性嗎我從兩個方向做了驗證。5.1 極端市場場景的橫向?qū)φ瞻讶袌鰝€股情緒分?jǐn)?shù)的月度均值拉成一條時間序列和幾個公認(rèn)的極端市場節(jié)點做對照2008年下半年全球金融危機沖擊下的A股市場市場平均情緒分快速下探到全樣本極低分位大量個股情緒分?jǐn)?shù)進(jìn)入個位數(shù)百分位區(qū)間。2015年市場成交和杠桿資金快速放大的階段市場平均情緒分在2015年上半年沖到了樣本內(nèi)的極高位置三季度劇烈調(diào)整期間又快速回落到低分位情緒分?jǐn)?shù)的拐點基本和市場的階段高低點同步甚至略微領(lǐng)先。2017年到2018年的大盤藍(lán)籌與小市值分化階段市場平均情緒分變化不大但情緒分?jǐn)?shù)的橫截面離散度明顯拉大——大市值股票情緒分中性偏低小市值股票情緒分波動劇烈。這個現(xiàn)象恰恰說明公司層面的情緒數(shù)據(jù)和市場整體情緒是有本質(zhì)區(qū)別的。2024年初小微盤流動性沖擊階段小市值群體的情緒分?jǐn)?shù)迅速塌陷之后又經(jīng)歷明顯修復(fù)整個走勢完整捕捉到了流動性收縮與恢復(fù)的過程。這些場景對照雖然沒有嚴(yán)格的統(tǒng)計檢驗但方向上的吻合說明這套數(shù)據(jù)確實捕捉到了情緒的應(yīng)有表現(xiàn)——在極端樂觀和極端悲觀之間切換、在分化行情中拉開個股差異。5.2 分位分組的月收益差異再來看橫截面預(yù)測能力。我用最樸素的方法每個月末按情緒分?jǐn)?shù)把全市場股票分成5組Q1最低情緒Q5最高情緒計算各組下個月的等權(quán)平均收益。在我的樣本里整體規(guī)律是高情緒組Q5未來一個月的平均收益明顯低于低情緒組Q1差值大致在每月0.3%到0.8%的范圍內(nèi)而且在情緒指數(shù)全樣本高分位時這個利差會更加明顯。這個結(jié)果本身并不新穎它和大量文獻(xiàn)里高情緒股票未來收益偏低的結(jié)論是一致的。但對我而言它的意義在于驗證了數(shù)據(jù)質(zhì)量——如果連這個經(jīng)典規(guī)律都跑不出來說明前面的構(gòu)建過程一定有問題。還要加一句重要的提醒這只是一個統(tǒng)計規(guī)律不是可以直接交易的策略信號。高情緒組里大量是小市值、高換手的股票實盤交易的沖擊成本和流動性約束往往遠(yuǎn)超這個收益差直接拿去做多空策略很容易被交易成本吞干凈。5.3 在學(xué)術(shù)和策略研究里的正確打開方式這套數(shù)據(jù)最適合的場景是作為行為金融模型的解釋變量。比如研究崩盤風(fēng)險時控制基本面和流動性的基礎(chǔ)上看看高情緒股票的崩盤風(fēng)險是否更高研究異質(zhì)波動率異象時把情緒作為調(diào)節(jié)變量看看異質(zhì)波動率溢價是不是只在情緒高的時候出現(xiàn)。也可以用來做條件分析把樣本按情緒高低切成兩個子樣本檢驗?zāi)承┮蜃釉谇榫w期的表現(xiàn)差異。很多橫截面因子的有效性其實是隨情緒周期變化的用這套數(shù)據(jù)就能很方便地切出市場亢奮期和市場低迷期分別回測這正是市場整體情緒指數(shù)做不到的。驗證里還有一個重要步驟是相關(guān)性診斷把情緒指數(shù)和個股換手率、特質(zhì)波動率、非流動性指標(biāo)做Pearson相關(guān)。如果相關(guān)性高到0.8以上說明這個情緒分?jǐn)?shù)本質(zhì)上就是換手率的換殼沒有獨立信息增量。我的樣本里情緒分?jǐn)?shù)與換手率的相關(guān)系數(shù)大致在0.5到0.7之間說明有相關(guān)但不完全重合還有一部分是偏度、杠桿活躍度等其他維度提供的增量信息這個結(jié)果可以接受。6. 情緒指數(shù)不是萬能鑰匙邊界、誤用和幾個真實教訓(xùn)6.1 代理變量永遠(yuǎn)是代理這套情緒指數(shù)說到底是從交易數(shù)據(jù)里反推出來的合成情緒它和真實的投資者心理情緒之間隔著一層透鏡。換手率偏離里既有情緒成分也有流動性成分偏度里既有投機偏好也有基本面彩票屬性分析師調(diào)整里則更多反映專業(yè)投資者的理性預(yù)期。所以嚴(yán)格來說這個分?jǐn)?shù)應(yīng)該被理解為情緒與投機性交易的綜合度量而不是純粹的心理學(xué)意義上的情緒。如果寫作論文我建議在表述上留有余地叫情緒-投機綜合指數(shù)speculative sentiment index或者明確說明它是基于交易行為的代理情緒。別人問起來的時候直接說這是投資者情緒的綜合代理指標(biāo)比拍胸脯說這就是情緒本身要嚴(yán)謹(jǐn)?shù)枚嘁步?jīng)得起推敲。6.2 市場結(jié)構(gòu)漂移會影響時序可比性A股參與者結(jié)構(gòu)在過去18年變化太大了。2010年之前以散戶為主換手率里情緒含量天然高2015年以后程序化交易和量化資金占比上升換手率的邊際含義已經(jīng)變了2020年以來社交平臺的信息擴散速度和范圍又明顯改變了個股情緒的傳播路徑。同一個換手率偏離值在2009年可能在說散戶情緒高漲到2023年可能包含了不少算法交易和套利資金的貢獻(xiàn)。滾動窗口PCA在一定程度上吸收了這種結(jié)構(gòu)變化但不能完全消除。最穩(wěn)妥的做法是在使用這套數(shù)據(jù)做回歸時加入時間固定效應(yīng)或者分段做穩(wěn)健性檢驗——比如2010年之前、2010到2015年、2015年之后各跑一遍看看結(jié)論是否一致。如果跨區(qū)間的結(jié)論差異太大就要考慮是不是情緒度量本身的結(jié)構(gòu)變化造成的。6.3 文本情緒作為交叉驗證參照系前面說過我沒有把文本情緒放進(jìn)主成分基礎(chǔ)變量但它不該被閑置。我的做法是取2019年以后的數(shù)據(jù)用個股股吧帖子情緒和新聞?wù)?fù)面情緒分別構(gòu)造月度文本情緒分?jǐn)?shù)再和主成分情緒分?jǐn)?shù)做相關(guān)性和分組對照。結(jié)果上兩者相關(guān)系數(shù)大致在0.3到0.5之間方向上一致但又不是完全同步。文本情緒的優(yōu)勢在于它更貼近真實心理而主成分情緒的優(yōu)勢在于覆蓋更長的歷史區(qū)間。如果你有足夠的文本數(shù)據(jù)預(yù)算我的建議是把兩者結(jié)合起來——用文本情緒對主成分情緒做殘差修正可能得到一個更純粹的情緒偏離基本面交易行為的成分。這一塊我還在嘗試但方向是對的。6.4 幾個值得記住的教訓(xùn)最后分享幾個我在構(gòu)建過程中真實踩過的坑供同行參考第一不要跳過行業(yè)中性化直接PCA。我第一版跑出來的情緒分?jǐn)?shù)里行業(yè)屬性占了很大權(quán)重銀行股整體情緒永遠(yuǎn)偏低電子股整體情緒永遠(yuǎn)偏高。行業(yè)中性化之后這個偏差才基本消除。第二符號對齊一定要做。有一版我偷懶沒做結(jié)果情緒分?jǐn)?shù)和市場極端節(jié)點完全反著走還以為是數(shù)據(jù)源出了問題最后發(fā)現(xiàn)就是第一主成分的方向選反了。第三滾動窗口不要偷懶用全樣本。如果你只是自己看一下趨勢可能問題不大但任何涉及歷史回測的研究全樣本PCA就是前視偏差審稿人一眼就能看穿。第四注意退市樣本的處理。保留到退市前最后一個月還是提前剔除會對高情緒組的未來收益產(chǎn)生不小的影響。我的建議是保留并在論文穩(wěn)健性檢驗里說明兩種處理方式的差異。我把這套數(shù)據(jù)公開放在了我的開源項目里數(shù)據(jù)文件按照月份分片存儲月度情緒分?jǐn)?shù)為均值0、標(biāo)準(zhǔn)差1的標(biāo)準(zhǔn)化值同時附帶了情緒分?jǐn)?shù)構(gòu)建的全套說明和復(fù)現(xiàn)代碼。如果你發(fā)現(xiàn)某個行業(yè)、某個時間段的情緒分?jǐn)?shù)和你的體感偏差很大歡迎私下交流——數(shù)據(jù)這種東西越多的人挑毛病它才越可靠。