港股新股的,暗盘收盘价,首日开盘价,首日收盘价平均盈利率。
参考:集思录新股暗盘数据
新股:20190501上市以来的新股。
结论:
暗盘盘尾卖出预期收益18.3515584416
开盘价卖出预期收益 13.4619749834
收盘价卖出预期收益 11.7666170539
最高价卖出预期收益(不可行) 33.6542119814
最低价卖出预期收益(不可行) -0.714902449712
可见暗盘卖出最合适。
代码
# 近期上市新股
stockDf=DataAPI.HKEquGet(secID=u"",ticker=u"",listStatusCD=u"L",field=u"",pandas="1")
stockDf=stockDf[stockDf['listDate']>'2019-05-01']
stockDf=stockDf[stockDf['ListSector']=='主板']
print(stockDf.shape)
tickers=stockDf['ticker'].values.tolist()
print(tickers[:5])
import numpy as np
import pandas as pd
#新股上市首日价格信息,开盘价,收盘,最高,最低
stockPriceDf=DataAPI.MktHKEqudGet(secID='',ticker=tickers,tradeDate=u"",beginDate=u"20190101",endDate=u"",field=u"",pandas="1")
stockPriceDf=stockPriceDf.groupby('secShortName').first()
# stockPriceDf
stockPriceDf['openRate']=(stockPriceDf['openPrice']/stockPriceDf['preClosePrice']-1)*100
stockPriceDf['closeRate']=(stockPriceDf['closePrice']/stockPriceDf['preClosePrice']-1)*100
stockPriceDf['highRate']=(stockPriceDf['highestPrice']/stockPriceDf['preClosePrice']-1)*100
stockPriceDf['lowRate']=(stockPriceDf['lowestPrice']/stockPriceDf['preClosePrice']-1)*100
stockPriceDf=stockPriceDf.replace([np.inf, -np.inf], np.nan)
stockPriceDf=stockPriceDf.dropna(subset=['openRate','closeRate'],axis=0)
stockPriceDf=stockPriceDf[['ticker','openRate','closeRate','highRate','lowRate']]
stockPriceDf
hkAnpanDf=pd.read_csv('hk_newstock_anpan.csv')
hkAnpanDf['ticker']=hkAnpanDf['ticker'].apply(lambda x:str(x).rjust(5,'0'))
hkAnpanDf['anpanRate']=hkAnpanDf['anpanRate'].apply(lambda x:float(x.replace('%','').replace('-','0')))
stockPriceDf=stockPriceDf.merge(hkAnpanDf,on='ticker',how='inner')
stockPriceDf
print('暗盘盘尾卖出预期收益 ')
print(stockPriceDf['anpanRate'].mean())
print('开盘价卖出预期收益 ')
print(stockPriceDf['openRate'].mean())
print('收盘价卖出预期收益 ')
print(stockPriceDf['closeRate'].mean())
print('最高价卖出预期收益(不可行) ')
print(stockPriceDf['highRate'].mean())
print('最低价卖出预期收益(不可行) ')
print(stockPriceDf['lowRate'].mean())
#可见,暗盘收盘价卖出最佳
stockPriceDf
# 第二,暗盘收盘买入,次日最高价涨跌率差异
#收益模拟: 暗盘正收益,则暗盘尾部买入,次日卖出价格暗盘+5%,否则持有到尾盘
def score(x):
if x['anpanRate']<0:
return 0
else:
if x['highRate']-x['anpanRate']>5.0:
return 5.0
else:
return x['closeRate']-x['anpanRate']
stockPriceDf['predictRate']=stockPriceDf.apply(lambda x:score(x),axis=1)
print(stockPriceDf['predictRate'].mean())
#收益模拟: 暗盘正收益,次日止损价格暗盘5%,否则持有到尾盘
def score(x):
if x['anpanRate']<0:
return 0
else:
if x['lowRate']-x['anpanRate']>5.0:
return -5.0
else:
return x['closeRate']-x['anpanRate']
stockPriceDf['predictRate']=stockPriceDf.apply(lambda x:score(x),axis=1)
print(stockPriceDf['predictRate'].mean())
代码依赖外部数据hk_newstock_anpan.csv
内容如下,从集思录中取得,新股暗盘收盘涨跌百分率。(copy到excel,删除多余列,保存到csv即可)