一、概述

众所周知,A股有好几千家上市公司,那么靠人工手动去分析查看一家家公司显然是下下策,在这里,我给大家介绍一下使用tushare分析股票的方法。

使用工具来分析股票,可以帮我们快速的筛选符合我们条件的上市公司,让我们可以集中精力,大大提高分析效率,增加赚钱的几率,好了,废话不多说,下面是满满的干货。

二、接口使用

1、获取股票列表

import tushare as ts
#token从自己账号中获取
ts.set_token("*****************")
global pro
pro = ts.pro_api()

def getBasic():
    df = pro.stock_basic(exchange='', list_status='L', fields='ts_code,symbol,name,area,industry,list_date')
  
getBasic()

在这里插入图片描述
2、获取成交量

#获取贵州茅台在2021年2月26日的成交量信息
df = pro.daily(ts_code='600519.SH', trade_date='20210226')
vol = df.iat[0, 9]

3、获取最新的股东人数

df = pro.stk_holdernumber(ts_code='600519.SH', end_date='20210226')
num = df.loc[0, ['holder_num']][0]

三、分析案例

好了,简单的接口使用方式给大家看了几个,下面开始介绍一两个实用分析方式

1、在众多公司中,市值和价格不一,有些人偏爱大市值或者高价股,那我便给大家实现以下这两个筛选方法

df = pro.daily_basic(trade_date='20210226')
for index, row in df.iterrows():
    ts_code = df.loc[index, ['ts_code']][0]
    #获取成交量(单位:万元)
    total_mv = df.loc[index, ['total_mv']][0]
    #筛选市值大于2000亿的公司
    if total_mv > 20000000:
        print(ts_code + "   " + str(total_mv))
    #获取最新的收盘价
    close = df.loc[index, ['close'][0]]
    #筛选股价大于500的公司
    if close > 500:
        print(ts_code + "   " + str(close))

2、还有一些使用均线筛选股票的方法

#筛选股价连续10日在30日均线上方的股票
df = ts.pro_bar(ts_code='600519.SH', adj='qfq', start_date="20190101", end_date="20210226",
                    ma=[5, 10, 20, 30, 60, 120, 250])
count = 0
for index, rows in df.iterrows():
    count = count + 1
    close = df.loc[index, ['close']][0]
    ma30 = df.loc[index, ['ma30']][0]
    if close < ma30:
        break
    if count >= 10:
        print("收盘价连续10日在30日均线上方")
    else:
        print("收盘价未连续10日在30日均线上方")

如果对python分析股票有感兴趣的童鞋,可以持续关注我,大家一起交流赚钱!!!

Logo

加入社区!打开量化的大门,首批课程上线啦!

更多推荐