最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

拓端tecdat|R語言Fama French (FF) 三因子模型和CAPM多因素?cái)U(kuò)展模型分析股票市場(chǎng)投資

2022-02-02 12:48 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=24983

原文出處:拓端數(shù)據(jù)部落公眾號(hào)

本文我們超越了 CAPM 的簡(jiǎn)單線性回歸,探索了 Fama French (FF) 股票風(fēng)險(xiǎn)/收益的多因素模型。

FF 模型通過回歸除市場(chǎng)收益之外的幾個(gè)變量的投資組合收益來擴(kuò)展 CAPM。從一般數(shù)據(jù)科學(xué)的角度來看,F(xiàn)F 將 CAPM 的簡(jiǎn)單線性回歸(我們有一個(gè)自變量)擴(kuò)展到多元線性回歸(我們有許多自變量)。

我們要看的是FF三因素模型,它測(cè)試的是(1)市場(chǎng)收益(與CAPM相同),(2)公司規(guī)模(小與大)和(3)公司價(jià)值(賬面市值比)的解釋能力。公司價(jià)值因素在FF中被標(biāo)記為HML,代表高-低,指的是公司的賬面與市場(chǎng)比率。當(dāng)我們將投資組合的收益率與HML因子進(jìn)行回歸時(shí),我們正在調(diào)查有多少收益是由于包括高賬面市值比率的股票(有時(shí)被稱為價(jià)值溢價(jià),因?yàn)楦哔~面市值的股票被稱為價(jià)值股票)。
?

這篇文章的很大一部分內(nèi)容涉及從FF網(wǎng)站導(dǎo)入數(shù)據(jù),并對(duì)其進(jìn)行整理,以用于我們的投資組合收益。我們將看到,處理數(shù)據(jù)在概念上很容易理解,但在實(shí)際操作中卻很耗時(shí)。然而,對(duì)于任何擁有來自不同供應(yīng)商的數(shù)據(jù)流并想創(chuàng)造性地使用它們的行業(yè)來說,將不同來源的數(shù)據(jù)混在一起是一項(xiàng)必要的技能。一旦數(shù)據(jù)被整理好,擬合模型就不費(fèi)時(shí)間了。

今天,我們將使用我們通常的投資組合,其中包括:

  1. + SPY(標(biāo)準(zhǔn)普爾500基金)權(quán)重25%。

  2. + EFA(一個(gè)非美國(guó)股票基金),權(quán)重25%。

  3. + IJS(一個(gè)小盤股價(jià)值基金)權(quán)重20%。

  4. + EEM (一只新興市場(chǎng)基金)權(quán)重20%。

  5. + AGG(一只債券基金)權(quán)重10%。

在計(jì)算該投資組合的 beta 之前,我們需要找到投資組合的月收益率。



  1. mbls <- c("SPY","EFA", "IJS", "EEM","AGG")


  2. pes <-

  3. getSymbols

  4. w <- c(0.25, 0.25, 0.20, 0.20, 0.10)


  5. as_t_ng <-

  6. res %>%

  7. to.monthly %>%

  8. tk_tbl %>%

  9. gather %>%

  10. group_by%>%

  11. p_tuaeoly <-

  12. ase_un_lng %>%

  13. tq_portfolio

我們將處理投資組合收益的一個(gè)對(duì)象。

Fama French?因子的導(dǎo)入和整理

我們的首要任務(wù)是獲取 FF 數(shù)據(jù),幸運(yùn)的是,F(xiàn)F 在互聯(lián)網(wǎng)上提供了他們的因子數(shù)據(jù)。我們將記錄導(dǎo)入和清理這些數(shù)據(jù)的每個(gè)步驟,在某種程度上可能有點(diǎn)過頭了。現(xiàn)在讓我們感到沮喪,但是當(dāng)我們需要更新此模型或擴(kuò)展到 5 因素案例時(shí),可以節(jié)省時(shí)間。

看看?FF website. 數(shù)據(jù)被打包為 zip 文件,所以我們需要做的不僅僅是調(diào)用?read_csv()。讓我們使用tempfile()?基礎(chǔ) R 中的?函數(shù)來創(chuàng)建一個(gè)名為?temp. 這是我們將放置壓縮文件的地方。

temp <- tempfile()

R 創(chuàng)建了一個(gè)名為的臨時(shí)文件?temp?。下載 3-factor zip。?我們想將它傳遞給?download.file()?并將結(jié)果存儲(chǔ)在?temp.

首先,我們將把這個(gè)字符串分成三塊:base、factor和format--這對(duì)今天的任務(wù)來說不是必須的,但是如果我們想建立一個(gè)Shiny應(yīng)用程序讓用戶從FF網(wǎng)站上選擇一個(gè)因子,或者我們只是想用一組不同的FF因子重新運(yùn)行這個(gè)分析,它就會(huì)很方便。然后我們會(huì)把這些東西粘在一起,并把字符串保存為full_url。
?

  1. be

  2. faor


  3. fmt


  4. furl <-

  5. glue

現(xiàn)在我們傳遞?full_url?給?download.file().

download.file

最后,我們可以在使用?函數(shù)read_csv()?解壓縮數(shù)據(jù)后?讀取 csv 文件?unz()

  1. Go_3_Fars <-

  2. read_csv


  3. head(Go_3_Fars )

我們已經(jīng)導(dǎo)入了數(shù)據(jù)集,但我們沒有看到任何因素,只是一個(gè)帶有奇怪格式日期的列。

發(fā)生這種情況時(shí),通常?可以通過跳過一定數(shù)量的包含元數(shù)據(jù)的行來修復(fù)它?。看看如果我們跳過 6 行。

  1. Glo_as <-

  2. read_csv(

  3. skip = 6)


  4. head(Glo_as )

這就是我們所期待的,5個(gè)列:一個(gè)叫做X1的列,保存著奇怪的格式化日期,然后是Mkt-Rf,表示高于無風(fēng)險(xiǎn)利率的市場(chǎng)收益,SMB表示規(guī)模因子,HML表示價(jià)值因子,RF表示無風(fēng)險(xiǎn)利率。

然而,這些數(shù)據(jù)已經(jīng)被轉(zhuǎn)化為字符格式--看看每一列的類別。
?

map(Gob3s, class)

我們有兩個(gè)選項(xiàng)可以將這些列強(qiáng)制轉(zhuǎn)換為正確的格式。首先,我們可以在導(dǎo)入時(shí)這樣做,通過cl_yps = cols?為每個(gè)數(shù)字列提供參數(shù)?。

  1. Gll3Ftrs <-

  2. read_csv(unz

  3. head(Gll3Ftrs )

這很好用,但它特定于具有這些特定列名的 FF 3 因子集。如果我們導(dǎo)入不同的 FF 因子集,我們將需要指定不同的列名。

作為一種替代方法,下面的代碼塊在導(dǎo)入后將列轉(zhuǎn)換為數(shù)字,但更通用。它可以應(yīng)用于其他 FF 因子集合。

為了做到這一點(diǎn),我們將X1列重命名為date,然后將我們的列格式改為數(shù)字。vars()函數(shù)的操作與select()函數(shù)類似,我們可以通過在date前面加一個(gè)負(fù)號(hào)來告訴它對(duì)所有列進(jìn)行操作,除了date列。

  1. Gloa_3_Fars <-

  2. read_csv(unz %>%

  3. rename%>%

  4. mutate_at


  5. head(Gloa_3_Fars )

現(xiàn)在我們的因子有了數(shù)字?jǐn)?shù)據(jù),日期列有更好的標(biāo)簽,但格式錯(cuò)誤。

我們可以使用該?lubridate?包將該日期字符串解析為更好的日期格式。我們將使用該?parse_date_time()?函數(shù),并調(diào)用該?ymd()?函數(shù)以確保最終結(jié)果為日期格式。同樣,在處理來自新來源的數(shù)據(jù)時(shí),日期,事實(shí)上,任何列都可以有多種格式。

  1. Gll_3_ts <-

  2. read_csv %>%

  3. rename %>%

  4. mutate_at%>%

  5. mutate


  6. head(Gll_3_ts )

日期格式看起來不錯(cuò),這很重要,因?yàn)槲覀兿胍藜?FF 日期與我們的投資組合日期匹配的因子數(shù)據(jù)。但是,請(qǐng)注意 FF 使用當(dāng)月的第一天,而我們的投資組合收益使用的是當(dāng)月的最后一天。這會(huì)將每月日期回滾到上個(gè)月的最后一天。我們 FF 數(shù)據(jù)中的第一個(gè)日期是“1990-07-01”。讓我們回滾。

  1. Gol3Frs %>%

  2. select %>%

  3. mutate %>%

  4. head

如果我們想將日期重置為月末,我們需要先添加一個(gè),然后回滾。

  1. Gob3Fars %>%

  2. select%>%

  3. mutate %>%

  4. head

我們還有其他方法可以解決這個(gè)問題--一開始,我們就可以將我們的投資組合收益率索引到indexAt = firstof。

最后,我們只想要與我們的投資組合數(shù)據(jù)一致的 FF 因子數(shù)據(jù),因此我們??在投資組合返回對(duì)象中?按?日期first()?和?last()日期filter()

  1. Glb3Ftos <-

  2. read_csv(unz %>%

  3. rename%>%

  4. mutate_at %>%

  5. mutate) + months) %>%

  6. filte


  7. head(Glb3Ftos , 3)

tail(Glaos, 3)

我們用left_join(...by = "date")將這些數(shù)據(jù)對(duì)象合并起來。還將FF數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制,并創(chuàng)建了一個(gè)名為R_excess的新列,保存高于無風(fēng)險(xiǎn)利率的收益。?

  1. ff_proio_tns <-

  2. piruq_ealaed_ntly %>%

  3. left_join %>%

  4. mutate



  5. head(ff_poleus, 4)

我們現(xiàn)在有了一個(gè)包含我們的投資組合收益和 FF 因子的對(duì)象,并且可以從編碼的角度進(jìn)行我們練習(xí)中最簡(jiǎn)單的部分,也是我們的老板/同事/客戶/投資者唯一關(guān)心的部分:建模和可視化.

現(xiàn)在我們有了格式不錯(cuò)的數(shù)據(jù)。CAPM 使用簡(jiǎn)單的線性回歸,而 FF 使用具有許多自變量的多元回歸。因此,我們的 3 因子 FF 方程為?lm(R_excess ~ MKT_RF + SMB + HML。

我們將在 CAPM 代碼流中添加一項(xiàng),即為我們的系數(shù)包括 95% 的置信區(qū)間。

  1. ffdlrhd <-

  2. ffptoltus %>%

  3. do) %>%

  4. tidy(conf.level = .95)


  5. fdlyd %>%

  6. mutate_if %>%

  7. select

我們的模型對(duì)象現(xiàn)在包含一個(gè)?conf.high?和?conf.low?列來保存我們的置信區(qū)間最小值和最大值。

我們可以將這些結(jié)果通過管道傳輸?shù)?ggplot()?并創(chuàng)建具有置信區(qū)間的系數(shù)散點(diǎn)圖。我不想繪制截距,因此會(huì)將其從代碼流中過濾掉。

我們用errorbar添加置信區(qū)間。

  1. fdpynd %>%

  2. mutate_if%>%

  3. filter %>%

  4. ggplot+

  5. geom_point +

  6. geom_errorbar +

  7. labs +

  8. theme_minimal +

  9. theme

這里的結(jié)果是可以預(yù)測(cè)的,因?yàn)榕c CAPM 一樣,我們正在回歸一個(gè)包含 3 個(gè)因素的市場(chǎng)的投資組合,其中一個(gè)是市場(chǎng)。因此,市場(chǎng)因素在該模型中占主導(dǎo)地位,而其他兩個(gè)因素的置信區(qū)間為零。

最受歡迎的見解

1.R語言對(duì)S&P500股票指數(shù)進(jìn)行ARIMA + GARCH交易策略

2.R語言改進(jìn)的股票配對(duì)交易策略分析SPY—TLT組合和中國(guó)股市投資組合

3.R語言時(shí)間序列:ARIMA GARCH模型的交易策略在外匯市場(chǎng)預(yù)測(cè)應(yīng)用

4.TMA三均線期指高頻交易策略的R語言實(shí)現(xiàn)

5.r語言多均線量化策略回測(cè)比較

6.用R語言實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)股票實(shí)例

7.r語言預(yù)測(cè)波動(dòng)率的實(shí)現(xiàn):ARCH模型與HAR-RV模型

8.R語言如何做馬爾科夫轉(zhuǎn)換模型markov switching model

9.matlab使用Copula仿真優(yōu)化市場(chǎng)風(fēng)險(xiǎn)


拓端tecdat|R語言Fama French (FF) 三因子模型和CAPM多因素?cái)U(kuò)展模型分析股票市場(chǎng)投資的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
苗栗市| 高青县| 谷城县| 上栗县| 苍山县| 焉耆| 左云县| 平遥县| 伽师县| 泸定县| 长沙县| 昆山市| 吉木萨尔县| 乌兰县| 沅陵县| 阿拉善左旗| 汤阴县| 长春市| 富民县| 兴国县| 民丰县| 邵阳县| 安平县| 孝感市| 江西省| 霍城县| 缙云县| 加查县| 福州市| 榕江县| 保定市| 蕲春县| 乐都县| 康平县| 滨州市| 宣城市| 阳朔县| 师宗县| 贺兰县| 巴马| 姚安县|