国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
利用Python和tushare查看目前股票價格及基本面的歷史情況

 Python查看目前股票估值在歷史中的位置

緣起

在價值投資中,股票目前的估值狀況在歷史上處于什么地位對于投資決策有著非常重要的參考價值。

本文利用Python來獲取某只股票的估值在歷史中處于何種位置。

(如需注冊可以考慮拉兄弟一把:https://tushare.pro/register?reg=124585 

在本文中使用了以下庫:

* numpy* pandas* matplotlib* seaborn 非必要* tushare 獲取金融數(shù)據(jù)的接口

其它庫大家應(yīng)該都比較熟悉,而Tushare(pro版本)的詳細信息請見 https://tushare.pro/

閑話不多,直接擼代碼

獲取數(shù)據(jù)及繪圖In [9]:

#各種Importimport tushare as tsimport pandas as pdimport matplotlib.pyplot as pltimport matplotlib as mplimport seaborn as sbimport numpy as npsb.set_style("whitegrid")   #繪圖樣式mpl.rcParams['font.sans-serif'] = ['SimHei']   # 指定默認字體mpl.rcParams['axes.unicode_minus'] = False    # 解決保存圖像是負號'-'顯示為方塊的問題ts.set_token('08a1f9ec134442837328a82f2f5235394d84c') #請注冊使用自己的TS key,這個key沒用pro = ts.pro_api()stock_code = '000002.SZ'  #需要查閱的股票代碼,前邊是代碼,后邊是市場,詳見Tushare說明def get_data(x):          #取得股票數(shù)據(jù)的函數(shù),包括股票價格,復權(quán)信息,基本的基本面信息    df_day = pro.daily(ts_code=x)                  #取日線行情,最新限制,只能取4000條,需要再多,用循環(huán)按日期取多次    df_adj_factor = pro.adj_factor(ts_code=x)      #取復權(quán)因子    df_basic = pro.daily_basic(ts_code=x)          #取基本面信息    del df_basic['close']                          #去掉冗余信息    #合并數(shù)據(jù)并返回    df = df_day.merge(right=df_adj_factor,how='left',on=['ts_code','trade_date'])    df = df.merge(right=df_basic,how='left',on=['ts_code','trade_date'])    return dfdef get_name(x): #返回股票名字    df = pro.namechange(ts_code=x, fields='name')    return df.iloc[0,0]def str_to_date(str): #轉(zhuǎn)換YYYYMMDD到Y(jié)YYY-MM-DD    if len(str)==8:        return str[0:4]+'-'+str[4:6]+'-'+str[6:8]   #老人家表示知道format但就愛那么干    else:        return str    title = stock_code + ' - ' + get_name(stock_code)    #顯示標題df = get_data(stock_code)                            #取得數(shù)據(jù)df['trade_date']=df['trade_date'].apply(str_to_date)  #轉(zhuǎn)換trade_date到日期類型,并設(shè)置為索引df['trade_date'] = pd.to_datetime(df['trade_date'])df.set_index('trade_date',inplace=True)#按季度做重采樣,并計算收盤價以及基本面信息period_type = 'Q' #Q季度,也可以用M月df_quote = df.resample(period_type).last()df_quote['close'] = df['close'].resample(period_type).last()df_quote['PE'] = df['pe'].resample(period_type).last()df_quote['PB'] = df['pb'].resample(period_type).last()df_quote['PS'] = df['ps'].resample(period_type).last()df_quote['adj_factor'] = df['adj_factor'].resample(period_type).last()df_quote = df_quote[df_quote['ts_code'].notnull()]df_quote['Price'] = df_quote['close']*df_quote['adj_factor'] #計算復權(quán)價df_quote.reset_index(inplace=True)                           #重置索引df = df_quote.loc[:,['trade_date','PE','PB','PS','Price']]   #取需要的列df.plot(kind='line',x='trade_date',             figsize=(15,13),title=title,             fontsize=20, subplots=True, logy=False)plt.show()




先看一下最近幾個季度的情況,由于是季線,最后的日期和當前日期有出入,本文寫在2018年10月初

df.tail()

trade_datePEPBPSPrice
622017-12-3116.30992.94631.42584264.53800
632018-03-3113.10052.76991.51304570.71700
642018-06-309.68081.99411.11803377.58000
652018-09-309.56271.98861.10443466.83240
662018-12-318.58681.78570.99173113.01576

再看一下目前估值處于歷史什么位置。

可以看出,目前市盈率,市凈率,市銷率都在25%以下,確實估值較低。

df.describe()

PEPBPSPrice
count67.00000067.00000067.0000067.000000
mean19.1056332.6263662.143391317.099314
std15.2651631.4514151.979861160.259605
min5.8942001.1589000.6580090.256450
25%10.4970501.8389501.18255316.619235
50%14.8838002.2042001.61960972.723840
75%20.8419502.7850502.033101733.848000
max90.3155008.35460011.582204570.717000

我們再看一下,目前的估值(以市盈率PE為例),和歷史上哪些時刻相當? 

可以看出,目前估值和2013-2014的熊市底部區(qū)域相當

df = df.sort_values('PE')df.head(20)

trade_datePEPBPSPrice
472014-03-315.89421.15890.6580945.50257
482014-06-306.02531.31970.67271019.65792
492014-09-306.68831.31510.74671131.85728
462013-12-317.04641.29550.8577938.49019
452013-09-308.01161.50880.97521067.05049
662018-12-318.58681.78570.99173113.01576
442013-06-308.63861.70471.05151151.19905
532015-09-308.93291.61150.96081622.40031
432013-03-319.42641.85371.14741237.53988
392012-03-319.45891.71881.2683938.72016
652018-09-309.56271.98861.10443466.83240
412012-09-309.63021.68221.2913969.55959
642018-06-309.68081.99411.11803377.58000
512015-03-319.69491.73011.04281703.95072
502014-12-3110.12721.94971.13061713.81440
402012-06-3010.17861.80231.36481010.14452
522015-06-3010.18741.80451.09581790.25792
592017-03-3110.80672.00260.94472732.65356
372011-09-3010.93011.72291.5697820.81328
382011-12-3111.27731.75141.6196846.88884

后記

投資是一個復雜系統(tǒng),本文只是針對靜態(tài)估值進行歷史數(shù)據(jù)分析。而真正決定買入某只股票還要考慮大勢、
行業(yè)、公司、周期乃至公司老總的個人感情等諸多因素,這里就不一一列舉。本文只是從技術(shù)層面給出一
個解決問題的思路,并不做任何投資建議。事實上,就目前看,很多股票估值并不是歷史低位,也不是
所有估值出于歷史低位的股票都可以買入并持有的。任何因本文導致的后果,作者不負任何法律和道義上
的責任,請諸位知悉。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Python數(shù)據(jù)分析告訴你,A股有沒有跌到位
[Python策略與安裝]基于Python的免費股票數(shù)據(jù)接口TuShare的使用
一行Python代碼實現(xiàn)交叉表數(shù)據(jù)分析
Python財經(jīng)數(shù)據(jù)接口包TuShare的使用
如何用Python中Tushare包輕松完成股票篩選(詳細流程操作)
Python量化交易:利用Tushare數(shù)據(jù)之二——神奇九轉(zhuǎn)指標策略
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服