开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第30天,点击查看活动详情
Tushare
Tushare是一个免费、开源的python财经数据接口包。主要实现对股票等金融数据从数据采集、清洗加工 到 数据存储的过程 tushare.org/index.html
安装所需库Tushare
python中除了内置库,第三方模块都需要安装后才能使用;
安装方式推荐有很多种,推荐使用pip;
pip 是 Python 的包安装程序。其实,pip 就是 Python 标准库(The Python Standard Library)中的一个包,只是这个包比较特殊,用它可以来管理 Python 标准库(The Python Standard Library)中其他的包。pip 是一个命令行程序。 安装 pip 后,会向系统添加一个 pip 命令,该命令可以从命令提示符运行。
安装pip:
-
安装python; 这个是必须安装的;
-
下载pip:
官网地址:pypi.org/project/pip…; 下载完毕后,解压
-
打开命令行窗口,进入到pip解压后的目录;执行代码
python3 setup.py install
进行安装, 安装完成后,将pip加入到系统环境变量中 -
验证 打开命令行窗口,输入pip list 或者pip3 list
以上只针对于windows系统,其他系统也可以参考;
-
安装所需库: 打开命令行窗口,输入执行以下代码,并回车
pip install tushare
等待提示第三库安装成功既可;
代码实现:
使用tushare获取一只股票信息:
import tushare as ts
def getInfo(code):
df = ts.get_realtime_quotes(code)[['name','price','pre_close','date','time']]
return df
#print(df)
判断是否是交易时间:
def pd_jytime():
now_t = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print(now_t)
now_dt = datetime.datetime.strptime(now_t, '%Y-%m-%d %H:%M:%S')
print(now_dt)
d1 = datetime.datetime.strptime(datetime.datetime.now().strftime('%Y-%m-%d') + ' 11:30:01', '%Y-%m-%d %H:%M:%S')
d2 = datetime.datetime.strptime(datetime.datetime.now().strftime('%Y-%m-%d') + ' 13:00:00', '%Y-%m-%d %H:%M:%S')
delta1 = (now_dt - d1).total_seconds()
print(d1,d2)
delta2 = (d2-now_dt).total_seconds()
if delta1>0 and delta2>0 :
return False
else:
return True
通过以上两个函数,组装股票信息
if pd_jytime():
print("在交易时间内")
info = getInfo(code)
now_price=float(info['price'][0]) #获取现价
name=info['name'][0] #获取证券名称
pre_close=float(info['pre_close'][0]) #获取昨日收盘价
day_date=info['date'][0] #获取现价对应的日期
day_time=info['time'][0] #获取价格对应的时间
#计算涨跌幅度
now_zd=round((now_price-pre_close)/pre_close*100,2) #计算现在的涨跌幅
all_zd=round((now_price-buy_price)/buy_price*100,2) #计算股票持有期间内总的涨跌幅,其中cbj为购买时候的成本价,需要约定全局变量
now_sz=round(buy_num*now_price,2) #计算股票现在的市值
yk=round(now_sz-buy_price*buy_num,2) #计算股票现在总的盈亏