<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          相當(dāng)好用!教你如何使用Eiten做A股投資組合優(yōu)化

          共 5232字,需瀏覽 11分鐘

           ·

          2023-10-16 02:25

          866fe7afce229d1525d8bea68f9a7ae1.webp

          上一篇文章:《Eiten 一個(gè)構(gòu)建美股投資組合的好幫手》中,我們講解了Eiten這一個(gè)開(kāi)源工具包,以及如何使用它來(lái)構(gòu)建美股的投資組合。

          所謂的投資組合優(yōu)化,就是決定你的股票池的權(quán)重分配比例,這一步是在選股完畢之后進(jìn)行的。關(guān)于選股,你可以閱讀我們之前的文章:量化投資單因子回測(cè)神器 — Alphalens。

          本篇文章我們將介紹如何使用Eiten做A股的投資組合優(yōu)化,文中的股票都是隨機(jī)選取的,請(qǐng)勿參考。

          1.準(zhǔn)備


          開(kāi)始之前,你要確保Python和pip已經(jīng)成功安裝在電腦上,如果沒(méi)有,可以訪問(wèn)這篇文章:超詳細(xì)Python安裝指南 進(jìn)行安裝。

          (可選1) 如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda:Python數(shù)據(jù)分析與挖掘好幫手—Anaconda,它內(nèi)置了Python和pip.

          (可選2)  此外,推薦大家用VSCode編輯器,它有許多的優(yōu)點(diǎn): Python 編程的最好搭檔—VSCode 詳細(xì)指南 。

          請(qǐng)選擇以下任一種方式輸入命令安裝依賴
          1. Windows 環(huán)境 打開(kāi) Cmd (開(kāi)始-運(yùn)行-CMD)。
          2. MacOS 環(huán)境 打開(kāi) Terminal (command+空格輸入Terminal)。
          3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.

                
                  git clone https://github.com/tradytics/eiten.git
          cd eiten
          pip install -r requirements.txt
          pip install yfinance --upgrade --no-cache-dir

          目錄結(jié)構(gòu)如下:

          路徑 描述
          eiten 主目錄
          └  figures 倉(cāng)庫(kù)用到的圖表(無(wú)需關(guān)注)
          └  stocks 你的用于創(chuàng)建投資組合的股票列表
          └  strategies python編寫的策略代碼
          backtester.py 回測(cè)模塊
          data_loader.py 數(shù)據(jù)加載工具
          portfolio_manager.py 生成投資組合的代碼
          simulator.py 使用歷史回報(bào)生成投資組合的模擬器
          strategy_manager.py 策略管理器

          2.使用方法—A股


          把你想要構(gòu)建投資組合的候選股票列表寫入 stocks/stocks.txt 中。A股的股票代碼形式如下:

          上海市場(chǎng),股票代碼后綴加 .SS, 如: 600519.SS 及 688111.SS

          深圳市場(chǎng),股票代碼后綴加 .SZ 如: 000858.SZ 及 300498.SZ

          比如我在 stocks/stocks.txt 中放入以下10只股票(隨機(jī)選取的,請(qǐng)勿參考)進(jìn)行投資組合優(yōu)化:

                
                  600519.SS
          601318.SS
          600036.SS
          000858.SZ
          601012.SS
          000333.SZ
          600276.SS
          002415.SZ
          601166.SS
          601888.SS

          在終端輸入以下命令運(yùn)行,試試效果:

                
                  python portfolio_manager.py --is_test 1 --future_bars 20 --data_granularity_minutes 3600 --history_to_use 250 --apply_noise_filtering 1 --only_long 1 --eigen_portfolio_number 3 --stocks_file_path stocks/stocks.txt
                
              

          參數(shù)說(shuō)明:

          is_test: 該值決定了程序是否要保留一些數(shù)據(jù)用于未來(lái)的測(cè)試。當(dāng)這個(gè)值為True時(shí),future_bars的值應(yīng)該大于5。

          future_bars: 構(gòu)建投資組合時(shí)將排除的最近n條K線。這也被稱為樣本外的數(shù)據(jù)。

          data_granularity_minutes: 你想什么頻率的數(shù)據(jù)來(lái)建立你的投資組合。對(duì)于長(zhǎng)期投資組合,你應(yīng)該使用每日數(shù)據(jù)(3600),但對(duì)于短期策略,你可以使用分鐘的數(shù)據(jù)(60、30、15、5、1)。

          history_to_use: 是使用特定數(shù)量的數(shù)據(jù)還是使用我們從雅虎財(cái)經(jīng)下載的所有數(shù)據(jù)。對(duì)于分鐘級(jí)別的數(shù)據(jù),我們只下載了一個(gè)月的歷史數(shù)據(jù)。對(duì)于日線,我們下載了5年的歷史數(shù)據(jù)。如果你想使用所有可用的數(shù)據(jù),該值應(yīng)該是 all,但如果你想使用較小的數(shù)據(jù)量,你可以將其設(shè)置為一個(gè)整數(shù),例如100,這將只使用最后100條k線來(lái)建立投資組合。在本文例子中,我們只用250條K線,因?yàn)檠呕⒇?cái)經(jīng)上滬深300指數(shù)只保存了1年半的數(shù)據(jù)。

          apply_noise_filtering: 它使用隨機(jī)矩陣?yán)碚搧?lái)過(guò)濾掉隨機(jī)性的協(xié)方差矩陣,從而產(chǎn)生更好的投資組合。值為1將啟用它。

          market_index: 你想用哪個(gè)指數(shù)來(lái)作為你的投資組合的基準(zhǔn)值, 這里我使用了滬深300指數(shù)(000300.SS)。

          only_long: 是否只做多。

          eigen_portfolio_number: 針對(duì)Eigen策略,數(shù)字越小,風(fēng)險(xiǎn)和回報(bào)都會(huì)降低。

          stocks_file_path: 你想用來(lái)建立投資組合的股票列表。

          執(zhí)行后首先你會(huì)在終端中看到輸出的所有策略給每只股票分配的權(quán)重:

          上滑查看更多代碼

                              
                                  
                                    -------- Weights for Eigen Portfolio --------
          Symbol: 000333.SZ, Weight: 0.3399
          Symbol: 000858.SZ, Weight: 0.0496
          Symbol: 002415.SZ, Weight: -0.0787
          Symbol: 600036.SS, Weight: 0.3179
          Symbol: 600276.SS, Weight: 0.1612
          Symbol: 600519.SS, Weight: 0.0292
          Symbol: 601012.SS, Weight: 0.7539
          Symbol: 601166.SS, Weight: 0.3149
          Symbol: 601318.SS, Weight: 0.2433
          Symbol: 601888.SS, Weight: -1.1312

          -------- Weights for Minimum Variance Portfolio (MVP) --------
          Symbol: 000333.SZ, Weight: -0.0335
          Symbol: 000858.SZ, Weight: -0.0812
          Symbol: 002415.SZ, Weight: 0.1281
          Symbol: 600036.SS, Weight: -0.2021
          Symbol: 600276.SS, Weight: 0.0767
          Symbol: 600519.SS, Weight: 0.2759
          Symbol: 601012.SS, Weight: 0.1913
          Symbol: 601166.SS, Weight: 0.3773
          Symbol: 601318.SS, Weight: 0.3735
          Symbol: 601888.SS, Weight: -0.1058

          -------- Weights for Maximum Sharpe Portfolio (MSR) --------
          Symbol: 000333.SZ, Weight: 1.6382
          Symbol: 000858.SZ, Weight: 0.1264
          Symbol: 002415.SZ, Weight: 1.0846
          Symbol: 600036.SS, Weight: -0.5394
          Symbol: 600276.SS, Weight: 0.2878
          Symbol: 600519.SS, Weight: -1.3160
          Symbol: 601012.SS, Weight: 0.4310
          Symbol: 601166.SS, Weight: 0.7743
          Symbol: 601318.SS, Weight: -1.2865
          Symbol: 601888.SS, Weight: -0.2004

          -------- Weights for Genetic Algo (GA) --------
          Symbol: 000333.SZ, Weight: -0.1276
          Symbol: 000858.SZ, Weight: -0.8724
          Symbol: 002415.SZ, Weight: -1.0129
          Symbol: 600036.SS, Weight: -1.5845
          Symbol: 600276.SS, Weight: -0.3169
          Symbol: 600519.SS, Weight: 1.7996
          Symbol: 601012.SS, Weight: 0.0641
          Symbol: 601166.SS, Weight: 0.9515
          Symbol: 601318.SS, Weight: 0.4069
          Symbol: 601888.SS, Weight: 0.2969
          fdf1749248d8fd2f89125cfabe711bd0.webp

          第二張圖,你能看到每個(gè)策略的回測(cè)效果,可以看到,這10只股票的組合,使用GA策略的效果會(huì)比滬深300好一點(diǎn):

          866fe7afce229d1525d8bea68f9a7ae1.webp

          @公眾號(hào): 二七阿爾量化

          第三張圖,我們?cè)O(shè)定了最后20個(gè)交易日用于測(cè)試,這是測(cè)試結(jié)果,由于近期市場(chǎng)處于下跌趨勢(shì),這10只股票也產(chǎn)生了劇烈波動(dòng),效果一般。

          ebd919b967154754d50045de04872ee9.webp

          第四張圖是對(duì)未來(lái)的一個(gè)預(yù)估,沒(méi)有太大參考性。

          b5864d48f81b17c715b3217bc3cbab0d.webp

          3.四種策略的原理


          可以看到輸出的報(bào)告中包含了4種策略:

          Eigen Portfolios 特征投資組合 (藍(lán)色)

          這些投資組合通常與市場(chǎng)相關(guān)性較低,會(huì)產(chǎn)生相對(duì)的高回報(bào)和阿爾法。然而,由于它們與市場(chǎng)相關(guān)性不高,它們也可能帶來(lái)很大的風(fēng)險(xiǎn)。數(shù)字越小,風(fēng)險(xiǎn)和回報(bào)都會(huì)降低。

          Minimum Variance Portfolio (MVP) 最小方差投資組合 (橙色)

          MVP 試圖最小化投資組合的收益方差。這些投資組合的風(fēng)險(xiǎn)和回報(bào)最低。

          Maximum Sharpe Ratio Portfolio (MSR) 最大夏普比率投資組合 (綠色)

          MSR 試圖最大化投資組合的夏普比率。它在優(yōu)化過(guò)程中使用過(guò)去的回報(bào),這意味著如果過(guò)去的回報(bào)與未來(lái)的回報(bào)不同,那么未來(lái)的結(jié)果可能會(huì)有所不同。

          Genetic Algorithm (GA) based Portfolio 基于遺傳算法 (GA) 的投資組合 (紅色)

          這是 Eiten 模塊內(nèi)實(shí)現(xiàn)的基于 GA 的投資組合。通常能提供比其他策略更強(qiáng)大的投資組合。

          我們的文章到此就結(jié)束啦,如果你喜歡今天的量化投資內(nèi)容,請(qǐng)持續(xù)關(guān)注二七阿爾量化。

          有任何問(wèn)題,可以在公眾號(hào)后臺(tái)回復(fù):加群,回答相應(yīng)紅字驗(yàn)證信息,進(jìn)入互助群詢問(wèn)。

          希望你能在下面點(diǎn)個(gè)贊和在看支持我繼續(xù)創(chuàng)作,謝謝!

          歡迎關(guān)注公眾號(hào):二七阿爾量化

          瀏覽 124
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产在线综合视频 | 色舞AⅤ网 | 欧洲色图亚洲色图 | 搜一搜小美女操逼 | 亚洲无码不卡手机免费观看 |