量化學習 | Tushare 基本面選股 (二)


量化投資比較重要的是策略,可是你得先選個好股,價值投資需要認同他的價值,值得投資的股票才有投資的機會,現在簡單介紹一下基於基本面的選股,其實我現實生活中也有炒股,都是經驗之說的選股原則。

首先從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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM