AKShare
AKShare是一个开源财经数据接口库,所采集的数据皆来自公开的数据源,本文目的是当上市公司发布财报时,在同花顺上获取其关键指标并输出摘要,可以用来写行研的日报等。
选择AKShare的原因:免费且能迅速获得数据,tushare、baostock等库一般不能获得当天发的财报数据,而AKShare可以获得各大权威财经网站的数据。
安装akshare库后,导入所需库:
import akshare as ak
import tkinter as tk
from tkinter import messagebox
这里只获取同花顺上的关键财务指标数据(akshare关键指标有新浪和同花顺两个网站的,新浪可以获得int数据,但是更新较慢),目标网址:中兴通讯(000063) 财务概况_F10_同花顺金融服务网 (10jqka.com.cn)
注意到数据都是带单位的,不过都保留了两位小数,可以用于摘要,首先写下处理数据的函数:
def remove_unit(money): # 去除单位部分,转化为元
if money[-2:] == "万亿":
money = float(money.replace("万亿", "")) * 1000000000000
elif money[-1] == "亿":
money = float(money.replace("亿", "")) * 100000000
elif money[-1] == "万":
money = float(money.replace("万", "")) * 10000
else:
money = float(money)
return money
def get_unit(money): # 将元转为为亿元或万元或万亿元
if abs(money) > 1000000000000:
scale = 1e-12
result = f"{money * scale:,.2f}万亿元"
elif abs(m