Commit d8897800 authored by wuyuming's avatar wuyuming

no message

parent 8adedbc9
......@@ -8,9 +8,22 @@
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/202201-202307月-10日未涨停(000)股本首笔大单大于700w-b1-8%type第一个为B小于1600w炸板率.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/2022未涨停(000)股本首笔大单大于700w-b1-8%type第一个为B炸板率(振幅).csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/2022未涨停(000)股本首笔大单大于700w-b1-8%type第一个为B炸板率.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/2023未涨停(000)股本.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/2023未涨停(000)股本首笔大单大于700w-b1-8%type第一个为B(振幅).csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/2023未涨停(000)股本首笔大单大于700w-b1-8%type第一个为B-1.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/2023未涨停(000)股本首笔大单大于700w-b1-8%type第一个为B炸板率.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/2023涨停(000)股本涨停时间.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/不复权/2022-2023涨停(000)股本2连大于700w炸板率.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/不复权/2022涨停(000)股本2连大于700w.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/不复权/2023涨停(000)股本2连大于700w.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/不复权/2023涨停(000)股本N连单10%大于700w.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/不复权/2023涨停(000)股本N连单大于700w.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/不复权/300/2022-2023涨停(300)股本N连单大于700w.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/不复权/300/2023涨停(000)股本N连单大于700w.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/不复权/688/2022-2023涨停(688)股本N连单大于700w.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/不复权/688/2023涨停(688)股本N连单大于700w.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/不复权/数据修复/2022涨停(000)股本N连单10%大于700w.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2022-202307/不复权/数据修复/2022涨停(000)股本N连单大于700w.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2023-1-7月-10日未涨停首笔大单大于700w-b1-8%type第一个为B(小于1600W).csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2023-1-7月-10日未涨停首笔大单大于700w-b1-8%type第一个为B.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/10日未涨停回封/2023-1-7月-10日未涨停首笔大单大于700w-b1-8%type第一个为B炸板率.csv" charset="GBK" />
......@@ -29,10 +42,7 @@
<file url="file://$PROJECT_DIR$/2023-08-25炸板率.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/2023-08-29-000-7.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/2023-09-01炸板率.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/2023-09-04-000.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/2023-09-04-600.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/2023-09-07炸板率.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/2023-09-13炸板率.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/2023-09-18-000.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/2板新高/2023-000-45日未涨停2板.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/300-600/300-600.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/300/2022-10日未涨停(300)首笔大单大于700w-b1-8%type第一个为B炸板率(振幅).csv" charset="GBK" />
......@@ -49,6 +59,7 @@
<file url="file://$PROJECT_DIR$/600打板/2023-1-7月-10日未涨停600首笔大单大于700w-b1-8%type第一个为B.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/600打板/2023未涨停(600)股本.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/600打板/2023涨停(600)股本首笔大单大于700w-b1-8%type第一个为B炸板率(振幅).csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/600打板/600统计.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/N字反包/2022/2022反包7距板收盘价跌幅大于5%首笔大单大于700w-b1-8%type第一个为B.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/N字反包/2022/2022反包7距板收盘价跌幅大于5%首笔大单大于700w-b1-8%type第一个为B炸板率(振幅).csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/N字反包/2022/2022反包7距板收盘价跌幅大于5%首笔大单大于700w-b1-8%type第一个为B炸板率.csv" charset="GBK" />
......@@ -119,5 +130,15 @@
<file url="file://$PROJECT_DIR$/集合竞价数据/2023-08-13-000-7.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/集合竞价数据/2023-08-14-000.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/集合竞价数据/2023-08-23-000.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/集合竞价数据/2023-09-04-000.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/集合竞价数据/2023-09-04-000.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/集合竞价数据/2023-09-04-600.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/集合竞价数据/2023-09-04-600.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/集合竞价数据/2023-09-07炸板率.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/集合竞价数据/2023-09-07炸板率.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/集合竞价数据/2023-09-13炸板率.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/集合竞价数据/2023-09-13炸板率.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/集合竞价数据/2023-09-14炸板率.csv" charset="GBK" />
<file url="file://$PROJECT_DIR$/集合竞价数据/2023-09-14炸板率.csv" charset="GBK" />
</component>
</project>
\ No newline at end of file
......@@ -39,3 +39,21 @@ SZ003026 ,中晶科技
SZ002883,中设股份
SZ002915,中欣氟材
SZ002166,莱茵生物
SH603330,天洋新材
SH603887,城地香江
SH605589,圣泉集团
SH600776,东方通信
SH603777,来伊份
SH603130,云中马
SH603507,振江股份
SH603915,国茂股份
SH603324,盛剑环境
SH600686,金龙汽车
SH603258,电魂网络
SH600797,浙大网新
SH603429,集友股份
SH600288,大恒科技
SH603220,中贝通信
SH601528,瑞丰银行
SH603011,合锻智能
SH603815,交建股份
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
import csv
import math
import os
import time
import numpy as np
import pandas as pd
root='/Volumes/Elements SE/逐笔202301-03/'
import datetime
data=pd.read_csv('./2022-2023涨停(300)股本.csv',encoding='gbk')
data['日期']=pd.to_datetime(data['日期'])
data = data.groupby('日期')
percent=0.1
name = pd.read_excel('/Users/yumingwu/Desktop/沪深A股.xlsx')
with open('./2023涨停(000)股本N连单10%大于700w'+'.csv','w',encoding='gbk',newline='') as csfile:
writer =csv.writer(csfile)
writer.writerow(['代码','名称','日期', '昨日收盘价','开盘价','最低价','最高价涨幅','成交量','成交额','换手率','买入价格','卖出价格','盈利','涨幅','流通市值','跟单明细','连单笔数','总金额','时间'])
for day,dataR in data:
print(day)
if(day<pd.to_datetime('2023-01-01')):
continue
daystr= day.strftime("%Y-%m-%d")
for index,item in dataR.iterrows():
current_time = datetime.datetime.now()
print(item['代码'])
print("现在时间是: " + str(current_time))
# if item['代码']!='SZ002851':
# continue
if os.path.exists(root + daystr + '/' + item['代码'][2:8] + '.csv') == False:
print(root + daystr + '/' + item['代码'][2:8] + '.csv')
continue
zhubiData= pd.read_csv(root+daystr+'/'+item['代码'][2:8]+'.csv')
zhubiData=zhubiData[zhubiData['Time']>'09:25:00']
zhubiData['amount']=zhubiData['Volume']*zhubiData['BuyOrderPrice']
zhangtingjia=zhubiData['BuyOrderPrice'].max()
maxPrice= zhubiData['Price'].max()
maxPriceItem = zhubiData[zhubiData['Price']>=maxPrice]
maxPriceItem=maxPriceItem.iloc[0]
zhangtingdata = zhubiData[zhubiData['BuyOrderID']==maxPriceItem['BuyOrderID']]
# stockNum = 7000000 / (zhangtingjia-0.01)
# zhubiData = zhubiData[zhubiData['BuyOrderVolume'] > stockNum]
# zhangtingjiaData=zhubiData[zhubiData['Price']>=item['昨日收盘价']*1.09]
zhangtingjiaData = zhubiData[zhubiData['BuyOrderPrice'] >= zhangtingjia-0.03]
zhangtingjiaData=zhangtingjiaData[zhangtingjiaData['Type']=='B']
zhangtingjiaData=zhangtingjiaData.groupby('BuyOrderID')
zhangtingjiaData1=pd.DataFrame()
dicARR = {}
keyArr = []
for id, zhangtingjiaDataItem in zhangtingjiaData:
zhangtingjiaDataItem1 =zhubiData[zhubiData['BuyOrderID']==id].copy()
zhangtingjiaDataItem1 = zhangtingjiaDataItem1[zhangtingjiaDataItem1['BuyOrderPrice'] >= zhangtingjia-0.03]
amount = zhangtingjiaDataItem1['amount'].sum()
if amount<1000000:
continue
vol = zhangtingjiaDataItem1['Volume'].sum()
p0 = zhangtingjiaDataItem1.iloc[0]
p1 = zhangtingjiaDataItem1.iloc[-1]
time =p0['Time']
TranID1 = p0['TranID']
TranID2 = p1['TranID']
buyId = p0['BuyOrderID']
buyidData= {
'amount':amount,
'vol': vol,
'TranID1': TranID1,
'TranID2': TranID2,
'buyId':buyId,
'time':time
}
key =str(TranID1)
dicARR[key] = buyidData
keyArr.append(TranID1)
if len(dicARR)==0:
continue
keyArr.sort()
for trainIDIndex in np.arange(len(keyArr)):
key = keyArr[trainIDIndex]
subkeyArr = keyArr[trainIDIndex+1:len(keyArr)]
item_key = dicARR[str(key)]
vol = item_key['vol']
amount = item_key['amount']
TranID1 = item_key['TranID1']
TranID2 = item_key['TranID2']
buyId = item_key['buyId']
time = item_key['time']
preItem = item_key
itemArr = []
itemArr.append(item_key)
amountZ = amount
flag = False
for subkey in subkeyArr:
item1 = dicARR[str(subkey)]
vol_01 = item1['vol']
amount_01 = item1['amount']
TranID1_01 = item1['TranID1']
TranID2_01 = item1['TranID2']
if vol_01>(vol*(1+percent)):
break
if vol_01<(vol*(1-percent)):
break
if TranID1_01 !=preItem['TranID2']+1:
break
amountZ = amountZ+amount_01
itemArr.append(item1)
preItem = item1
liandan= []
for detailItem in itemArr:
info=str(detailItem['vol']) + ',' + str(int(detailItem['amount'])) + ',' + str(
detailItem['TranID1']) + ',' + str(detailItem['TranID2']) + ',' + str(
detailItem['buyId']) + ',' + str(detailItem['time'])
liandan.append(info)
info='--|--'.join(liandan)
if amountZ>=7000000:
flag =True
codename = item['代码'][2:8] + "." + item['代码'][0:2]
codename = name[name['股票代码'] == codename]
if len(codename) == 0:
codename = ''
else:
codename = codename.iloc[0]['股票简称']
writer.writerow(
[item['代码'],
codename,
item['日期'],
item['昨日收盘价'],
item['开盘价'],
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
item['盈利'],
item['涨幅'],
item['流通市值'],
info,
len(liandan),
amountZ,
item1['time']
])
break
if flag:
break
import csv
import os
import time
from _decimal import Decimal
import numpy as np
import pandas as pd
root='/Users/yumingwu/Downloads/Stk_Day_QFQ/'
path =os.listdir(root)
data = pd.read_csv('./2022-2023涨停(300)股本N连单大于700w炸板率.csv',encoding='gbk')
file000 = open('./2022-2023涨停(300)股本N连单大于700w振幅.csv','w',encoding='gbk',newline='')
writer000 = csv.writer(file000)
writer000.writerow(
['代码','名称','日期', '昨日收盘价','开盘价','开盘涨幅','最低价','最高价涨幅','成交量','成交额','换手率','买入价格','卖出价格','昨日是否涨停','盈利','涨幅','流通市值','跟单明细','连单笔数','总金额','时间','炸板率','涨停次数','炸板次数','触板次数','炸板幅度','涨停次日溢价率','次日总溢价率','最近3次触板溢价','一年最高价跌幅','半年最高价跌幅','一日最高价跌幅','三日最高价跌幅','6日最高价跌幅','10日最高价跌幅','12日最高价跌幅','一个月最高价跌幅','3个月最高价跌幅','9个月最高价跌幅',
'1个月最低价涨幅','3个月最低价涨幅','半年最低价涨幅','9个月最低价涨幅','一年最低价涨幅','振幅','昨日振幅','10日涨幅'])
for index,item in data.iterrows():
day = item['日期']
day =pd.to_datetime(day)
code= item['代码']+'.csv'
codeData=pd.read_csv(root+code,encoding='gbk')
codeData['时间'] = pd.to_datetime(codeData['时间'])
codeData =codeData[codeData['时间']<day]
codeData0=codeData.iloc[-1]
codeData1 = codeData.iloc[-2]
codeData=codeData[len(codeData)-10:len(codeData)]
min = codeData0['收盘价']/(codeData['最低价'].min())-1
writer000.writerow(
[item['代码'],
item['名称'],
item['日期'],
item['昨日收盘价'],
item['开盘价'],
item['开盘涨幅'],
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
item['昨日是否涨停'],
item['盈利'],
item['涨幅'],
item['流通市值'],
item['跟单明细'],
item['连单笔数'],
item['总金额'],
item['时间'],
item['炸板率'],
item['涨停次数'],
item['炸板次数'],
item['触板次数'],
item['炸板幅度'],
item['涨停次日溢价率'],
item['次日总溢价率'],
item['最近3次触板溢价'],
item['一年最高价跌幅'],
item['半年最高价跌幅'],
item['一日最高价跌幅'],
item['三日最高价跌幅'],
item['6日最高价跌幅'],
item['10日最高价跌幅'],
item['12日最高价跌幅'],
item['一个月最高价跌幅'],
item['3个月最高价跌幅'],
item['9个月最高价跌幅'],
item['1个月最低价涨幅'],
item['3个月最低价涨幅'],
item['半年最低价涨幅'],
item['9个月最低价涨幅'],
item['一年最低价涨幅'],
(codeData0['最高价']-codeData0['最低价'])/codeData1['收盘价'],
(codeData0['最高价'] - codeData0['最低价']) / codeData0['收盘价'],
min
])
import csv
import os
import time
from _decimal import Decimal
import numpy as np
import pandas as pd
root='/Users/yumingwu/Downloads/Stk_Day_QFQ/'
path =os.listdir(root)
data = pd.read_csv('./2022-2023涨停(300)股本N连单大于700w.csv',encoding='gbk')
file000 = open('./2022-2023涨停(300)股本N连单大于700w炸板率.csv','w',encoding='gbk',newline='')
writer000 = csv.writer(file000)
zhangtingpercent = 1.198
writer000.writerow(
['代码','名称','日期', '昨日收盘价','开盘价','开盘涨幅','最低价','最高价涨幅','成交量','成交额','换手率','买入价格','卖出价格','昨日是否涨停','盈利','涨幅','流通市值','跟单明细','连单笔数','总金额','时间','炸板率','涨停次数','炸板次数','触板次数','炸板幅度','涨停次日溢价率','次日总溢价率','最近3次触板溢价','一年最高价跌幅','半年最高价跌幅','一日最高价跌幅','三日最高价跌幅','6日最高价跌幅','10日最高价跌幅','12日最高价跌幅','一个月最高价跌幅','3个月最高价跌幅','9个月最高价跌幅',
'1个月最低价涨幅','3个月最低价涨幅','半年最低价涨幅','9个月最低价涨幅','一年最低价涨幅'])
for index,item in data.iterrows():
day = item['日期']
day =pd.to_datetime(day)
code= item['代码']+'.csv'
print(item['代码'])
codeData=pd.read_csv(root+code,encoding='gbk')
codeData['时间'] = pd.to_datetime(codeData['时间'])
codeData =codeData[codeData['时间']<day]
day1=day-pd.offsets.DateOffset(years=1)
codeData = codeData[codeData['时间'] >= day1]
if len(codeData)==0:
continue
day2 = day - pd.offsets.DateOffset(months=6)
day1_month = day - pd.offsets.DateOffset(months=1)
day3_month = day - pd.offsets.DateOffset(months=3)
day9_month = day - pd.offsets.DateOffset(months=9)
codeData_6_month = codeData[codeData['时间'] >= day2]
codeData_1_month = codeData[codeData['时间'] >= day1_month]
codeData_3_month = codeData[codeData['时间'] >= day3_month]
codeData_9_month = codeData[codeData['时间'] >= day9_month]
codeData1 = codeData[len(codeData)-1:len(codeData)]
codeData3= codeData[len(codeData) - 3:len(codeData)]
codeData6 = codeData[len(codeData) - 6:len(codeData)]
codeData9 = codeData[len(codeData) - 10:len(codeData)]
codeData12 = codeData[len(codeData) - 12:len(codeData)]
item_y=codeData.iloc[-1]
item_y2 = codeData.iloc[-1]
if item_y['收盘价'] / item_y2['收盘价'] > zhangtingpercent:
zhangting = 1
rate_year = item_y['收盘价']/codeData['最高价'].max()
rate_year_min = item_y['收盘价'] / codeData['最低价'].min()
rate_6_month = item_y['收盘价'] / codeData_6_month['最高价'].max()
rate_6_month_min = item_y['收盘价'] / codeData_6_month['最低价'].min()
rate_1_month = item_y['收盘价'] / codeData_1_month['最高价'].max()
rate_1_month_min = item_y['收盘价'] / codeData_1_month['最低价'].min()
rate_3_month = item_y['收盘价'] / codeData_3_month['最高价'].max()
rate_3_month_min = item_y['收盘价'] / codeData_3_month['最低价'].min()
rate_9_month = item_y['收盘价'] / codeData_9_month['最高价'].max()
rate_9_month_min = item_y['收盘价'] / codeData_9_month['最低价'].min()
rate_1 = item_y['收盘价'] / codeData1['最高价'].max()
rate_3= item_y['收盘价'] / codeData3['最高价'].max()
rate_6 = item_y['收盘价'] / codeData6['最高价'].max()
rate_9 = item_y['收盘价'] / codeData9['最高价'].max()
rate_12 = item_y['收盘价'] / codeData12['最高价'].max()
zhangtingTime=0
zhaBanTime=0
zhaBanTimefudu=0
zhangtingyijia=0
zhangtingyijiazong = 0
arr3 = []
for i in np.arange(len(codeData)):
if i==0:
continue
if i==len(codeData)-1:
continue
item0 = codeData.iloc[i-1]
item1 = codeData.iloc[i]
item2 = codeData.iloc[i+1]
if item1['最高价']/item0['收盘价']>zhangtingpercent:
zhangtingyijiazong = zhangtingyijiazong + item2['开盘价'] / item1['最高价'] - 1.0014
arr3.append(item2['开盘价'] / item1['最高价'] - 1.0014)
if item1['最高价']==item1['收盘价']:
zhangtingTime=zhangtingTime+1
zhangtingyijia = zhangtingyijia + item2['开盘价'] / item1['最高价'] - 1.0014
else:
zhaBanTime=zhaBanTime+1
zhaBanTimefudu=zhaBanTimefudu+(item2['开盘价']/item1['最高价']-1.0014)
rate =0
if zhangtingTime>0 or zhaBanTime>0:
rate = zhaBanTime/(zhangtingTime+zhaBanTime)
if zhaBanTime!=0:
zhaBanTimefudu=zhaBanTimefudu/zhaBanTime
if zhangtingTime!=0:
zhangtingyijia=zhangtingyijia/zhangtingTime
if (zhangtingTime +zhaBanTime)!= 0:
zhangtingyijiazong = zhangtingyijiazong / (zhangtingTime+zhaBanTime)
rate3=-100
if len(arr3)>=3:
arr3 = arr3[len(arr3)-3:len(arr3)]
rate3 = (arr3[0]+arr3[1]+arr3[2])/3
zhangting = 0;
writer000.writerow(
[item['代码'],
item['名称'],
item['日期'],
item['昨日收盘价'],
item['开盘价'],
float(item['开盘价'])/float(item['昨日收盘价']),
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
zhangting,
item['盈利'],
item['涨幅'],
item['流通市值'],
item['跟单明细'],
item['连单笔数'],
item['总金额'],
item['时间'],
rate,
zhangtingTime,
zhaBanTime,
zhangtingTime+zhaBanTime,
zhaBanTimefudu,
zhangtingyijia,
zhangtingyijiazong,
rate3,
rate_year,
rate_6_month,
rate_1,
rate_3,
rate_6,
rate_9,
rate_12,
rate_1_month,
rate_3_month,
rate_9_month,
rate_1_month_min,
rate_3_month_min,
rate_6_month_min,
rate_9_month_min,
rate_year_min
])
This source diff could not be displayed because it is too large. You can view the blob instead.
import csv
import math
import os
import time
import numpy as np
import pandas as pd
root='/Volumes/Elements SE/逐笔202301-03/'
import datetime
data=pd.read_csv('./2022-2023涨停(688)股本.csv',encoding='gbk')
data['日期']=pd.to_datetime(data['日期'])
data = data.groupby('日期')
percent=0.01
name = pd.read_excel('/Users/yumingwu/Desktop/沪深A股.xlsx')
with open('./2023涨停(688)股本N连单大于700w'+'.csv','w',encoding='gbk',newline='') as csfile:
writer =csv.writer(csfile)
writer.writerow(['代码','名称','日期', '昨日收盘价','开盘价','最低价','最高价涨幅','成交量','成交额','换手率','买入价格','卖出价格','盈利','涨幅','流通市值','跟单明细','连单笔数','总金额','时间'])
for day,dataR in data:
print(day)
if(day<pd.to_datetime('2023-01-01')):
continue
daystr= day.strftime("%Y-%m-%d")
for index,item in dataR.iterrows():
current_time = datetime.datetime.now()
print(item['代码'])
print("现在时间是: " + str(current_time))
# if item['代码']!='SZ002851':
# continue
if os.path.exists(root + daystr + '/' + item['代码'][2:8] + '.csv') == False:
print(root + daystr + '/' + item['代码'][2:8] + '.csv')
continue
zhubiData= pd.read_csv(root+daystr+'/'+item['代码'][2:8]+'.csv')
zhubiData=zhubiData[zhubiData['Time']>'09:25:00']
zhubiData['amount']=zhubiData['Volume']*zhubiData['BuyOrderPrice']
zhangtingjia=zhubiData['BuyOrderPrice'].max()
maxPrice= zhubiData['Price'].max()
maxPriceItem = zhubiData[zhubiData['Price']>=maxPrice]
maxPriceItem=maxPriceItem.iloc[0]
zhangtingdata = zhubiData[zhubiData['BuyOrderID']==maxPriceItem['BuyOrderID']]
# stockNum = 7000000 / (zhangtingjia-0.01)
# zhubiData = zhubiData[zhubiData['BuyOrderVolume'] > stockNum]
# zhangtingjiaData=zhubiData[zhubiData['Price']>=item['昨日收盘价']*1.09]
zhangtingjiaData = zhubiData[zhubiData['BuyOrderPrice'] >= zhangtingjia-0.03]
zhangtingjiaData=zhangtingjiaData[zhangtingjiaData['Type']=='B']
zhangtingjiaData=zhangtingjiaData.groupby('BuyOrderID')
zhangtingjiaData1=pd.DataFrame()
dicARR = {}
keyArr = []
for id, zhangtingjiaDataItem in zhangtingjiaData:
zhangtingjiaDataItem1 =zhubiData[zhubiData['BuyOrderID']==id].copy()
zhangtingjiaDataItem1 = zhangtingjiaDataItem1[zhangtingjiaDataItem1['BuyOrderPrice'] >= zhangtingjia-0.03]
amount = zhangtingjiaDataItem1['amount'].sum()
if amount<1000000:
continue
vol = zhangtingjiaDataItem1['Volume'].sum()
p0 = zhangtingjiaDataItem1.iloc[0]
p1 = zhangtingjiaDataItem1.iloc[-1]
time =p0['Time']
TranID1 = p0['TranID']
TranID2 = p1['TranID']
buyId = p0['BuyOrderID']
buyidData= {
'amount':amount,
'vol': vol,
'TranID1': TranID1,
'TranID2': TranID2,
'buyId':buyId,
'time':time
}
key =str(TranID1)
dicARR[key] = buyidData
keyArr.append(TranID1)
if len(dicARR)==0:
continue
keyArr.sort()
for trainIDIndex in np.arange(len(keyArr)):
key = keyArr[trainIDIndex]
subkeyArr = keyArr[trainIDIndex+1:len(keyArr)]
item_key = dicARR[str(key)]
vol = item_key['vol']
amount = item_key['amount']
TranID1 = item_key['TranID1']
TranID2 = item_key['TranID2']
buyId = item_key['buyId']
time = item_key['time']
preItem = item_key
itemArr = []
itemArr.append(item_key)
amountZ = amount
flag = False
for subkey in subkeyArr:
item1 = dicARR[str(subkey)]
vol_01 = item1['vol']
amount_01 = item1['amount']
TranID1_01 = item1['TranID1']
TranID2_01 = item1['TranID2']
if vol_01>(vol*(1+percent)):
break
if vol_01<(vol*(1-percent)):
break
if TranID1_01 !=preItem['TranID2']+1:
break
amountZ = amountZ+amount_01
itemArr.append(item1)
preItem = item1
liandan= []
for detailItem in itemArr:
info=str(detailItem['vol']) + ',' + str(int(detailItem['amount'])) + ',' + str(
detailItem['TranID1']) + ',' + str(detailItem['TranID2']) + ',' + str(
detailItem['buyId']) + ',' + str(detailItem['time'])
liandan.append(info)
info='--|--'.join(liandan)
if amountZ>=7000000:
flag =True
codename = item['代码'][2:8] + "." + item['代码'][0:2]
codename = name[name['股票代码'] == codename]
if len(codename) == 0:
codename = ''
else:
codename = codename.iloc[0]['股票简称']
writer.writerow(
[item['代码'],
codename,
item['日期'],
item['昨日收盘价'],
item['开盘价'],
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
item['盈利'],
item['涨幅'],
item['流通市值'],
info,
len(liandan),
amountZ,
item1['time']
])
break
if flag:
break
import csv
import os
import time
from _decimal import Decimal
import numpy as np
import pandas as pd
root='/Users/yumingwu/Downloads/Stk_Day_QFQ/'
path =os.listdir(root)
data = pd.read_csv('./2022-2023涨停(688)股本N连单大于700w炸板率.csv',encoding='gbk')
file000 = open('./2022-2023涨停(688)股本N连单大于700w振幅.csv','w',encoding='gbk',newline='')
writer000 = csv.writer(file000)
writer000.writerow(
['代码','名称','日期', '昨日收盘价','开盘价','开盘涨幅','最低价','最高价涨幅','成交量','成交额','换手率','买入价格','卖出价格','昨日是否涨停','盈利','涨幅','流通市值','跟单明细','连单笔数','总金额','时间','炸板率','涨停次数','炸板次数','触板次数','炸板幅度','涨停次日溢价率','次日总溢价率','最近3次触板溢价','一年最高价跌幅','半年最高价跌幅','一日最高价跌幅','三日最高价跌幅','6日最高价跌幅','10日最高价跌幅','12日最高价跌幅','一个月最高价跌幅','3个月最高价跌幅','9个月最高价跌幅',
'1个月最低价涨幅','3个月最低价涨幅','半年最低价涨幅','9个月最低价涨幅','一年最低价涨幅','振幅','昨日振幅','10日涨幅'])
for index,item in data.iterrows():
day = item['日期']
day =pd.to_datetime(day)
code= item['代码']+'.csv'
codeData=pd.read_csv(root+code,encoding='gbk')
codeData['时间'] = pd.to_datetime(codeData['时间'])
codeData =codeData[codeData['时间']<day]
codeData0=codeData.iloc[-1]
codeData1 = codeData.iloc[-2]
codeData=codeData[len(codeData)-10:len(codeData)]
min = codeData0['收盘价']/(codeData['最低价'].min())-1
writer000.writerow(
[item['代码'],
item['名称'],
item['日期'],
item['昨日收盘价'],
item['开盘价'],
item['开盘涨幅'],
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
item['昨日是否涨停'],
item['盈利'],
item['涨幅'],
item['流通市值'],
item['跟单明细'],
item['连单笔数'],
item['总金额'],
item['时间'],
item['炸板率'],
item['涨停次数'],
item['炸板次数'],
item['触板次数'],
item['炸板幅度'],
item['涨停次日溢价率'],
item['次日总溢价率'],
item['最近3次触板溢价'],
item['一年最高价跌幅'],
item['半年最高价跌幅'],
item['一日最高价跌幅'],
item['三日最高价跌幅'],
item['6日最高价跌幅'],
item['10日最高价跌幅'],
item['12日最高价跌幅'],
item['一个月最高价跌幅'],
item['3个月最高价跌幅'],
item['9个月最高价跌幅'],
item['1个月最低价涨幅'],
item['3个月最低价涨幅'],
item['半年最低价涨幅'],
item['9个月最低价涨幅'],
item['一年最低价涨幅'],
(codeData0['最高价']-codeData0['最低价'])/codeData1['收盘价'],
(codeData0['最高价'] - codeData0['最低价']) / codeData0['收盘价'],
min
])
import csv
import os
import time
from _decimal import Decimal
import numpy as np
import pandas as pd
root='/Users/yumingwu/Downloads/Stk_Day_QFQ/'
path =os.listdir(root)
data = pd.read_csv('./2022-2023涨停(688)股本N连单大于700w.csv',encoding='gbk')
file000 = open('./2022-2023涨停(688)股本N连单大于700w炸板率.csv','w',encoding='gbk',newline='')
writer000 = csv.writer(file000)
zhangtingpercent = 1.198
writer000.writerow(
['代码','名称','日期', '昨日收盘价','开盘价','开盘涨幅','最低价','最高价涨幅','成交量','成交额','换手率','买入价格','卖出价格','昨日是否涨停','盈利','涨幅','流通市值','跟单明细','连单笔数','总金额','时间','炸板率','涨停次数','炸板次数','触板次数','炸板幅度','涨停次日溢价率','次日总溢价率','最近3次触板溢价','一年最高价跌幅','半年最高价跌幅','一日最高价跌幅','三日最高价跌幅','6日最高价跌幅','10日最高价跌幅','12日最高价跌幅','一个月最高价跌幅','3个月最高价跌幅','9个月最高价跌幅',
'1个月最低价涨幅','3个月最低价涨幅','半年最低价涨幅','9个月最低价涨幅','一年最低价涨幅'])
for index,item in data.iterrows():
day = item['日期']
day =pd.to_datetime(day)
code= item['代码']+'.csv'
print(item['代码'])
codeData=pd.read_csv(root+code,encoding='gbk')
codeData['时间'] = pd.to_datetime(codeData['时间'])
codeData =codeData[codeData['时间']<day]
day1=day-pd.offsets.DateOffset(years=1)
codeData = codeData[codeData['时间'] >= day1]
if len(codeData)==0:
continue
day2 = day - pd.offsets.DateOffset(months=6)
day1_month = day - pd.offsets.DateOffset(months=1)
day3_month = day - pd.offsets.DateOffset(months=3)
day9_month = day - pd.offsets.DateOffset(months=9)
codeData_6_month = codeData[codeData['时间'] >= day2]
codeData_1_month = codeData[codeData['时间'] >= day1_month]
codeData_3_month = codeData[codeData['时间'] >= day3_month]
codeData_9_month = codeData[codeData['时间'] >= day9_month]
codeData1 = codeData[len(codeData)-1:len(codeData)]
codeData3= codeData[len(codeData) - 3:len(codeData)]
codeData6 = codeData[len(codeData) - 6:len(codeData)]
codeData9 = codeData[len(codeData) - 10:len(codeData)]
codeData12 = codeData[len(codeData) - 12:len(codeData)]
item_y=codeData.iloc[-1]
item_y2 = codeData.iloc[-1]
if item_y['收盘价'] / item_y2['收盘价'] > zhangtingpercent:
zhangting = 1
rate_year = item_y['收盘价']/codeData['最高价'].max()
rate_year_min = item_y['收盘价'] / codeData['最低价'].min()
rate_6_month = item_y['收盘价'] / codeData_6_month['最高价'].max()
rate_6_month_min = item_y['收盘价'] / codeData_6_month['最低价'].min()
rate_1_month = item_y['收盘价'] / codeData_1_month['最高价'].max()
rate_1_month_min = item_y['收盘价'] / codeData_1_month['最低价'].min()
rate_3_month = item_y['收盘价'] / codeData_3_month['最高价'].max()
rate_3_month_min = item_y['收盘价'] / codeData_3_month['最低价'].min()
rate_9_month = item_y['收盘价'] / codeData_9_month['最高价'].max()
rate_9_month_min = item_y['收盘价'] / codeData_9_month['最低价'].min()
rate_1 = item_y['收盘价'] / codeData1['最高价'].max()
rate_3= item_y['收盘价'] / codeData3['最高价'].max()
rate_6 = item_y['收盘价'] / codeData6['最高价'].max()
rate_9 = item_y['收盘价'] / codeData9['最高价'].max()
rate_12 = item_y['收盘价'] / codeData12['最高价'].max()
zhangtingTime=0
zhaBanTime=0
zhaBanTimefudu=0
zhangtingyijia=0
zhangtingyijiazong = 0
arr3 = []
for i in np.arange(len(codeData)):
if i==0:
continue
if i==len(codeData)-1:
continue
item0 = codeData.iloc[i-1]
item1 = codeData.iloc[i]
item2 = codeData.iloc[i+1]
if item1['最高价']/item0['收盘价']>zhangtingpercent:
zhangtingyijiazong = zhangtingyijiazong + item2['开盘价'] / item1['最高价'] - 1.0014
arr3.append(item2['开盘价'] / item1['最高价'] - 1.0014)
if item1['最高价']==item1['收盘价']:
zhangtingTime=zhangtingTime+1
zhangtingyijia = zhangtingyijia + item2['开盘价'] / item1['最高价'] - 1.0014
else:
zhaBanTime=zhaBanTime+1
zhaBanTimefudu=zhaBanTimefudu+(item2['开盘价']/item1['最高价']-1.0014)
rate =0
if zhangtingTime>0 or zhaBanTime>0:
rate = zhaBanTime/(zhangtingTime+zhaBanTime)
if zhaBanTime!=0:
zhaBanTimefudu=zhaBanTimefudu/zhaBanTime
if zhangtingTime!=0:
zhangtingyijia=zhangtingyijia/zhangtingTime
if (zhangtingTime +zhaBanTime)!= 0:
zhangtingyijiazong = zhangtingyijiazong / (zhangtingTime+zhaBanTime)
rate3=-100
if len(arr3)>=3:
arr3 = arr3[len(arr3)-3:len(arr3)]
rate3 = (arr3[0]+arr3[1]+arr3[2])/3
zhangting = 0;
writer000.writerow(
[item['代码'],
item['名称'],
item['日期'],
item['昨日收盘价'],
item['开盘价'],
float(item['开盘价'])/float(item['昨日收盘价']),
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
zhangting,
item['盈利'],
item['涨幅'],
item['流通市值'],
item['跟单明细'],
item['连单笔数'],
item['总金额'],
item['时间'],
rate,
zhangtingTime,
zhaBanTime,
zhangtingTime+zhaBanTime,
zhaBanTimefudu,
zhangtingyijia,
zhangtingyijiazong,
rate3,
rate_year,
rate_6_month,
rate_1,
rate_3,
rate_6,
rate_9,
rate_12,
rate_1_month,
rate_3_month,
rate_9_month,
rate_1_month_min,
rate_3_month_min,
rate_6_month_min,
rate_9_month_min,
rate_year_min
])
import csv
import math
import os
import time
import numpy as np
import pandas as pd
root='/Volumes/Elements SE/逐笔202301-03/'
import datetime
data=pd.read_csv('./2022-2023涨停(000)股本.csv',encoding='gbk')
data['日期']=pd.to_datetime(data['日期'])
data = data.groupby('日期')
name = pd.read_excel('/Users/yumingwu/Desktop/沪深A股.xlsx')
with open('./2023涨停(000)股本2连大于700w'+'.csv','w',encoding='gbk',newline='') as csfile:
writer =csv.writer(csfile)
writer.writerow(['代码','名称','日期', '昨日收盘价','开盘价','最低价','最高价涨幅','成交量','成交额','换手率','买入价格','卖出价格','盈利','涨幅','流通市值','涨停trainID','涨停BuyOrderID','涨停vol','涨停amount','大单ID','时间'])
for day,dataR in data:
print(day)
if(day<pd.to_datetime('2023-01-01')):
continue
daystr= day.strftime("%Y-%m-%d")
for index,item in dataR.iterrows():
current_time = datetime.datetime.now()
print(item['代码'])
print("现在时间是: " + str(current_time))
# if item['代码']!='SZ002851':
# continue
if os.path.exists(root + daystr + '/' + item['代码'][2:8] + '.csv') == False:
print(root + daystr + '/' + item['代码'][2:8] + '.csv')
continue
zhubiData= pd.read_csv(root+daystr+'/'+item['代码'][2:8]+'.csv')
zhubiData=zhubiData[zhubiData['Time']>'09:25:00']
zhubiData['amount']=zhubiData['Volume']*zhubiData['BuyOrderPrice']
zhangtingjia=zhubiData['BuyOrderPrice'].max()
maxPrice= zhubiData['Price'].max()
maxPriceItem = zhubiData[zhubiData['Price']>=maxPrice]
maxPriceItem=maxPriceItem.iloc[0]
zhangtingdata = zhubiData[zhubiData['BuyOrderID']==maxPriceItem['BuyOrderID']]
# stockNum = 7000000 / (zhangtingjia-0.01)
# zhubiData = zhubiData[zhubiData['BuyOrderVolume'] > stockNum]
# zhangtingjiaData=zhubiData[zhubiData['Price']>=item['昨日收盘价']*1.09]
zhangtingjiaData = zhubiData[zhubiData['BuyOrderPrice'] >= zhangtingjia - 0.01]
zhangtingjiaData=zhangtingjiaData[zhangtingjiaData['Price']>=item['昨日收盘价']*1.08]
zhangtingjiaData=zhangtingjiaData.groupby('BuyOrderID')
zhangtingjiaData1=pd.DataFrame()
for id, zhangtingjiaDataItem in zhangtingjiaData:
zhangtingjiaDataItem1 =zhubiData[zhubiData['BuyOrderID']==id].copy()
amount = zhangtingjiaDataItem1['amount'].sum()
if (amount >= 7000000):
continue
if (amount < 2000000):
continue
p0 = zhangtingjiaDataItem1.iloc[0]
TranID = p0['TranID']
zhangtingjiaDataItem1['ID']=TranID
zhangtingjiaData1=zhangtingjiaData1.append(zhangtingjiaDataItem1)
if len(zhangtingjiaData1)==0:
continue
zhangtingjiaData =zhangtingjiaData1.groupby('ID')
preamount = 0
prezhangtingjiaDataItem=0
prezhangtingjiaDataItemLast = 0
for id ,zhangtingjiaDataItem in zhangtingjiaData:
amount = zhangtingjiaDataItem['amount'].sum()
if preamount == 0:
preamount =amount
prezhangtingjiaDataItem =zhangtingjiaDataItem.iloc[0]
prezhangtingjiaDataItemLast = zhangtingjiaDataItem.iloc[-1]
continue
if preamount>=7000000:
preamount = amount
prezhangtingjiaDataItem = zhangtingjiaDataItem.iloc[0]
prezhangtingjiaDataItemLast = zhangtingjiaDataItem.iloc[-1]
continue
if prezhangtingjiaDataItem['Type']!= 'B':
preamount = amount
prezhangtingjiaDataItem = zhangtingjiaDataItem.iloc[0]
prezhangtingjiaDataItemLast = zhangtingjiaDataItem.iloc[-1]
continue
p0 = zhangtingjiaDataItem.iloc[0]
middledata = zhubiData[zhubiData['TranID'] <p0['TranID']]
middledata = middledata[middledata['TranID'] > prezhangtingjiaDataItemLast['TranID']]
if len(middledata)>0:
preamount = amount
prezhangtingjiaDataItem = zhangtingjiaDataItem.iloc[0]
prezhangtingjiaDataItemLast = zhangtingjiaDataItem.iloc[-1]
continue
if amount >= 7000000 :
preamount = amount
prezhangtingjiaDataItem = zhangtingjiaDataItem.iloc[0]
prezhangtingjiaDataItemLast = zhangtingjiaDataItem.iloc[-1]
continue
if p0['Type'] != 'B':
preamount = amount
prezhangtingjiaDataItem = zhangtingjiaDataItem.iloc[0]
prezhangtingjiaDataItemLast = zhangtingjiaDataItem.iloc[-1]
continue
if preamount+amount<7000000:
preamount = amount
prezhangtingjiaDataItem = zhangtingjiaDataItem.iloc[0]
prezhangtingjiaDataItemLast = zhangtingjiaDataItem.iloc[-1]
lastItem = zhangtingjiaDataItem.iloc[-1]
sellAll=zhangtingjiaData1[zhangtingjiaData1['ID'] > id]
sellAll = sellAll[sellAll['Type']=='B']
if len(sellAll)==0:
break
continue
type = p0['Type']
time1 =p0['Time']
# zhangtingjiaDataItemS = zhangtingjiaDataItem[zhangtingjiaDataItem['Type']=='S']
# zhangtingjiaDataItemSLength = len(zhangtingjiaDataItemS)
# p0 = zhangtingjiaDataItem.iloc[-1]
p0=p0['Price']
num = math.floor(2000000 / item['买入价格'] / 100) * 100
codename = item['代码'][2:8]+"."+item['代码'][0:2]
codename = name[name['股票代码']==codename]
if len(codename)==0:
codename=''
else:
codename = codename.iloc[0]['股票简称']
print(item['代码'],'信号')
writer.writerow(
[item['代码'],
codename,
item['日期'],
item['昨日收盘价'],
item['开盘价'],
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
num * (item['卖出价格'] - item['买入价格']) - item['买入价格'] * num * 0.0002 - item[
'卖出价格'] * num * 0.0012,
item['涨幅'],
item['流通市值'],
maxPriceItem['TranID'],
maxPriceItem['BuyOrderID'],
zhangtingdata['Volume'].sum(),
amount,
id,
time1,
])
break
import csv
import math
import os
import time
import numpy as np
import pandas as pd
root='/Volumes/Elements SE/逐笔202301-03/'
import datetime
data=pd.read_csv('./2022-2023涨停(000)股本.csv',encoding='gbk')
data['日期']=pd.to_datetime(data['日期'])
data = data.groupby('日期')
name = pd.read_excel('/Users/yumingwu/Desktop/沪深A股.xlsx')
with open('./2023涨停(000)股本N连单10%大于700w'+'.csv','w',encoding='gbk',newline='') as csfile:
writer =csv.writer(csfile)
writer.writerow(['代码','名称','日期', '昨日收盘价','开盘价','最低价','最高价涨幅','成交量','成交额','换手率','买入价格','卖出价格','盈利','涨幅','流通市值','跟单明细','连单笔数','总金额','时间'])
for day,dataR in data:
print(day)
if(day<pd.to_datetime('2023-01-01')):
continue
daystr= day.strftime("%Y-%m-%d")
for index,item in dataR.iterrows():
current_time = datetime.datetime.now()
print(item['代码'])
print("现在时间是: " + str(current_time))
# if item['代码']!='SZ002851':
# continue
if os.path.exists(root + daystr + '/' + item['代码'][2:8] + '.csv') == False:
print(root + daystr + '/' + item['代码'][2:8] + '.csv')
continue
zhubiData= pd.read_csv(root+daystr+'/'+item['代码'][2:8]+'.csv')
zhubiData=zhubiData[zhubiData['Time']>'09:25:00']
zhubiData['amount']=zhubiData['Volume']*zhubiData['BuyOrderPrice']
zhangtingjia=zhubiData['BuyOrderPrice'].max()
maxPrice= zhubiData['Price'].max()
maxPriceItem = zhubiData[zhubiData['Price']>=maxPrice]
maxPriceItem=maxPriceItem.iloc[0]
zhangtingdata = zhubiData[zhubiData['BuyOrderID']==maxPriceItem['BuyOrderID']]
# stockNum = 7000000 / (zhangtingjia-0.01)
# zhubiData = zhubiData[zhubiData['BuyOrderVolume'] > stockNum]
# zhangtingjiaData=zhubiData[zhubiData['Price']>=item['昨日收盘价']*1.09]
zhangtingjiaData = zhubiData[zhubiData['BuyOrderPrice'] >= zhangtingjia-0.03]
zhangtingjiaData=zhangtingjiaData[zhangtingjiaData['Type']=='B']
zhangtingjiaData=zhangtingjiaData.groupby('BuyOrderID')
zhangtingjiaData1=pd.DataFrame()
dicARR = {}
keyArr = []
for id, zhangtingjiaDataItem in zhangtingjiaData:
zhangtingjiaDataItem1 =zhubiData[zhubiData['BuyOrderID']==id].copy()
zhangtingjiaDataItem1 = zhangtingjiaDataItem1[zhangtingjiaDataItem1['BuyOrderPrice'] >= zhangtingjia-0.03]
amount = zhangtingjiaDataItem1['amount'].sum()
if amount<1000000:
continue
vol = zhangtingjiaDataItem1['Volume'].sum()
p0 = zhangtingjiaDataItem1.iloc[0]
p1 = zhangtingjiaDataItem1.iloc[-1]
time =p0['Time']
TranID1 = p0['TranID']
TranID2 = p1['TranID']
buyId = p0['BuyOrderID']
buyidData= {
'amount':amount,
'vol': vol,
'TranID1': TranID1,
'TranID2': TranID2,
'buyId':buyId,
'time':time
}
key =str(TranID1)
dicARR[key] = buyidData
keyArr.append(TranID1)
if len(dicARR)==0:
continue
keyArr.sort()
for trainIDIndex in np.arange(len(keyArr)):
key = keyArr[trainIDIndex]
subkeyArr = keyArr[trainIDIndex+1:len(keyArr)]
item_key = dicARR[str(key)]
vol = item_key['vol']
amount = item_key['amount']
TranID1 = item_key['TranID1']
TranID2 = item_key['TranID2']
buyId = item_key['buyId']
time = item_key['time']
preItem = item_key
itemArr = []
itemArr.append(item_key)
amountZ = amount
flag = False
for subkey in subkeyArr:
item1 = dicARR[str(subkey)]
vol_01 = item1['vol']
amount_01 = item1['amount']
TranID1_01 = item1['TranID1']
TranID2_01 = item1['TranID2']
if vol_01>vol*1.1:
break
if vol_01<vol*0.9:
break
if TranID1_01 !=preItem['TranID2']+1:
break
amountZ = amountZ+amount_01
itemArr.append(item1)
preItem = item1
liandan= []
for detailItem in itemArr:
info=str(detailItem['vol']) + ',' + str(int(detailItem['amount'])) + ',' + str(
detailItem['TranID1']) + ',' + str(detailItem['TranID2']) + ',' + str(
detailItem['buyId']) + ',' + str(detailItem['time'])
liandan.append(info)
info='--|--'.join(liandan)
if amountZ>=7000000:
flag =True
codename = item['代码'][2:8] + "." + item['代码'][0:2]
codename = name[name['股票代码'] == codename]
if len(codename) == 0:
codename = ''
else:
codename = codename.iloc[0]['股票简称']
writer.writerow(
[item['代码'],
codename,
item['日期'],
item['昨日收盘价'],
item['开盘价'],
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
item['盈利'],
item['涨幅'],
item['流通市值'],
info,
len(liandan),
amountZ,
item1['time']
])
break
if flag:
break
import csv
import math
import os
import time
import numpy as np
import pandas as pd
root='/Volumes/Elements SE/逐笔202301-03/'
import datetime
data=pd.read_csv('./2023涨停(000)股本2连大于700w.csv',encoding='gbk')
data['日期']=pd.to_datetime(data['日期'])
data = data.groupby('日期')
name = pd.read_excel('/Users/yumingwu/Desktop/沪深A股.xlsx')
with open('./2023涨停(000)股本2连大于700w明细'+'.csv','w',encoding='gbk',newline='') as csfile:
writer =csv.writer(csfile)
writer.writerow(['代码','名称','日期', '昨日收盘价','开盘价','最低价','最高价涨幅','成交量','成交额','换手率','买入价格','卖出价格','盈利','涨幅','流通市值','涨停trainID','涨停BuyOrderID','涨停vol','第二单涨停amount','第二单大单vol','第二单大单ID','第二单大单时间','第一单涨停amount','第一单大单vol','第一单大单ID','第一单大单时间','2单amount'])
for day,dataR in data:
print(day)
if (day < pd.to_datetime('2023-01-01')):
continue
daystr= day.strftime("%Y-%m-%d")
for index,item in dataR.iterrows():
current_time = datetime.datetime.now()
print(item['代码'])
print("现在时间是: " + str(current_time))
# if item['代码']!='SZ002851':
# continue
if os.path.exists(root + daystr + '/' + item['代码'][2:8] + '.csv') == False:
print(root + daystr + '/' + item['代码'][2:8] + '.csv')
continue
zhubiData= pd.read_csv(root+daystr+'/'+item['代码'][2:8]+'.csv')
zhubiData=zhubiData[zhubiData['Time']>'09:25:00']
zhubiData['amount']=zhubiData['Volume']*zhubiData['BuyOrderPrice']
zhangting2 = zhubiData[zhubiData['TranID'] ==item['大单ID']]
zhangting2=zhangting2.iloc[0]
zhangting2 = zhubiData[zhubiData['BuyOrderID'] ==zhangting2['BuyOrderID']]
amount = zhangting2['amount'].sum()
vol = zhangting2['Volume'].sum()
zhangting1 = zhubiData[zhubiData['TranID'] < item['大单ID']]
zhangting1 = zhangting1.iloc[-1]
zhangting1 = zhubiData[zhubiData['BuyOrderID'] == zhangting1['BuyOrderID']]
id=zhangting1.iloc[0]['TranID']
time = zhangting1.iloc[0]['Time']
amount1 = zhangting1['amount'].sum()
vol1 = zhangting1['Volume'].sum()
writer.writerow(
[item['代码'],
item['名称'],
item['日期'],
item['昨日收盘价'],
item['开盘价'],
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
item['盈利'],
item['涨幅'],
item['流通市值'],
item['涨停trainID'],
item['涨停BuyOrderID'],
item['涨停vol'],
amount,
vol,
item['大单ID'],
item['时间'],
amount1,
vol1,
id,
time,
amount+amount1
])
# stockNum = 7000000 / (zhangtingjia-0.01)
# zhubiData = zhubiData[zhubiData['BuyOrderVolume'] > stockNum]
import csv
import math
import os
import time
import numpy as np
import pandas as pd
root='D:/Administrator/Desktop/Stk_Day/'
path =os.listdir(root)
path.sort()
num =10
guben1 = pd.read_csv('../../../股本/流通股本20230924.csv',encoding='gbk')
guben1['变更日期']=pd.to_datetime(guben1['变更日期'])
with open('./2022-2023涨停(000)股本'+'.csv','w',encoding='gbk',newline='') as csfile:
writer =csv.writer(csfile)
writer.writerow(['代码','日期','昨日收盘价','开盘价','最低价','最高价涨幅','成交量','成交额','换手率','买入价格','卖出价格','盈利','涨幅','10日涨幅','流通市值'])
for spath in path:
# 过滤000
if spath.find("SZ0") == -1:
continue
print(spath)
dataS = pd.read_csv(root + spath, encoding='gbk')
dataS['时间'] = pd.to_datetime(dataS['时间'])
data1=dataS[dataS['时间']>=pd.to_datetime('20220101')]
data1 = data1[data1['时间'] < pd.to_datetime('20230907')]
code = spath[2:8] + "." + spath[0:2]
guben = guben1[guben1['代码']==code]
guben =guben.sort_values('变更日期',ascending=False)
for indexitemn in np.arange(len(data1)):
if indexitemn==len(data1)-1:
continue
itemn=data1.iloc[indexitemn]
itemn1 = data1.iloc[indexitemn+1]
data=dataS[dataS['时间']<itemn['时间']]
if (len(data) <5):
continue
item = data.iloc[-1]
if itemn['最高价'] / item['收盘价'] <= 1.09:
continue
zhangting = 0
if zhangting == 0:
data10 = data.iloc[len(data) - 10 - 1:len(data)]
minprice = data10['开盘价'].min()
zhangfu = item['收盘价'] / minprice
# if zhangfu >= 1.15:
# continue
gubenitem = guben.iloc[0]
gubenitem1 = guben[guben['变更日期']<=item['时间']]
if len(gubenitem1)==0:
gubenitem1 = guben.iloc[-1]
else:
gubenitem1=gubenitem1.iloc[0]
huanshou=item['成交量(股)'] / gubenitem1['流通A股']
shizhi = gubenitem['流通A股'] * item['收盘价'] / 100000000.0
# if shizhi > 200:
# continue
num1 = math.floor(2000000 / itemn['最高价'] / 100) * 100
writer.writerow([itemn['代码'],
itemn['时间'],
item['收盘价'],
itemn['开盘价'],
itemn['最低价'],
itemn['最高价']/item['收盘价']-1,
item['成交量(股)'],
item['成交额(元)'],
huanshou,
itemn['最高价'],
itemn1['开盘价'],
num1 * (itemn1['开盘价'] -itemn['最高价']) - itemn['最高价'] * num1 * 0.0002 -
itemn1['开盘价'] * num1 * 0.0012,
itemn1['开盘价'] / itemn['最高价']-1-0.0014,
zhangfu,
shizhi,
])
import csv
import os
import time
from _decimal import Decimal
import numpy as np
import pandas as pd
root='/Users/yumingwu/Downloads/Stk_Day_QFQ/'
path =os.listdir(root)
data = pd.read_csv('./2022-2023涨停(000)股本2连大于700w炸板率.csv',encoding='gbk')
file000 = open('./2022-2023涨停(000)股本2连大于700w炸板率(振幅).csv','w',encoding='gbk',newline='')
writer000 = csv.writer(file000)
writer000.writerow(
['代码', '名称', '日期', '昨日收盘价', '开盘价', '最低价', '最高价涨幅', '成交量', '成交额', '换手率', '买入价格',
'卖出价格', '盈利', '涨幅', '流通市值', '涨停trainID', '涨停BuyOrderID', '涨停vol', '涨停amount','大单ID',
'时间','炸板率','涨停次数','炸板次数','炸板幅度','涨停次日溢价率','次日总溢价率','最近3次触板溢价','一年最高价跌幅','半年最高价跌幅','一日最高价跌幅','三日最高价跌幅','6日最高价跌幅','10日最高价跌幅','12日最高价跌幅','一个月最高价跌幅','3个月最高价跌幅','9个月最高价跌幅','1个月最低价涨幅','3个月最低价涨幅','半年最低价涨幅','9个月最低价涨幅','一年最低价涨幅','振幅','昨日振幅','10日涨幅'])
for index,item in data.iterrows():
day = item['日期']
day =pd.to_datetime(day)
code= item['代码']+'.csv'
codeData=pd.read_csv(root+code,encoding='gbk')
codeData['时间'] = pd.to_datetime(codeData['时间'])
codeData =codeData[codeData['时间']<day]
codeData0=codeData.iloc[-1]
codeData1 = codeData.iloc[-2]
codeData=codeData[len(codeData)-10:len(codeData)]
min = codeData0['收盘价']/(codeData['最低价'].min())-1
writer000.writerow(
[item['代码'],
item['名称'],
item['日期'],
item['昨日收盘价'],
item['开盘价'],
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
item['盈利'],
item['涨幅'],
item['流通市值'],
item['涨停trainID'],
item['涨停BuyOrderID'],
item['涨停vol'],
item['涨停amount'],
item['大单ID'],
item['时间'],
item['炸板率'],
item['涨停次数'],
item['炸板次数'],
item['炸板幅度'],
item['涨停次日溢价率'],
item['次日总溢价率'],
item['最近3次触板溢价'],
item['一年最高价跌幅'],
item['半年最高价跌幅'],
item['一日最高价跌幅'],
item['三日最高价跌幅'],
item['6日最高价跌幅'],
item['10日最高价跌幅'],
item['12日最高价跌幅'],
item['一个月最高价跌幅'],
item['3个月最高价跌幅'],
item['9个月最高价跌幅'],
item['1个月最低价涨幅'],
item['3个月最低价涨幅'],
item['半年最低价涨幅'],
item['9个月最低价涨幅'],
item['一年最低价涨幅'],
(codeData0['最高价']-codeData0['最低价'])/codeData1['收盘价'],
(codeData0['最高价'] - codeData0['最低价']) / codeData0['收盘价'],
min
])
import csv
import os
import time
from _decimal import Decimal
import numpy as np
import pandas as pd
root='/Users/yumingwu/Downloads/Stk_Day_QFQ/'
path =os.listdir(root)
data = pd.read_csv('./2022-2023涨停(000)股本N连单大于700w振幅.csv',encoding='gbk')
file000 = open('./2022-2023涨停(000)股本N连单大于700w振幅反包.csv','w',encoding='gbk',newline='')
writer000 = csv.writer(file000)
writer000.writerow(
['代码','名称','日期', '昨日收盘价','开盘价','开盘涨幅','最低价','最高价涨幅','成交量','成交额','换手率','买入价格','卖出价格','昨日是否涨停','盈利','涨幅','流通市值','跟单明细','连单笔数','总金额','时间','炸板率','涨停次数','炸板次数','触板次数','炸板幅度','涨停次日溢价率','一年最高价跌幅','半年最高价跌幅','一日最高价跌幅','三日最高价跌幅','6日最高价跌幅','10日最高价跌幅','12日最高价跌幅','一个月最高价跌幅','3个月最高价跌幅','9个月最高价跌幅',
'1个月最低价涨幅','3个月最低价涨幅','半年最低价涨幅','9个月最低价涨幅','一年最低价涨幅','振幅','昨日振幅','10日涨幅','十日是否有涨停','十日最高价跌幅','十日涨停价跌幅'])
for index,item in data.iterrows():
day = item['日期']
day =pd.to_datetime(day)
code= item['代码']+'.csv'
codeData=pd.read_csv(root+code,encoding='gbk')
codeData['时间'] = pd.to_datetime(codeData['时间'])
codeData =codeData[codeData['时间']<day]
codeData0=codeData.iloc[-1]
codeData1 = codeData.iloc[-2]
if len(codeData)<10:
continue
codeData=codeData[len(codeData)-10:len(codeData)]
codeData7 = codeData[len(codeData) - 8:len(codeData)]
min = codeData0['收盘价']/(codeData['最低价'].min())-1
max = codeData0['收盘价']/(codeData['最高价'].max())-1
data =codeData7
zhangtingItem=0
zhangting=0
for i in np.arange(len(data)):
if i > 0:
item0 = data.iloc[i - 1]
item1 = data.iloc[i]
if item1['收盘价'] / item0['收盘价'] > 1.08:
n = len(data) - i + 1
zhangting = zhangting + 1
zhangtingItem = item1
# if flag:
# continue
zhangtingFlag=0
zhangtingrate = -1
if zhangting >0:
zhangtingFlag=1
zhangtingrate=codeData0['收盘价'] / zhangtingItem['最高价']- 1
times = item['跟单明细'].split('--|--')
times = times[len(times)-1]
times = times.split(',')
time = times[len(times) - 1]
writer000.writerow(
[item['代码'],
item['名称'],
item['日期'],
item['昨日收盘价'],
item['开盘价'],
item['开盘涨幅'],
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
item['昨日是否涨停'],
item['盈利'],
item['涨幅'],
item['流通市值'],
item['跟单明细'],
item['连单笔数'],
item['总金额'],
time,
item['炸板率'],
item['涨停次数'],
item['炸板次数'],
item['触板次数'],
item['炸板幅度'],
item['涨停次日溢价率'],
item['一年最高价跌幅'],
item['半年最高价跌幅'],
item['一日最高价跌幅'],
item['三日最高价跌幅'],
item['6日最高价跌幅'],
item['10日最高价跌幅'],
item['12日最高价跌幅'],
item['一个月最高价跌幅'],
item['3个月最高价跌幅'],
item['9个月最高价跌幅'],
item['1个月最低价涨幅'],
item['3个月最低价涨幅'],
item['半年最低价涨幅'],
item['9个月最低价涨幅'],
item['一年最低价涨幅'],
item['振幅'],
item['昨日振幅'],
item['10日涨幅'],
zhangtingFlag,
max,
zhangtingrate
])
import csv
import math
import os
import time
import numpy as np
import pandas as pd
root='/Users/yumingwu/Downloads/Stk_Day/'
path =os.listdir(root)
path.sort()
guben1 = pd.read_csv('../../../../600打板/流通股本.csv',encoding='utf-8')
guben1['变更日期']=pd.to_datetime(guben1['变更日期'])
data = pd.read_csv('./2022涨停(000)股本N连单大于700w.csv',encoding='gbk')
data['日期']=pd.to_datetime(data['日期'])
with open('./2022-2023涨停(000)股本N连单大于700w市值'+'.csv','w',encoding='gbk',newline='') as csfile:
writer =csv.writer(csfile)
writer.writerow(['代码','名称','日期', '昨日收盘价','开盘价','最低价','最高价涨幅','成交量','成交额','换手率','买入价格','卖出价格','昨日是否涨停','盈利','涨幅','流通市值','跟单明细','连单笔数','总金额'])
for index,item in data.iterrows():
dataS = pd.read_csv(root + item['代码']+'.csv', encoding='gbk')
dataS['时间'] = pd.to_datetime(dataS['时间'])
data1 = dataS[dataS['时间'] < item['日期']]
item2 = data1.iloc[-1]
item3 = data1.iloc[-2]
code = item['代码'][2:8] + "." + item['代码'][0:2]
guben = guben1[guben1['代码'] == code]
guben = guben.sort_values('变更日期', ascending=False)
gubenitem1 = guben[guben['变更日期'] <= item['日期']]
if len(gubenitem1) == 0:
gubenitem1 = guben.iloc[-1]
else:
gubenitem1 = gubenitem1.iloc[0]
huanshou = item2['成交量(股)'] / gubenitem1['流通A股']
shizhi = gubenitem1['流通A股'] * item2['收盘价'] / 100000000.0
zhangting =0;
if item2['收盘价']/item3['收盘价']>1.098:
zhangting=1
writer.writerow([item['代码'],
item['名称'],
item['日期'],
item['昨日收盘价'],
item['开盘价'],
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
zhangting,
item['盈利'],
item['涨幅'],
shizhi,
item['跟单明细'],
item['连单笔数'],
item['总金额'],
])
import csv
import os
import time
from _decimal import Decimal
import numpy as np
import pandas as pd
root='/Users/yumingwu/Downloads/Stk_Day_QFQ/'
path =os.listdir(root)
data = pd.read_csv('./2022-2023涨停(000)股本N连单10%大于700w炸板率.csv',encoding='gbk')
file000 = open('./2022-2023涨停(000)股本N连单10%大于700w振幅.csv','w',encoding='gbk',newline='')
writer000 = csv.writer(file000)
writer000.writerow(
['代码','名称','日期', '昨日收盘价','开盘价','开盘涨幅','最低价','最高价涨幅','成交量','成交额','换手率','买入价格','卖出价格','昨日是否涨停','盈利','涨幅','流通市值','跟单明细','连单笔数','总金额','时间','炸板率','涨停次数','炸板次数','触板次数','炸板幅度','涨停次日溢价率','次日总溢价率','最近3次触板溢价','一年最高价跌幅','半年最高价跌幅','一日最高价跌幅','三日最高价跌幅','6日最高价跌幅','10日最高价跌幅','12日最高价跌幅','一个月最高价跌幅','3个月最高价跌幅','9个月最高价跌幅',
'1个月最低价涨幅','3个月最低价涨幅','半年最低价涨幅','9个月最低价涨幅','一年最低价涨幅','振幅','昨日振幅','10日涨幅'])
for index,item in data.iterrows():
day = item['日期']
day =pd.to_datetime(day)
code= item['代码']+'.csv'
codeData=pd.read_csv(root+code,encoding='gbk')
codeData['时间'] = pd.to_datetime(codeData['时间'])
codeData =codeData[codeData['时间']<day]
codeData0=codeData.iloc[-1]
codeData1 = codeData.iloc[-2]
codeData=codeData[len(codeData)-10:len(codeData)]
min = codeData0['收盘价']/(codeData['最低价'].min())-1
writer000.writerow(
[item['代码'],
item['名称'],
item['日期'],
item['昨日收盘价'],
item['开盘价'],
item['开盘涨幅'],
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
item['昨日是否涨停'],
item['盈利'],
item['涨幅'],
item['流通市值'],
item['跟单明细'],
item['连单笔数'],
item['总金额'],
item['时间'],
item['炸板率'],
item['涨停次数'],
item['炸板次数'],
item['触板次数'],
item['炸板幅度'],
item['涨停次日溢价率'],
item['次日总溢价率'],
item['最近3次触板溢价'],
item['一年最高价跌幅'],
item['半年最高价跌幅'],
item['一日最高价跌幅'],
item['三日最高价跌幅'],
item['6日最高价跌幅'],
item['10日最高价跌幅'],
item['12日最高价跌幅'],
item['一个月最高价跌幅'],
item['3个月最高价跌幅'],
item['9个月最高价跌幅'],
item['1个月最低价涨幅'],
item['3个月最低价涨幅'],
item['半年最低价涨幅'],
item['9个月最低价涨幅'],
item['一年最低价涨幅'],
(codeData0['最高价']-codeData0['最低价'])/codeData1['收盘价'],
(codeData0['最高价'] - codeData0['最低价']) / codeData0['收盘价'],
min
])
import csv
import os
import time
from _decimal import Decimal
import numpy as np
import pandas as pd
root='/Users/yumingwu/Downloads/Stk_Day_QFQ/'
path =os.listdir(root)
data = pd.read_csv('./2022涨停(000)股本N连单10%大于700w.csv',encoding='gbk')
file000 = open('./2022-2023涨停(000)股本N连单10%大于700w炸板率.csv','w',encoding='gbk',newline='')
writer000 = csv.writer(file000)
writer000.writerow(
['代码','名称','日期', '昨日收盘价','开盘价','开盘涨幅','最低价','最高价涨幅','成交量','成交额','换手率','买入价格','卖出价格','昨日是否涨停','盈利','涨幅','流通市值','跟单明细','连单笔数','总金额','时间','炸板率','涨停次数','炸板次数','触板次数','炸板幅度','涨停次日溢价率','次日总溢价率','最近3次触板溢价','一年最高价跌幅','半年最高价跌幅','一日最高价跌幅','三日最高价跌幅','6日最高价跌幅','10日最高价跌幅','12日最高价跌幅','一个月最高价跌幅','3个月最高价跌幅','9个月最高价跌幅',
'1个月最低价涨幅','3个月最低价涨幅','半年最低价涨幅','9个月最低价涨幅','一年最低价涨幅'])
for index,item in data.iterrows():
day = item['日期']
day =pd.to_datetime(day)
code= item['代码']+'.csv'
print(item['代码'])
codeData=pd.read_csv(root+code,encoding='gbk')
codeData['时间'] = pd.to_datetime(codeData['时间'])
codeData =codeData[codeData['时间']<day]
day1=day-pd.offsets.DateOffset(years=1)
codeData = codeData[codeData['时间'] >= day1]
if len(codeData)==0:
continue
day2 = day - pd.offsets.DateOffset(months=6)
day1_month = day - pd.offsets.DateOffset(months=1)
day3_month = day - pd.offsets.DateOffset(months=3)
day9_month = day - pd.offsets.DateOffset(months=9)
codeData_6_month = codeData[codeData['时间'] >= day2]
codeData_1_month = codeData[codeData['时间'] >= day1_month]
codeData_3_month = codeData[codeData['时间'] >= day3_month]
codeData_9_month = codeData[codeData['时间'] >= day9_month]
codeData1 = codeData[len(codeData)-1:len(codeData)]
codeData3= codeData[len(codeData) - 3:len(codeData)]
codeData6 = codeData[len(codeData) - 6:len(codeData)]
codeData9 = codeData[len(codeData) - 10:len(codeData)]
codeData12 = codeData[len(codeData) - 12:len(codeData)]
item_y=codeData.iloc[-1]
item_y2 = codeData.iloc[-1]
if item_y['收盘价'] / item_y2['收盘价'] > 1.098:
zhangting = 1
rate_year = item_y['收盘价']/codeData['最高价'].max()
rate_year_min = item_y['收盘价'] / codeData['最低价'].min()
rate_6_month = item_y['收盘价'] / codeData_6_month['最高价'].max()
rate_6_month_min = item_y['收盘价'] / codeData_6_month['最低价'].min()
rate_1_month = item_y['收盘价'] / codeData_1_month['最高价'].max()
rate_1_month_min = item_y['收盘价'] / codeData_1_month['最低价'].min()
rate_3_month = item_y['收盘价'] / codeData_3_month['最高价'].max()
rate_3_month_min = item_y['收盘价'] / codeData_3_month['最低价'].min()
rate_9_month = item_y['收盘价'] / codeData_9_month['最高价'].max()
rate_9_month_min = item_y['收盘价'] / codeData_9_month['最低价'].min()
rate_1 = item_y['收盘价'] / codeData1['最高价'].max()
rate_3= item_y['收盘价'] / codeData3['最高价'].max()
rate_6 = item_y['收盘价'] / codeData6['最高价'].max()
rate_9 = item_y['收盘价'] / codeData9['最高价'].max()
rate_12 = item_y['收盘价'] / codeData12['最高价'].max()
zhangtingTime=0
zhaBanTime=0
zhaBanTimefudu=0
zhangtingyijia=0
zhangtingyijiazong = 0
arr3 = []
for i in np.arange(len(codeData)):
if i==0:
continue
if i==len(codeData)-1:
continue
item0 = codeData.iloc[i-1]
item1 = codeData.iloc[i]
item2 = codeData.iloc[i+1]
if item1['最高价']/item0['收盘价']>1.098:
zhangtingyijiazong = zhangtingyijiazong + item2['开盘价'] / item1['最高价'] - 1.0014
arr3.append(item2['开盘价'] / item1['最高价'] - 1.0014)
if item1['最高价']==item1['收盘价']:
zhangtingTime=zhangtingTime+1
zhangtingyijia = zhangtingyijia + item2['开盘价'] / item1['最高价'] - 1.0014
else:
zhaBanTime=zhaBanTime+1
zhaBanTimefudu=zhaBanTimefudu+(item2['开盘价']/item1['最高价']-1.0014)
rate =0
if zhangtingTime>0 or zhaBanTime>0:
rate = zhaBanTime/(zhangtingTime+zhaBanTime)
if zhaBanTime!=0:
zhaBanTimefudu=zhaBanTimefudu/zhaBanTime
if zhangtingTime!=0:
zhangtingyijia=zhangtingyijia/zhangtingTime
if (zhangtingTime +zhaBanTime)!= 0:
zhangtingyijiazong = zhangtingyijiazong / (zhangtingTime+zhaBanTime)
rate3=-100
if len(arr3)>=3:
arr3 = arr3[len(arr3)-3:len(arr3)]
rate3 = (arr3[0]+arr3[1]+arr3[2])/3
zhangting = 0;
writer000.writerow(
[item['代码'],
item['名称'],
item['日期'],
item['昨日收盘价'],
item['开盘价'],
float(item['开盘价'])/float(item['昨日收盘价']),
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
zhangting,
item['盈利'],
item['涨幅'],
item['流通市值'],
item['跟单明细'],
item['连单笔数'],
item['总金额'],
item['时间'],
rate,
zhangtingTime,
zhaBanTime,
zhangtingTime+zhaBanTime,
zhaBanTimefudu,
zhangtingyijia,
zhangtingyijiazong,
rate3,
rate_year,
rate_6_month,
rate_1,
rate_3,
rate_6,
rate_9,
rate_12,
rate_1_month,
rate_3_month,
rate_9_month,
rate_1_month_min,
rate_3_month_min,
rate_6_month_min,
rate_9_month_min,
rate_year_min
])
import csv
import math
import os
import time
import numpy as np
import pandas as pd
data = pd.read_excel('000连单.xlsx')
# data =data[data['昨日是否涨停']==0]
# data = data[data['开盘涨停']==0]
data = data.groupby('代码')
with open('./000连单统计'+'.csv','w',encoding='gbk',newline='') as csfile:
writer =csv.writer(csfile)
writer.writerow(['代码','名称','日期','盈利','总盈利','次数'])
for i ,item1 in data:
for index,item in item1.iterrows():
writer.writerow([item['代码'], item['名称'],item['日期'],item['盈利'],item1['盈利'].sum(),len(item1)])
import csv
import os
import time
from _decimal import Decimal
import numpy as np
import pandas as pd
root='/Users/yumingwu/Downloads/Stk_Day_QFQ/'
path =os.listdir(root)
data = pd.read_csv('./2022涨停(000)股本2连大于700w.csv',encoding='gbk')
file000 = open('./2022-2023涨停(000)股本2连大于700w炸板率.csv','w',encoding='gbk',newline='')
writer000 = csv.writer(file000)
writer000.writerow(
['代码', '名称', '日期', '昨日收盘价', '开盘价', '最低价', '最高价涨幅', '成交量', '成交额', '换手率', '买入价格',
'卖出价格', '盈利', '涨幅', '流通市值', '涨停trainID', '涨停BuyOrderID', '涨停vol', '涨停amount', '大单ID',
'时间','炸板率','涨停次数','炸板次数','炸板幅度','涨停次日溢价率','次日总溢价率','最近3次触板溢价','一年最高价跌幅','半年最高价跌幅','一日最高价跌幅','三日最高价跌幅','6日最高价跌幅','10日最高价跌幅','12日最高价跌幅','一个月最高价跌幅','3个月最高价跌幅','9个月最高价跌幅',
'1个月最低价涨幅','3个月最低价涨幅','半年最低价涨幅','9个月最低价涨幅','一年最低价涨幅'])
for index,item in data.iterrows():
day = item['日期']
print(day)
print( item['代码'])
day =pd.to_datetime(day)
code= item['代码']+'.csv'
codeData=pd.read_csv(root+code,encoding='gbk')
codeData['时间'] = pd.to_datetime(codeData['时间'])
codeData =codeData[codeData['时间']<day]
day1=day-pd.offsets.DateOffset(years=1)
codeData = codeData[codeData['时间'] >= day1]
day2 = day - pd.offsets.DateOffset(months=6)
day1_month = day - pd.offsets.DateOffset(months=1)
day3_month = day - pd.offsets.DateOffset(months=3)
day9_month = day - pd.offsets.DateOffset(months=9)
codeData_6_month = codeData[codeData['时间'] >= day2]
codeData_1_month = codeData[codeData['时间'] >= day1_month]
codeData_3_month = codeData[codeData['时间'] >= day3_month]
codeData_9_month = codeData[codeData['时间'] >= day9_month]
codeData1 = codeData[len(codeData)-1:len(codeData)]
codeData3= codeData[len(codeData) - 3:len(codeData)]
codeData6 = codeData[len(codeData) - 6:len(codeData)]
codeData9 = codeData[len(codeData) - 10:len(codeData)]
codeData12 = codeData[len(codeData) - 12:len(codeData)]
if len(codeData)<10:
continue
item_y=codeData.iloc[-1]
rate_year = item_y['收盘价']/codeData['最高价'].max()
rate_year_min = item_y['收盘价'] / codeData['最低价'].min()
rate_6_month = item_y['收盘价'] / codeData_6_month['最高价'].max()
rate_6_month_min = item_y['收盘价'] / codeData_6_month['最低价'].min()
rate_1_month = item_y['收盘价'] / codeData_1_month['最高价'].max()
rate_1_month_min = item_y['收盘价'] / codeData_1_month['最低价'].min()
rate_3_month = item_y['收盘价'] / codeData_3_month['最高价'].max()
rate_3_month_min = item_y['收盘价'] / codeData_3_month['最低价'].min()
rate_9_month = item_y['收盘价'] / codeData_9_month['最高价'].max()
rate_9_month_min = item_y['收盘价'] / codeData_9_month['最低价'].min()
rate_1 = item_y['收盘价'] / codeData1['最高价'].max()
rate_3= item_y['收盘价'] / codeData3['最高价'].max()
rate_6 = item_y['收盘价'] / codeData6['最高价'].max()
rate_9 = item_y['收盘价'] / codeData9['最高价'].max()
rate_12 = item_y['收盘价'] / codeData12['最高价'].max()
zhangtingTime=0
zhaBanTime=0
zhaBanTimefudu=0
zhangtingyijia=0
zhangtingyijiazong = 0
arr3 = []
for i in np.arange(len(codeData)):
if i==0:
continue
if i==len(codeData)-1:
continue
item0 = codeData.iloc[i-1]
item1 = codeData.iloc[i]
item2 = codeData.iloc[i+1]
if item1['最高价']/item0['收盘价']>1.098:
zhangtingyijiazong = zhangtingyijiazong + item2['开盘价'] / item1['最高价'] - 1.0014
arr3.append(item2['开盘价'] / item1['最高价'] - 1.0014)
if item1['最高价']==item1['收盘价']:
zhangtingTime=zhangtingTime+1
zhangtingyijia = zhangtingyijia + item2['开盘价'] / item1['最高价'] - 1.0014
else:
zhaBanTime=zhaBanTime+1
zhaBanTimefudu=zhaBanTimefudu+(item2['开盘价']/item1['最高价']-1.0014)
rate =0
if zhangtingTime>0 or zhaBanTime>0:
rate = zhaBanTime/(zhangtingTime+zhaBanTime)
if zhaBanTime!=0:
zhaBanTimefudu=zhaBanTimefudu/zhaBanTime
if zhangtingTime!=0:
zhangtingyijia=zhangtingyijia/zhangtingTime
if (zhangtingTime +zhaBanTime)!= 0:
zhangtingyijiazong = zhangtingyijiazong / (zhangtingTime+zhaBanTime)
rate3=-100
if len(arr3)>=3:
arr3 = arr3[len(arr3)-3:len(arr3)]
rate3 = (arr3[0]+arr3[1]+arr3[2])/3
writer000.writerow(
[item['代码'],
item['名称'],
item['日期'],
item['昨日收盘价'],
item['开盘价'],
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
item['盈利'],
item['涨幅'],
item['流通市值'],
item['涨停trainID'],
item['涨停BuyOrderID'],
item['涨停vol'],
item['涨停amount'],
item['大单ID'],
item['时间'],
rate,
zhangtingTime,
zhaBanTime,
zhaBanTimefudu,
zhangtingyijia,
zhangtingyijiazong,
rate3,
rate_year,
rate_6_month,
rate_1,
rate_3,
rate_6,
rate_9,
rate_12,
rate_1_month,
rate_3_month,
rate_9_month,
rate_1_month_min,
rate_3_month_min,
rate_6_month_min,
rate_9_month_min,
rate_year_min
])
......@@ -10,7 +10,7 @@ path =os.listdir(root)
data = pd.read_csv('./2022未涨停(000)股本首笔大单大于700w-b1-8%type第一个为B炸板率(振幅).csv',encoding='utf-8')
file000 = open('./2022未涨停(000)股本首笔大单大于700w-b1-8%type第一个为B炸板率(振幅)反包10.csv','w',encoding='gbk',newline='')
file000 = open('./2022未涨停(000)股本首笔大单大于700w-b1-8%type第一个为B炸板率(振幅)反包.csv','w',encoding='gbk',newline='')
writer000 = csv.writer(file000)
writer000.writerow(
['代码', '名称', '日期', '昨日收盘价', '开盘价', '最低价', '最高价涨幅', '成交量', '成交额', '换手率', '买入价格',
......
import csv
import os
import time
from _decimal import Decimal
import numpy as np
import pandas as pd
root='/Users/yumingwu/Downloads/Stk_Day_QFQ/'
path =os.listdir(root)
data = pd.read_csv('./2023涨停(000)股本涨停时间炸板率(振幅).csv',encoding='gbk')
file000 = open('./2023涨停(000)股本涨停时间炸板率(振幅)反包.csv','w',encoding='gbk',newline='')
writer000 = csv.writer(file000)
writer000.writerow(
['代码', '名称', '日期', '昨日收盘价', '开盘价', '最低价', '最高价涨幅', '成交量', '成交额', '换手率', '买入价格',
'卖出价格', '盈利', '涨幅', '流通市值', '涨停trainID', '涨停BuyOrderID', '涨停vol',
'时间','炸板率','涨停次数','炸板次数','炸板幅度','涨停次日溢价率','振幅','昨日振幅','昨日跌幅','10日涨幅','十日是否有涨停','十日最高价跌幅','十日涨停价跌幅'])
for index,item in data.iterrows():
day = item['日期']
day =pd.to_datetime(day)
code= item['代码']+'.csv'
codeData=pd.read_csv(root+code,encoding='gbk')
codeData['时间'] = pd.to_datetime(codeData['时间'])
codeData =codeData[codeData['时间']<day]
codeData0=codeData.iloc[-1]
codeData1 = codeData.iloc[-2]
if len(codeData)<10:
continue
codeData=codeData[len(codeData)-10:len(codeData)]
codeData7 = codeData[len(codeData) -8:len(codeData)]
min = codeData0['收盘价']/(codeData['最低价'].min())-1
max = codeData0['收盘价']/(codeData['最高价'].max())-1
data =codeData7
zhangtingItem=0
zhangting=0
for i in np.arange(len(data)):
if i > 0:
item0 = data.iloc[i - 1]
item1 = data.iloc[i]
if item1['收盘价'] / item0['收盘价'] > 1.08:
n = len(data) - i + 1
zhangting = zhangting + 1
zhangtingItem = item1
# if flag:
# continue
zhangtingFlag=0
zhangtingrate = -1
if zhangting >0:
zhangtingFlag=1
zhangtingrate=codeData0['收盘价'] / zhangtingItem['最高价']- 1
writer000.writerow(
[item['代码'],
item['名称'],
item['日期'],
item['昨日收盘价'],
item['开盘价'],
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
item['盈利'],
item['涨幅'],
item['流通市值'],
item['涨停trainID'],
item['涨停BuyOrderID'],
item['涨停vol'],
item['时间'],
item['炸板率'],
item['涨停次数'],
item['炸板次数'],
item['炸板幅度'],
item['涨停次日溢价率'],
(codeData0['最高价']-codeData0['最低价'])/codeData1['收盘价'],
(codeData0['最高价'] - codeData0['最低价']) / codeData0['收盘价'],
codeData0['收盘价']/codeData1['收盘价']-1,
min,
zhangtingFlag,
max,
zhangtingrate
])
......@@ -8,7 +8,7 @@ import pandas as pd
root='/Users/yumingwu/Downloads/Stk_Day_QFQ/'
path =os.listdir(root)
data = pd.read_csv('./2022-202307未涨停(000)股本首笔大单大于700w-b1-8%type第一个为B炸板率.csv',encoding='gbk')
data = pd.read_csv('./2023涨停(000)股本涨停时间炸板率.csv',encoding='gbk')
file000 = open('./2022-202307未涨停(000)股本首笔大单大于700w-b1-8%type第一个为B(振幅)3.csv','w',encoding='gbk',newline='')
writer000 = csv.writer(file000)
......
import csv
import os
import time
from _decimal import Decimal
import numpy as np
import pandas as pd
root='/Users/yumingwu/Downloads/Stk_Day_QFQ/'
path =os.listdir(root)
data = pd.read_csv('./2023涨停(000)股本涨停时间炸板率.csv',encoding='gbk')
file000 = open('./2023涨停(000)股本涨停时间炸板率(振幅).csv','w',encoding='gbk',newline='')
writer000 = csv.writer(file000)
writer000.writerow(
['代码', '名称', '日期', '昨日收盘价', '开盘价', '最低价', '最高价涨幅', '成交量', '成交额', '换手率', '买入价格',
'卖出价格', '盈利', '涨幅', '流通市值', '涨停trainID', '涨停BuyOrderID', '涨停vol',
'时间','炸板率','涨停次数','炸板次数','炸板幅度','涨停次日溢价率','次日总溢价率','最近3次触板溢价','一年最高价跌幅','半年最高价跌幅','一日最高价跌幅','三日最高价跌幅','6日最高价跌幅','9日最高价跌幅','12日最高价跌幅','一个月最高价跌幅','3个月最高价跌幅','9个月最高价跌幅','1个月最低价涨幅','3个月最低价涨幅','半年最低价涨幅','9个月最低价涨幅','一年最低价涨幅','振幅','昨日振幅','10日涨幅'])
for index,item in data.iterrows():
day = item['日期']
day =pd.to_datetime(day)
code= item['代码']+'.csv'
codeData=pd.read_csv(root+code,encoding='gbk')
codeData['时间'] = pd.to_datetime(codeData['时间'])
codeData =codeData[codeData['时间']<day]
codeData0=codeData.iloc[-1]
codeData1 = codeData.iloc[-2]
codeData=codeData[len(codeData)-10:len(codeData)]
min = codeData0['收盘价']/(codeData['最低价'].min())-1
writer000.writerow(
[item['代码'],
item['名称'],
item['日期'],
item['昨日收盘价'],
item['开盘价'],
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
item['盈利'],
item['涨幅'],
item['流通市值'],
item['涨停trainID'],
item['涨停BuyOrderID'],
item['涨停vol'],
item['时间'],
item['炸板率'],
item['涨停次数'],
item['炸板次数'],
item['炸板幅度'],
item['涨停次日溢价率'],
item['次日总溢价率'],
item['最近3次触板溢价'],
item['一年最高价跌幅'],
item['半年最高价跌幅'],
item['一日最高价跌幅'],
item['三日最高价跌幅'],
item['6日最高价跌幅'],
item['9日最高价跌幅'],
item['12日最高价跌幅'],
item['一个月最高价跌幅'],
item['3个月最高价跌幅'],
item['9个月最高价跌幅'],
item['1个月最低价涨幅'],
item['3个月最低价涨幅'],
item['半年最低价涨幅'],
item['9个月最低价涨幅'],
item['一年最低价涨幅'],
(codeData0['最高价']-codeData0['最低价'])/codeData1['收盘价'],
(codeData0['最高价'] - codeData0['最低价']) / codeData0['收盘价'],
min
])
import csv
import math
import os
import time
import numpy as np
import pandas as pd
root='/Volumes/Elements SE/逐笔202301-03/'
data=pd.read_csv('./2023未涨停(000)股本.csv',encoding='gbk')
data['日期']=pd.to_datetime(data['日期'])
data = data.groupby('日期')
name = pd.read_excel('/Users/yumingwu/Desktop/沪深A股.xlsx')
with open('./2023涨停(000)股本涨停时间'+'.csv','w',encoding='gbk',newline='') as csfile:
writer =csv.writer(csfile)
writer.writerow(['代码','名称','日期', '昨日收盘价','开盘价','最低价','最高价涨幅','成交量','成交额','换手率','买入价格','卖出价格','盈利','涨幅','流通市值','涨停trainID','涨停BuyOrderID','涨停vol','时间'])
for day,dataR in data:
print(day)
# if(day>=pd.to_datetime('2023-07-19')):
# continue
daystr= day.strftime("%Y-%m-%d")
for index,item in dataR.iterrows():
# if item['代码']!='SZ002851':
# continue
if os.path.exists(root + daystr + '/' + item['代码'][2:8] + '.csv') == False:
print(root + daystr + '/' + item['代码'][2:8] + '.csv')
continue
zhubiData= pd.read_csv(root+daystr+'/'+item['代码'][2:8]+'.csv')
zhubiData=zhubiData[zhubiData['Time']>'09:25:00']
zhubiData['amount']=zhubiData['Volume']*zhubiData['BuyOrderPrice']
zhangtingjia=zhubiData['BuyOrderPrice'].max()
maxPrice= zhubiData['Price'].max()
maxPriceItem = zhubiData[zhubiData['Price']>=maxPrice]
maxPriceItem=maxPriceItem.iloc[0]
zhangtingdata = zhubiData[zhubiData['BuyOrderID']==maxPriceItem['BuyOrderID']]
num = math.floor(2000000 / item['买入价格'] / 100) * 100
codename = item['代码'][2:8] + "." + item['代码'][0:2]
codename = name[name['股票代码'] == codename]
if len(codename) == 0:
codename = ''
else:
codename = codename.iloc[0]['股票简称']
if (maxPrice / item['昨日收盘价'] > 1.08 ):
writer.writerow(
[item['代码'],
codename,
item['日期'],
item['昨日收盘价'],
item['开盘价'],
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
num * (item['卖出价格'] - item['买入价格']) - item['买入价格'] * num * 0.0002 - item[
'卖出价格'] * num * 0.0012,
item['涨幅'],
item['流通市值'],
maxPriceItem['TranID'],
maxPriceItem['BuyOrderID'],
zhangtingdata['Volume'].sum(),
maxPriceItem['Time']
])
......@@ -8,14 +8,14 @@ import pandas as pd
root='/Users/yumingwu/Downloads/Stk_Day_QFQ/'
path =os.listdir(root)
data = pd.read_csv('./2022未涨停(000)股本首笔大单大于700w-b1-8%type第一个为B炸板率(振幅).csv',encoding='utf-8')
data = pd.read_csv('./2023涨停(000)股本涨停时间.csv',encoding='utf-8')
file000 = open('./2022-202307未涨停(000)股本首笔大单大于700w-b1-8%type第一个为B炸板率.csv','w',encoding='gbk',newline='')
file000 = open('./2023涨停(000)股本涨停时间炸板率.csv','w',encoding='gbk',newline='')
writer000 = csv.writer(file000)
writer000.writerow(
['代码', '名称', '日期', '昨日收盘价', '开盘价', '最低价', '最高价涨幅', '成交量', '成交额', '换手率', '买入价格',
'卖出价格', '盈利', '涨幅', '流通市值', '涨停trainID', '涨停BuyOrderID', '涨停vol', '涨停amount', '大单ID',
'时间','炸板率','涨停次数','炸板次数','炸板幅度','涨停次日溢价率','次日总溢价率','最近3次触板溢价','一年最高价跌幅','半年最高价跌幅','一日最高价跌幅','三日最高价跌幅','6日最高价跌幅','9日最高价跌幅','12日最高价跌幅','一个月最高价跌幅','3个月最高价跌幅','9个月最高价跌幅',
'时间','炸板率','涨停次数','炸板次数','炸板幅度','涨停次日溢价率','次日总溢价率','最近3次触板溢价','一年最高价跌幅','半年最高价跌幅','一日最高价跌幅','三日最高价跌幅','6日最高价跌幅','10日最高价跌幅','12日最高价跌幅','一个月最高价跌幅','3个月最高价跌幅','9个月最高价跌幅',
'1个月最低价涨幅','3个月最低价涨幅','半年最低价涨幅','9个月最低价涨幅','一年最低价涨幅'])
for index,item in data.iterrows():
day = item['日期']
......@@ -42,7 +42,7 @@ for index,item in data.iterrows():
codeData1 = codeData[len(codeData)-1:len(codeData)]
codeData3= codeData[len(codeData) - 3:len(codeData)]
codeData6 = codeData[len(codeData) - 6:len(codeData)]
codeData9 = codeData[len(codeData) - 9:len(codeData)]
codeData9 = codeData[len(codeData) - 10:len(codeData)]
codeData12 = codeData[len(codeData) - 12:len(codeData)]
item_y=codeData.iloc[-1]
rate_year = item_y['收盘价']/codeData['最高价'].max()
......
import csv
import os
import time
from _decimal import Decimal
import numpy as np
import pandas as pd
root='/Users/yumingwu/Downloads/Stk_Day_QFQ/'
path =os.listdir(root)
data = pd.read_csv('./2023涨停(000)股本涨停时间.csv',encoding='utf-8')
file000 = open('./2023涨停(000)股本涨停时间炸板率.csv','w',encoding='gbk',newline='')
writer000 = csv.writer(file000)
writer000.writerow(
['代码', '名称', '日期', '昨日收盘价', '开盘价', '最低价', '最高价涨幅', '成交量', '成交额', '换手率', '买入价格',
'卖出价格', '盈利', '涨幅', '流通市值', '涨停trainID', '涨停BuyOrderID', '涨停vol',
'时间','炸板率','涨停次数','炸板次数','炸板幅度','涨停次日溢价率','次日总溢价率','最近3次触板溢价','一年最高价跌幅','半年最高价跌幅','一日最高价跌幅','三日最高价跌幅','6日最高价跌幅','9日最高价跌幅','12日最高价跌幅','一个月最高价跌幅','3个月最高价跌幅','9个月最高价跌幅',
'1个月最低价涨幅','3个月最低价涨幅','半年最低价涨幅','9个月最低价涨幅','一年最低价涨幅'])
for index,item in data.iterrows():
day = item['日期']
day =pd.to_datetime(day)
code= item['代码']+'.csv'
codeData=pd.read_csv(root+code,encoding='gbk')
codeData['时间'] = pd.to_datetime(codeData['时间'])
codeData =codeData[codeData['时间']<day]
day1=day-pd.offsets.DateOffset(years=1)
codeData = codeData[codeData['时间'] >= day1]
day2 = day - pd.offsets.DateOffset(months=6)
day1_month = day - pd.offsets.DateOffset(months=1)
day3_month = day - pd.offsets.DateOffset(months=3)
day9_month = day - pd.offsets.DateOffset(months=9)
codeData_6_month = codeData[codeData['时间'] >= day2]
codeData_1_month = codeData[codeData['时间'] >= day1_month]
codeData_3_month = codeData[codeData['时间'] >= day3_month]
codeData_9_month = codeData[codeData['时间'] >= day9_month]
codeData1 = codeData[len(codeData)-1:len(codeData)]
codeData3= codeData[len(codeData) - 3:len(codeData)]
codeData6 = codeData[len(codeData) - 6:len(codeData)]
codeData9 = codeData[len(codeData) - 9:len(codeData)]
codeData12 = codeData[len(codeData) - 12:len(codeData)]
item_y=codeData.iloc[-1]
rate_year = item_y['收盘价']/codeData['最高价'].max()
rate_year_min = item_y['收盘价'] / codeData['最低价'].min()
rate_6_month = item_y['收盘价'] / codeData_6_month['最高价'].max()
rate_6_month_min = item_y['收盘价'] / codeData_6_month['最低价'].min()
rate_1_month = item_y['收盘价'] / codeData_1_month['最高价'].max()
rate_1_month_min = item_y['收盘价'] / codeData_1_month['最低价'].min()
rate_3_month = item_y['收盘价'] / codeData_3_month['最高价'].max()
rate_3_month_min = item_y['收盘价'] / codeData_3_month['最低价'].min()
rate_9_month = item_y['收盘价'] / codeData_9_month['最高价'].max()
rate_9_month_min = item_y['收盘价'] / codeData_9_month['最低价'].min()
rate_1 = item_y['收盘价'] / codeData1['最高价'].max()
rate_3= item_y['收盘价'] / codeData3['最高价'].max()
rate_6 = item_y['收盘价'] / codeData6['最高价'].max()
rate_9 = item_y['收盘价'] / codeData9['最高价'].max()
rate_12 = item_y['收盘价'] / codeData12['最高价'].max()
zhangtingTime=0
zhaBanTime=0
zhaBanTimefudu=0
zhangtingyijia=0
zhangtingyijiazong = 0
arr3 = []
for i in np.arange(len(codeData)):
if i==0:
continue
if i==len(codeData)-1:
continue
item0 = codeData.iloc[i-1]
item1 = codeData.iloc[i]
item2 = codeData.iloc[i+1]
if item1['最高价']/item0['收盘价']>1.098:
zhangtingyijiazong = zhangtingyijiazong + item2['开盘价'] / item1['最高价'] - 1.0014
arr3.append(item2['开盘价'] / item1['最高价'] - 1.0014)
if item1['最高价']==item1['收盘价']:
zhangtingTime=zhangtingTime+1
zhangtingyijia = zhangtingyijia + item2['开盘价'] / item1['最高价'] - 1.0014
else:
zhaBanTime=zhaBanTime+1
zhaBanTimefudu=zhaBanTimefudu+(item2['开盘价']/item1['最高价']-1.0014)
rate =0
if zhangtingTime>0 or zhaBanTime>0:
rate = zhaBanTime/(zhangtingTime+zhaBanTime)
if zhaBanTime!=0:
zhaBanTimefudu=zhaBanTimefudu/zhaBanTime
if zhangtingTime!=0:
zhangtingyijia=zhangtingyijia/zhangtingTime
if (zhangtingTime +zhaBanTime)!= 0:
zhangtingyijiazong = zhangtingyijiazong / (zhangtingTime+zhaBanTime)
rate3=-100
if len(arr3)>=3:
arr3 = arr3[len(arr3)-3:len(arr3)]
rate3 = (arr3[0]+arr3[1]+arr3[2])/3
writer000.writerow(
[item['代码'],
item['名称'],
item['日期'],
item['昨日收盘价'],
item['开盘价'],
item['最低价'],
item['最高价涨幅'],
item['成交量'],
item['成交额'],
item['换手率'],
item['买入价格'],
item['卖出价格'],
item['盈利'],
item['涨幅'],
item['流通市值'],
item['涨停trainID'],
item['涨停BuyOrderID'],
item['涨停vol'],
item['时间'],
rate,
zhangtingTime,
zhaBanTime,
zhaBanTimefudu,
zhangtingyijia,
zhangtingyijiazong,
rate3,
rate_year,
rate_6_month,
rate_1,
rate_3,
rate_6,
rate_9,
rate_12,
rate_1_month,
rate_3_month,
rate_9_month,
rate_1_month_min,
rate_3_month_min,
rate_6_month_min,
rate_9_month_min,
rate_year_min
])
......@@ -8,12 +8,12 @@ import pandas as pd
root='/Volumes/Elements SE/逐笔202301-03/'
data=pd.read_csv('../股本/2023-1-7月-10日未涨停(000)股本.csv',encoding='gbk')
data=pd.read_csv('../2022-202307/2023未涨停(000)股本.csv',encoding='gbk')
data['日期']=pd.to_datetime(data['日期'])
data = data.groupby('日期')
name = pd.read_csv('../../N字反包/codeName.csv')
with open('./2023-1-7月-10日未涨停低价股大于9900手-b1-8%type第一个为B'+'.csv','w',encoding='gbk',newline='') as csfile:
with open('./2023涨停(000)低价股大于5000手-b1-8%type第一个为B'+'.csv','w',encoding='gbk',newline='') as csfile:
writer =csv.writer(csfile)
writer.writerow(['代码','名称','日期', '昨日收盘价','开盘价','最低价','最高价涨幅','成交量','成交额','换手率','买入价格','卖出价格','盈利','涨幅','流通市值','涨停trainID','涨停BuyOrderID','涨停vol','涨停Volume','大单ID','时间'])
for day,dataR in data:
......@@ -48,7 +48,7 @@ with open('./2023-1-7月-10日未涨停低价股大于9900手-b1-8%type第一个
zhangtingjiaData=zhangtingjiaData.groupby('BuyOrderID')
zhangtingjiaData1=pd.DataFrame()
for id, zhangtingjiaDataItem in zhangtingjiaData:
if zhangtingjiaDataItem['Volume'].sum()<990000:
if zhangtingjiaDataItem['Volume'].sum()<500000:
continue
p0 = zhangtingjiaDataItem.iloc[0]
......@@ -66,7 +66,7 @@ with open('./2023-1-7月-10日未涨停低价股大于9900手-b1-8%type第一个
Volume = zhangtingjiaDataItem['Volume'].sum()
if Volume<990000:
if Volume<500000:
continue
......@@ -86,7 +86,7 @@ with open('./2023-1-7月-10日未涨停低价股大于9900手-b1-8%type第一个
codename = int(codename)
codename = name[name['代码']==codename]
codename =codename.iloc[0]
if (Volume >= 990000 and p0/item['昨日收盘价']>1.08 and type == 'B'):
if (Volume >=500000 and p0/item['昨日收盘价']>1.08 and type == 'B'):
writer.writerow(
[item['代码'],
codename['名称'],
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -10,7 +10,7 @@ path =os.listdir(root)
data = pd.read_csv('./2022涨停(600)股本首笔大单大于700w-b1-8%type第一个为B炸板率(振幅).csv',encoding='gbk')
file000 = open('./2022涨停(600)股本首笔大单大于700w-b1-8%type第一个为B炸板率(振幅)反包9.csv','w',encoding='gbk',newline='')
file000 = open('./2022涨停(600)股本首笔大单大于700w-b1-8%type第一个为B炸板率(振幅)反包10.csv','w',encoding='gbk',newline='')
writer000 = csv.writer(file000)
writer000.writerow(
['代码', '名称', '日期', '昨日收盘价', '开盘价', '最低价', '最高价涨幅', '成交量', '成交额', '换手率', '买入价格',
......@@ -29,7 +29,7 @@ for index,item in data.iterrows():
if len(codeData)<10:
continue
codeData=codeData[len(codeData)-10:len(codeData)]
codeData7 = codeData[len(codeData) - 9:len(codeData)]
codeData7 = codeData[len(codeData) - 10:len(codeData)]
min = codeData0['收盘价']/(codeData['最低价'].min())-1
max = codeData0['收盘价']/(codeData['最高价'].max())-1
data =codeData7
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment