用Python分析公開數據選出高送轉預期股票

ITLMau 8年前發布 | 14K 次閱讀 Python Python開發

上周五,永和智控公布了高送轉預案,開盤漲停并直至收盤,打響了2016年報高送轉的第一槍,一些具備高送轉預期的個股也紛紛上漲,再次啟動了高送轉行情。

根據以往的經驗,每年年底都會有一波高送轉預期行情。今天,米哥就帶大家實踐一下如何利用tushare實現高送轉預期選股。

本文主要是講述選股的思路方法,選股條件和參數大家可以根據米哥提供的代碼自行修改。

1. 選股原理

一般來說,具備高送轉預期的個股,都具有總市值低、每股公積金高、每股收益大,流通股本少的特點。當然,也還有其它的因素,比如當前股價、經營收益變動情況、以及以往分紅送股習慣等等。

這里我們暫時只考慮每股公積金、每股收益、流通股本和總市值四個因素,將公積金大于等于5元,每股收益大于等于5毛,流通股本在3億以下,總市值在100億以內作為高送轉預期目標(這些參數大家可根據自己的經驗隨意調整)。

2. 數據準備

首先要導入tushare:

import tushare as ts

調取股票基本面數據和行情數據

# 基本面數據
basic = ts.get_stock_basics()

# 行情和市值數據
hq = ts.get_today_all()

3. 數據清洗整理

對獲取到的數據進行清洗和整理,只保留需要的字段。(其它字段及含義,請參考 http:// tushare.org 文檔)

#當前股價,如果停牌則設置當前價格為上一個交易日股價
hq['trade'] = hq.apply(lambda x:x.settlement if x.trade==0 else x.trade, axis=1)

#分別選取流通股本,總股本,每股公積金,每股收益
basedata = basic[['outstanding', 'totals', 'reservedPerShare', 'esp']]

#選取股票代碼,名稱,當前價格,總市值,流通市值
hqdata = hq[['code', 'name', 'trade', 'mktcap', 'nmc']]

#設置行情數據code為index列
hqdata = hqdata.set_index('code')

#合并兩個數據表
data = basedata.merge(hqdata, left_index=True, right_index=True)

4. 選股條件

根據上文提到的選股參數和條件,我們對數據進一步處理。

將總市值和流通市值換成億元單位
data['mktcap'] = data['mktcap'] / 10000
data['nmc'] = data['nmc'] / 10000

設置參數和過濾值(此次各自調整)

#每股公積金>=5
res = data.reservedPerShare >= 5
#流通股本<=3億
out = data.outstanding <= 30000
#每股收益>=5毛
eps = data.esp >= 0.5
#總市值<100億
mktcap = data.mktcap <= 100

取并集結果:

allcrit = res & out & eps & mktcap
selected = data[allcrit]

具有高送轉預期股票的結果呈現:

以上字段的含義分別為:股票名稱、收盤價格、每股公積金、流通股本、每股收益(應該為eps,之前發布筆誤)、總市值和流通市值。

 

 

 

來自:https://zhuanlan.zhihu.com/p/23829205

 

 本文由用戶 ITLMau 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!