pe估值 python_Python编程学习笔记(7)
歡迎關注我的公眾號【小散逆襲大本營】
學到目前這個程度,我們已經可以畫出個股的PE和PB曲線圖了。但是我們知道,對于個股來說,PE或者PB的參考價值很有限,不同類型企業,其PE的市場認可程度是不同。我們幾乎不可能通過僅僅判斷個股的PE和PB來做出一個像樣的量化交易策略。
不過對于指數而言,特別是寬基指數(滬深300之類的),其歷史PE和PB值的參考價值就非常大了。我在《小散逆襲手把手教你做量化定投》這本書中已經做了示范,指數的PB可以說是一把不錯的衡量該指數估值高低的尺子。
那么我們下面就在聚寬中,用python來做出一個指數的PE走勢圖吧。
小目標三:
計算出上證50指數過去10年每天的PE數值,并畫出走勢圖。
拿到問題后,首先需要思考解決問題的思路。有一點可以明確,聚寬中并沒有提供指數的PE數據獲取函數,我們只能自己計算。那么先從簡單的情況入手,怎么計算出一天的上證50指數PE數值呢?
我們先得知道,指數的PE數值是怎么計算的。嚴格來說,應該參照中證網的計算規則進行計算,但是分類靠檔的計算很復雜,所以目前比較通用的近似計算公式就是PE = 成份股市值之和÷成份股凈利潤之和。比如我要計算9月10日上證50的PE,就得知道當天上證50指數的成份股有哪些,然后計算出這些成份股的總市值之和,再算出成份股的凈利潤之和,二者一除就是當天的指數PE了。
獲取某個指數成份股,聚寬已經提供了函數,如下
這個函數的使用很簡單,大家自己練習一下就清楚了。
成份股有了,下面就需要得到每個成份股的總市值和凈利潤了。這里有個問題需要說明一下。市盈率有兩種,一種叫靜態市盈率,一種叫滾動市盈率。靜態市盈率=當前股價÷上一財年的每股收益。滾動市盈率=當前股價÷過去四個季度每股收益。顯然,滾動收益率更能有效的反應股票當前的PE水平。所以,一般情況下,我們都默認市盈率為滾動市盈率(PE(TTM))。
在聚寬的財務函數中沒有直接能獲取過去四個季度凈利潤的函數,但是可以獲取個股的PE(TTM)和總市值,那么通過這兩個數據可以計算出過去四個季度的凈利潤。
這樣,計算指數某天的PE數值具體實現如下
為了后面計算方便,我把這個功能定義為一個函數,指數代碼和日期都是參數。(這里我要感謝一位群友(ID:I20181129),他給了我一段代碼,我稍加修改就成了上面這個代碼。他的這個代碼比我之前自己弄的效率高出很多很多,大大縮減了計算時間。)我試驗了一下上證50指數9月10日的PE數值,計算出的結果和雪球網公布的是一樣的。
好了,今天就寫到這里。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的pe估值 python_Python编程学习笔记(7)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL表级约束和列级约束
- 下一篇: python循环函数怎么改变变量_pyt