日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

pe估值 python_Python编程学习笔记(8)

發(fā)布時間:2025/3/20 python 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pe估值 python_Python编程学习笔记(8) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

書接上回,上節(jié)我們定義了一個獲取某個指數(shù)某日的PE數(shù)值的函數(shù)。下面要做的就是得到這個函數(shù)的時間序列,然后計算出這個時間序列中每天的PE數(shù)值,最后就可以用圖形進行展示了。

這個方法和前文中的方法一樣,我們照貓畫虎就可以了。

df = get_price('000016.XSHG', start_date='2014-01-01', end_date='2019-09-01', fields=['close'], fq='pre')#給df添加一列,列名PE,先賦值0.00df.loc[:,"PE"]=0.00ltIndex = df.indexi = 0;for irow in ltIndex: strdate = irow.strftime('%Y-%m-%d') fPE = get_index_value_date('000016.XSHG' , strdate) df.iloc[i,1] = fPE i = i + 1print(df)

000016.XSHG就是上證50指數(shù)的代碼,我們這次計算的就是上證50指數(shù)2014年1月1日到2019年9月1日的每天的PE數(shù)值。

我們定義的函數(shù)get_index_value_date用在了for循環(huán)中,注意,for循環(huán)中有個日期格式的轉(zhuǎn)換問題。因為我們定義的函數(shù)中的日期其類型是string類型,而在ltIndex中的日期不是string類型,而是日期類型的,所以不能直接作為參數(shù)用在我們的函數(shù)中。strdate = irow.strftime('%Y-%m-%d')的意思就是把irow這個日期類型的日期轉(zhuǎn)換成字符串類型的日期。這種不用變量之間類型的轉(zhuǎn)換是編程中進場需要用到的,比如int類型轉(zhuǎn)字符串類型,字符串類型轉(zhuǎn)float等等。這種小技巧的學(xué)習(xí),不用刻意,用到了就去百度學(xué)習(xí)。比如你在百度中輸入“python 日期類型轉(zhuǎn)換”,你就能看到N多這方面的帖子,看看人家是怎么寫的,直接copy過來用就行了。

下面再加入圖形顯示代碼即可

#設(shè)置畫布大小plt.figure(figsize=(10,5))#設(shè)置圖標(biāo)標(biāo)題plt.title('上證50PE', fontsize=14)plt.plot(df['PE'])plt.legend()plt.show()

整個程序的完整代碼如下

import datetimeimport matplotlib.pyplot as pltdef get_index_value_date(index_code , date): stocks = get_index_stocks(index_code , date) q = query( valuation.pe_ratio , valuation.market_cap ).filter( valuation.code.in_(stocks) ) df = get_fundamentals(q, date) sum_p = sum(df.market_cap) sum_e = sum(df.market_cap / df.pe_ratio) pe = sum_p / sum_e return pedf = get_price('000016.XSHG', start_date='2014-01-01', end_date='2019-09-01', fields=['close'], fq='pre')#給df添加一列,列名PE,先賦值0.00df.loc[:,"PE"]=0.00ltIndex = df.index#print(df)now_time = datetime.datetime.now()print(now_time)i = 0;for irow in ltIndex: strdate = irow.strftime('%Y-%m-%d') fPE = get_index_value_date('000016.XSHG' , strdate) df.iloc[i,1] = fPE i = i + 1now_time = datetime.datetime.now()print(now_time)print(df)#設(shè)置畫布大小plt.figure(figsize=(10,5))#設(shè)置圖標(biāo)標(biāo)題plt.title('上證50PE', fontsize=14)plt.plot(df['PE'])plt.legend()plt.show()

代碼中for循環(huán)前后我加入了這段代碼

now_time = datetime.datetime.now()print(now_time)

他的用處是打印顯示這個for循環(huán)開始和結(jié)束的時間。因為我們這次需要調(diào)取5年多每天的數(shù)據(jù),聚寬的函數(shù)調(diào)用需要時間,我需要看看程序運行了多久。

最終結(jié)果如下

從時間打印結(jié)果看,這個程序運行費時44秒。為了驗證我們計算的指數(shù)PE和其他網(wǎng)站提供的PE圖形是否一致,我比對了2014年9月22日-2019年9月20日,我計算的圖形和雪球網(wǎng)提供的上證50PE圖形。

非常perfect!現(xiàn)在,我們只需要改變一下程序中的指數(shù)代碼和時間段,就可以得到任一指數(shù)任何時間段(前提是聚寬的數(shù)據(jù)庫要支持啊)的PE走勢圖了。比如滬深300、中證500、中證消費等等。從此,看指數(shù)估值再也不用求人了。

總結(jié)

以上是生活随笔為你收集整理的pe估值 python_Python编程学习笔记(8)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。