简单的python Weshare涨停板分析
投资银行学的小组作业,使用 Weshare 做了一个简单的python分析,参考了以下链接:
https://www.cnblogs.com/sthv/p/6012838.html
主要学习到的有series以及dataframe格式的应用。
import tushare as ts
import pandas as pd
import datetime
df2=ts.new_stocks()
def days(str1,str2):
date1=datetime.datetime.strptime(str1[0:10],"%Y-%m-%d")
date2=datetime.datetime.strptime(str2[0:10],"%Y-%m-%d")
num=(date1-date2).days
return num
#df=df[df['issue_date']>'2016-06-01']
count=0
num=0
sum=0
df101=pd.DataFrame()
a={'xcode':-1,'name':-1,'number':-1}
df101 = df101.append(a,ignore_index=True)
df00=pd.DataFrame()
df00 = df00.append(a,ignore_index=True)
df30=pd.DataFrame()
df30 = df30.append(a,ignore_index=True)
df60=pd.DataFrame()
df60 = df60.append(a,ignore_index=True)
for i in df2['code']:
df4 = df2[df2['code'] == i]
df = ts.get_hist_data(i)
df3=df4['issue_date']
if df is None:
count=count+1
#print("hahha")
continue
else:
df=df[['open','close','p_change']]
if df is None:
count = count + 1
# print("hahha")
continue
else:
try:
start_date=df[df['p_change']<9.8].tail(1).index[0]
except IndexError:
count+=1
continue
sum += days(start_date, df3[count])
print(i,days(start_date,df3[count]))
b={'xcode':i,'name':str(df4['name']),'number':days(start_date,df3[count])}
df101=df101.append(b,ignore_index=True)
if int(i)<300000:
df00 = df00.append(b, ignore_index=True)
elif int(i)<600000:
df30 = df30.append(b, ignore_index=True)
else:
df60 = df60.append(b, ignore_index=True)
count=count+1
num+=1
print("最终")
print(sum/num)
df101.to_csv("C:\\Users\\10750\\1.csv",encoding='utf_8_sig')
df00.to_csv("C:\\Users\\10750\\2.csv",encoding='utf_8_sig')
df30.to_csv("C:\\Users\\10750\\3.csv",encoding='utf_8_sig')
df60.to_csv("C:\\Users\\10750\\4.csv",encoding='utf_8_sig')