统计新股的连板天数,通过累计换手率预测开板时机
http://30daydo.com/article/182
对于一只新股,不少人会盯着它什么时候开板。 不过对于一般散户,如果换手率低于5%的一字涨停,也很难挤进去。
那么今天我们来试一下计算新股的开板前的连板天数。
运行后得到的数据如下:
你可以修改部分参数,可以获取每一年,或者每一个月的新股情况。
从上面的数据可以获取得到,最多的连班是海天精工的29板, 海天精工-29-12.8248076923
累计的换手率达到了12.8。
当然上面的是在2016年IPO速度还没那么快的时候,2017年平均不到10个板就开了。
附上抓取的数据文件
链接: https://pan.baidu.com/s/1c1LpOZ2 密码: r3yk
对于一只新股,不少人会盯着它什么时候开板。 不过对于一般散户,如果换手率低于5%的一字涨停,也很难挤进去。
那么今天我们来试一下计算新股的开板前的连板天数。
# -*-coding=utf-8-*-
__author__ = 'Rocky'
'''
http://30daydo.com
Contact: weigesysu@qq.com
'''
#分析新股的开板时机
import tushare as ts
import os
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
class New_Stock_Break():
def __init__(self):
#为了文件整齐,新建一个文件夹data用来专门存放数据
current = os.getcwd()
folder = os.path.join(current, 'data')
if os.path.exists(folder) == False:
os.mkdir(folder)
os.chdir(folder)
#调用tushare接口,获取A股信息
df0=ts.get_stock_basics()
#df0=pd.read_csv('bases.csv',dtype={'code':np.str})
self.bases=df0.sort_values('timeToMarket',ascending=False)
#获取样本, 获取最近一个年的新股情况
self.cxg=self.bases[(self.bases['timeToMarket']>20160101) & (self.bases['timeToMarket']<20170101)]
self.codes= self.cxg['code'].values
def calc_open_by_percent(self,code):
cont=100000000
#total_vol=self.bases[self.bases['code']==code]['totals'].values[0]
acutal_vol=self.bases[self.bases['code']==code]['outstanding'].values[0]
all_vol= acutal_vol*cont
df1=ts.get_k_data(code)
i=1
while 1:
s=df1.ix[1]
if s['high']!=s['low']:
#date=s['date']
break
i=i+1
j=i-1
date_end=df1.ix[j]['date']
date_start=df1.ix[0]['date']
df3=df1[(df1['date']>=date_start) & (df1['date']<=date_end)]
v_total_break=df3['volume'].sum()
l=len(df3)
print l
print v_total_break
rate=v_total_break*100*100.00/all_vol #手和股 注意
print round(rate,6)
return rate,l
def getData(self):
result=
max_line=
k=
for i in self.codes:
print i
name=self.bases[self.bases['code']==i]['name'].values[0]
rate,l=self.calc_open_by_percent(i)
if rate is not None:
result.append(rate)
max_line.append([name,l,rate])
k.append(l)
#写入文件
f=open('2016-2017-cixin.csv','w')
for x in max_line:
#f.write(';'.join(x))
f.write(x[0])
f.write('-')
f.write(str(x[1]))
f.write('-')
f.write(str(x[2]))
f.write('\n')
f.close()
def main():
obj=New_Stock_Break()
obj.testcase2()
main()
运行后得到的数据如下:
你可以修改部分参数,可以获取每一年,或者每一个月的新股情况。
从上面的数据可以获取得到,最多的连班是海天精工的29板, 海天精工-29-12.8248076923
累计的换手率达到了12.8。
当然上面的是在2016年IPO速度还没那么快的时候,2017年平均不到10个板就开了。
附上抓取的数据文件
链接: https://pan.baidu.com/s/1c1LpOZ2 密码: r3yk