量化投資比較重要的是策略,可是你得先選個好股,價值投資需要認同他的價值,值得投資的股票才有投資的機會,現在簡單介紹一下基於基本面的選股,其實我現實生活中也有炒股,都是經驗之說的選股原則。
首先從tushare中獲取每日指標 pro.daily_basic
last_year = '20190101'
start_date = '20200313'
mytoken='your_token'
ts.set_token(mytoken)
pro = ts.pro_api()
df = pro.daily_basic(ts_code='', trade_date=start_date, fields='ts_code,trade_date,turnover_rate,volume_ratio,pe,pb')
P.S. 用戶需要至少300積分才可以調取,我是學生進了官方群之后管理員幫我升級到了2000積分,所以大部分接口我都能使用。歡迎大家在我的鏈接下注冊會送我積分:
https://tushare.pro/register?reg=355247
首先我們篩選PE為15以下的,PB為7一下的股票:
- PE是每股股價除以每股收益。如果股價是10元/股,每股收益是1元,PE就相當於10倍,你買這家公司的價錢相當於付出這家公司每年盈利的倍數。一般30以下才覺得可以接受。
- PB是每股股價除以每股凈資產的倍數。如果股價是10元/股,凈資產是5元/股,PB就是2倍,也相當於付出的是這個公司凈資產的2倍。一般8以下可以接受,我這里調整成小一些,因為最近跌幅挺大的,所以很多公司跌破凈資產。
PE_T = 15
PB_T = 1
df_choose = df[(df.pe<=PE_T)&(df.pb<=PB_T)]
符合條件的有198只股票,接着我們篩選一下近期公布的收益
收益可以通過pro.income接口查詢:
income = []
for c in df_choose.ts_code:
df_income = pro.income(ts_code=c,start_date=last_year,end_date=start_date,fields='ts_code,ann_date,f_ann_date,end_date,report_type,comp_type,basic_eps,diluted_eps')
income.append(df_income['basic_eps'].iloc[0])
df_choose['basic_eps']=income
df_choose_good = df_choose[df_choose.basic_eps>1.0]
print(len(df_choose_good))
收益大於1.0的股票df_choose_good中含有23只股票
接着我想得出這些這些股票代碼的股票名字,可以查詢這個接口pro.stock_basic ,並且我存下該表格。
data_path = './data/'
if not os.path.exists(data_path):
os.makedirs(data_path)
csv_name = f'allname_data.csv'
csv_path = os.path.join(data_path,csv_name)
data = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
data.to_csv(csv_path, index=False)
data[data.ts_code.isin(df_choose_good.ts_code)]
ts_code | symbol | name | area | industry | list_date | |
---|---|---|---|---|---|---|
33 | 000042.SZ | 000042 | 中洲控股 | 深圳 | 全國地產 | 19940921 |
97 | 000501.SZ | 000501 | 鄂武商A | 湖北 | 百貨 | 19921120 |
480 | 002024.SZ | 002024 | 蘇寧易購 | 江蘇 | 電器連鎖 | 20040721 |
583 | 002128.SZ | 002128 | 露天煤業 | 內蒙 | 煤炭開采 | 20070418 |
600 | 002146.SZ | 002146 | 榮盛發展 | 河北 | 全國地產 | 20070808 |
2201 | 600000.SH | 600000 | 浦發銀行 | 上海 | 銀行 | 19991110 |
2211 | 600016.SH | 600016 | 民生銀行 | 北京 | 銀行 | 20001219 |
2247 | 600064.SH | 600064 | 南京高科 | 江蘇 | 園區開發 | 19970506 |
2356 | 600188.SH | 600188 | 兗州煤業 | 山東 | 煤炭開采 | 19980701 |
2564 | 600449.SH | 600449 | 寧夏建材 | 寧夏 | 水泥 | 20030829 |
2770 | 600694.SH | 600694 | 大商股份 | 遼寧 | 百貨 | 19931122 |
2773 | 600697.SH | 600697 | 歐亞集團 | 吉林 | 百貨 | 19931206 |
2919 | 600859.SH | 600859 | 王府井 | 北京 | 百貨 | 19940506 |
2964 | 600919.SH | 600919 | 江蘇銀行 | 江蘇 | 銀行 | 20160802 |
2965 | 600926.SH | 600926 | 杭州銀行 | 浙江 | 銀行 | 20161027 |
3034 | 601088.SH | 601088 | 中國神華 | 北京 | 煤炭開采 | 20071009 |
3062 | 601186.SH | 601186 | 中國鐵建 | 北京 | 建築工程 | 20080310 |
3076 | 601229.SH | 601229 | 上海銀行 | 上海 | 銀行 | 20161116 |
3111 | 601577.SH | 601577 | 長沙銀行 | 湖南 | 銀行 | 20180926 |
3134 | 601677.SH | 601677 | 明泰鋁業 | 河南 | 鋁 | 20110919 |
3157 | 601828.SH | 601828 | 美凱龍 | 上海 | 其他商業 | 20180117 |
3158 | 601838.SH | 601838 | 成都銀行 | 四川 | 銀行 | 20180131 |
3201 | 601997.SH | 601997 | 貴陽銀行 | 貴州 | 銀行 | 20160816 |
這個就是選出來的股,看來銀行最近跌得挺厲害的,看好銀行在后期反彈。
ts_code | symbol | name | area | industry | list_date | |
---|---|---|---|---|---|---|
0 | 000001.SZ | 1 | 平安銀行 | 深圳 | 銀行 | 19910403 |
140 | 000553.SZ | 553 | 安道麥A | 湖北 | 農葯化肥 | 19931203 |
272 | 000732.SZ | 732 | 泰禾集團 | 福建 | 區域地產 | 19970704 |
2201 | 600000.SH | 600000 | 浦發銀行 | 上海 | 銀行 | 19991110 |
2210 | 600015.SH | 600015 | 華夏銀行 | 北京 | 銀行 | 20030912 |
2356 | 600188.SH | 600188 | 兗州煤業 | 山東 | 煤炭開采 | 19980701 |
2522 | 600383.SH | 600383 | 金地集團 | 深圳 | 全國地產 | 20010412 |
2608 | 600508.SH | 600508 | 上海能源 | 上海 | 煤炭開采 | 20010829 |
2770 | 600694.SH | 600694 | 大商股份 | 遼寧 | 百貨 | 19931122 |
2852 | 600782.SH | 600782 | 新鋼股份 | 江西 | 普鋼 | 19961225 |
2919 | 600859.SH | 600859 | 王府井 | 北京 | 百貨 | 19940506 |
3016 | 601009.SH | 601009 | 南京銀行 | 江蘇 | 銀行 | 20070719 |
3057 | 601166.SH | 601166 | 興業銀行 | 福建 | 銀行 | 20070205 |
3076 | 601229.SH | 601229 | 上海銀行 | 上海 | 銀行 | 20161116 |
3157 | 601828.SH | 601828 | 美凱龍 | 上海 | 其他商業 | 20180117 |
3201 | 601997.SH | 601997 | 貴陽銀行 | 貴州 | 銀行 | 20160816 |