确定股票池

from concurrent.futures import ThreadPoolExecutor
import urllib
import os
from time import sleep
import pandas as pd
# 上证代码
shanghaicode = []
for i in range(600000, 606000, 1):shanghaicode.append(str(i))# 深证代码
shenzhencode = []
for i in range(1000000, 1005000, 1):i = str(i)[1:]shenzhencode.append(i)

爬取数据

def get_data(num):url = 'http://quotes.money.163.com/service/lrb_' + str(num) + '.html'while True:try:content = urllib.request.urlopen(url, timeout=2).read()path = '利润表_multi/' + str(num) + '.csv'if os.path.exists(path):print(path + " already existed!!!")breakwith open('利润表_multi/' + str(num) + '.csv', 'wb') as f:f.write(content)print(num)sleep(1)except Exception as e:if str(e) == 'HTTP Error 404: Not Found':print(f"{num} : {e}")breakelse:print(e)

多线程运作

executor = ThreadPoolExecutor(max_workers=10)
executor.map(get_data, shenzhencode)
executor.shutdown()executor = ThreadPoolExecutor(max_workers=10)
executor.map(get_data, shanghaicode)
executor.shutdown()

读取本地数据

def generatefile(path):names = []for dirpath, dirnames, filenames in os.walk(path):names = filenamesreturn names

datapath = '利润表_multi/'
datalist = generatefile(datapath)
invest = []
for data in datalist:try:path = datapath + datatemp = pd.read_csv(path, encoding='gbk', header=None)temp = pd.DataFrame(temp.values.T, index=temp.columns, columns=temp.index)temp.columns = temp.loc[0]temp = temp[1:]temp = temp[:-1]#temp['报告日期'] = temp['报告日期'].apply(convert_date)temp = temp[['报告日期','净利润(万元)']]temp['净利润(万元)'] = temp['净利润(万元)'].astype(int)temp_g = pd.DataFrame(temp.groupby('报告日期').sum())temp_g = temp_g[:-1] # 去除2021temp_g.reset_index(inplace=True)temp_g = temp_g['净利润(万元)']anu_diff = temp_g.diff()temp_g = temp_g.values# anu_diff = anu_diff.valuestemp_g = temp_g[::-1]ratio = 0.3if len(temp_g) >= 5:# rate = anu_diff[-5:]/temp_g[-6:-1]# if rate[-1] >= ratio and rate[-2] >= ratio and rate[-3] >= ratio and rate[-4] >= ratio:#         invest.append(data)growth_anu = []for i in range(len(temp_g)):if i == (len(temp_g)-1):continueyear = temp_g[i]ex_year = temp_g[i+1]if i+1 <= 5:growth = (year - ex_year)/ex_yeargrowth_anu.append(growth)if growth_anu[0] >= ratio and growth_anu[1] >= ratio and growth_anu[2] >= ratio and growth_anu[3] >= ratio:invest.append(data)except Exception as e:print(data + f':{e}')
invest = pd.DataFrame(invest)
invest.to_excel('连续4年增长30%.xls')

python根据财务指标寻找价值股票相关推荐

  1. 如何找财报好的股票_如何看上市公司的财务报表及如何透过财务指标筛选优质股票知识讲解...

    如何看上市公司的财务报表及如何透过财务指标筛选优质股票 股市中的"天时"为基本分析,主要分析国家的宏观经济政策和行业发展前景. "地利"乃是技术分析, 它指导投 ...

  2. python资本市场财务数据分析_Python对股票财务数据进行可视化分析

    对股票财务数据进行分析是非常必要,但因股票数据量很大,单凭浏览网页或在软件客户端查看是非常浪费精力的一件事,通过Python进行网页数据提取,将财务数据图表化会更加直观.以下代码在Python 3.6 ...

  3. python计算财务指标,Python-股票-图表显示主要财务指标

    将下载的个股财务指标以图表显示(仅供娱乐),其中Chinese是一个定义的输出汉字的库,是在别人的代码基础是修改的,改时贴出(手头这台电脑上没有). import matplotlib.pyplot ...

  4. 【手把手教你】使用Python构建股票财务指标打分系统

    01 引言 最近受到知识星球圈友[禄子₇]的启发,利用Python基于财务指标打分构建价值投机股票的选股系统.首先感谢他给我发的电子书<价值投机>和他自己写的code(公众号回复" ...

  5. 获取股票数据【使用JQData查询行情数据、财务指标、估值指标】

    了解股票: 在上一次量化小科普[什么是量化?常用的股票量化指标.如何搭建量化交易系统]对于量化的概念有了一个基本认识,其中量化的主体在这门课程的学习中是"股票",而当别人问你:&q ...

  6. 股票python量化交易010-JQData财务指标

    认识财务报表 财务指标数据 这里说的财务指标数据是我们平时看到的股票市值,负债数据,现金数据,利润数据等一系统财务相关的值通过运算生成的一份财务指标数据,如EPS,ROE等 eps 每股收益EPS(元 ...

  7. python爬网站数据实例网易财经股票数据历史资金流向-Python-股票-从网易财经获取主要财务指标数据...

    以下代码从网易财经的个股页面获取主要财务指标,获取的数据输出到Excel电子表格中. import pandas as pd from pandas.core.frame import DataFra ...

  8. Python数据分析案例19——上市银行财务指标对比

    我代码栏目都是针对基础的python数据分析人群,比如想写个本科毕业论文,课程论文,做个简单的案例分析等.过去写的案例可能使用了过多的机器学习和深度学习方法,文科的同学看不懂,可能他们仅仅只想用pyt ...

  9. 国内股票KDJ指标计算,Python实现KDJ指标计算,Talib实现KDJ指标计算

    0 引言 KDJ指标是最为常见的指标之一,股票每日的K线数据通过Tushare.Baostock等平台能够获取到个股及指数的Open.High.Low.Close.Volume等数据,KDJ.MACD ...

最新文章

  1. 如何将所有浏览器的div垂直居中?
  2. Java虚拟机5:常用JVM命令参数
  3. <<science>> new and potential research areas
  4. JQuery获取元素本身HTML
  5. 数据仓库分层和元数据管理
  6. LeetCode 92. 反转链表 II(双指针)
  7. 设置devenv命令的启动版本
  8. ad15原理图中变压器种类_「知识」共轭结构整流变压器低压输出三排八列短网结构引线布置...
  9. 易班自动答题脚本_自动答题脚本教程及源码分享(无视分辨率)
  10. linux的安装软件命令有几种方式,Linux安装软件方法总结
  11. Js 获取浏览器高度
  12. ShardingJdbc SQLFeatureNotSupportedException: isValid
  13. 将32位的ip二进制串转换为十进制
  14. zepoto.js的使用
  15. C#运控框架 雷赛运动控制 DMC系列 运动控制项目 C#源码
  16. 天平与天蝎的神话(转)
  17. .vscode/extensions下放的是插件
  18. 高速数据采集卡与AWG任意波形发生器在量子计算中的应用现状
  19. java研发工程师、数据库开发
  20. Linux启动过程学习

热门文章

  1. 基于ECC算法的秘钥协商
  2. c++面向对象高级编程 学习十七 const, new, delete
  3. 索尼MOTO等压榨国内代工厂:员工宿舍像监狱
  4. [转载]流行视频格式讲解
  5. QuickTime文件格式解析
  6. RuntimeException 和 Exception 区别、异常的子父级关系
  7. Maven : 将 Jar 安装到本地仓库和 Jar 上传到私服
  8. Putty(菩提)远程连接服务器教程
  9. PHP超全局变量$_SERVER
  10. Struts2的工作原理及工作流程