文章来源:
智行网
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至405936398@qq.com举报,一经查实,本站将立刻删除。
# 白点数据,运行环境Python3.8# -*- coding: UTF-8 -*-import jsonimport osfrom PIL import Image, ImageDraw,ImageFontimport randomwith open('data/sh_sz.txt', 'r', encoding='utf-8-sig', newline='\r\n') as f: ddd=json.loads(f.read())with open('data/行业分类2.txt', 'r', encoding='utf-8-sig', newline='\r\n') as f: ddd2=json.loads(f.read())with open('data/每年都有分红的股票.txt', 'r', encoding='utf-8-sig', newline='\r\n') as f: ddd3=json.loads(f.read())#### 日K线参数名称及定义 ###### 参数名称 参数描述 说明## 0 date 交易所行情日期 格式:YYYY-MM-DD## 1 code 证券代码 格式:sh.600000。sh:上海,sz:深圳## 2 open 今开盘价格 精度:小数点后4位;单位:人民币元## 3 high 最高价 精度:小数点后4位;单位:人民币元## 4 low 最低价 精度:小数点后4位;单位:人民币元## 5 close 今收盘价 精度:小数点后4位;单位:人民币元## 6 preclose 昨日收盘价 精度:小数点后4位;单位:人民币元## 7 volume 成交数量 单位:股## 8 amount 成交金额 精度:小数点后4位;单位:人民币元## 9 adjustflag 复权状态 不复权、前复权、后复权## 10 turn 换手率 精度:小数点后6位;单位:%## 11 tradestatus 交易状态 1:正常交易 0:停牌## 12 pctChg 涨跌幅(百分比) 精度:小数点后6位## 13 peTTM 滚动市盈率 精度:小数点后6位## 14 psTTM 滚动市销率 精度:小数点后6位## 15 pcfNcfTTM 滚动市现率 精度:小数点后6位## 16 pbMRQ 市净率 精度:小数点后6位## 17 isST 是否ST 1是,0否## 日期【0】 昨收【1】 开盘【2】 最低【3】 最高【4】 收盘【5】## 振幅【6】 涨跌【7】 成交量【8】 成交额【9】 换手率【10】def float_000(a): return 0.0 if a=="" else float(a)rrr1=[]rrr2=[]a="d"for dd in ddd: #print(dd[0]) #if dd[0][:3]!="of." and dd[4]=="1" and dd[5]=="1" and dd[0] in ddd3 and dd[0][:6]!="sh.688" and dd[0][:4]!="sz.3": if dd[0][:3]!="of." and dd[4]=="1" and dd[5]=="1": #print(dd) if os.path.exists(f'data/k_line_{a}/{dd[0]}_{a}.txt'): #使用不复权数据 with open(f'data/k_line_{a}/{dd[0]}_{a}.txt', 'r', encoding='utf-8-sig', newline='\r\n') as f: ooo=json.loads(f.read()) if ooo!=[] and len(ooo)>5: if dd[0][:6]!="sh.688" and dd[0][:4]!="sz.3": AA=sum(float_000(oo[12])>=9.8 for oo in ooo) # 普通版 else: AA=sum(float_000(oo[12])>=19.8 for oo in ooo) # 科创板 rrr1.append([dd, ooo[-1][5], AA, len(ooo)]) if dd[0][:6]!="sh.688" and dd[0][:4]!="sz.3": VV=sum(float_000(oo[12])<=-9.8 for oo in ooo) # 普通版 else: VV=sum(float_000(oo[12])<=-19.8 for oo in ooo) # 科创板 rrr2.append([dd, ooo[-1][5], VV, len(ooo)])rrr1=sorted(rrr1, key=lambda x: x[2]/x[3], reverse=True)print(f"\n涨停比例最高排名(前20)")for rr in rrr1[:20]: print(f"{rr[0][0]} {rr[0][1]} {rr[3]}天 {rr[1]}元 {round(rr[2]*100/rr[3], 2)}%")##print(f"\n涨停比例最小排名(前20)")##for rr in rrr1[-20:]:## print(f"{rr[0][0]} {rr[0][1]} {rr[3]}天 {rr[1]}元 {round(rr[2]*100/rr[3], 2)}%")rrr2=sorted(rrr2, key=lambda x: x[2]/x[3], reverse=True)print(f"\n跌停比例最高排名(前20)")for rr in rrr2[:20]: print(f"{rr[0][0]} {rr[0][1]} {rr[3]}天 {rr[1]}元 {round(rr[2]*100/rr[3], 2)}%")##print(f"\n跌停比例最小排名(前20)")##for rr in rrr2[-20:]:## print(f"{rr[0][0]} {rr[0][1]} {rr[3]}天 {rr[1]}元 {round(rr[2]*100/rr[3], 2)}%")print("备注:1、数据均使用不复权数据;2、主板按9.8%涨跌比例计算,科创板按19.8%涨跌比例计算。")print("--end--")