投资者往往只是热衷认购新股,一旦上市便获利了结,很少想一想这些新股中哪些是值得长线持有的。当新股的中签率越来越低,新股认购已经不能满足攫取暴利的大机构的需要时,他们便会主动停止认购新股的游戏,到二级市场抛售压力巨大的新股板块中寻找获利机会,所以一批真正有业绩有高成长性的次新股成为机构吸纳的主要对象。

次新股具有的最重要的特点,便是兼具投资投机价值。从投资角度来看,次新股大多业绩较好,又主要属于高科技成长性行业,而且许多流通规模也不大,使其具有业绩和股本的同步成长性,在市场中具有较好的活性。尤其是一些行业特殊的个股,市场炒作的朦胧题材较多。再加上次新股发行上市时所募集资金投资的系列项目,目前已进入回报期,新的利润增长点不断产生,对其业绩的大幅提高有较好的支撑作用。从投机价值看,次新股常呈现出阶段性的热点炒作,一旦大盘步入调整或市场缺乏热点时,次新股便会被主力挖出来炒作,以吸引市场人气。因此市场中的机会较多是其重要特点。

次新股的基本走势与投资策略

从过去新股的炒作来看,有一小部分新股上市后就大幅上升,这种股票对中小散户来说,只能是“望梅止渴”,并不敢杀入,但大多数新股上市后并不是马上大幅上升,而是经过一段时间后才会有较好的表现,这些股票对中小散户来说是可以参与的。中小散户如何参与这类股票的炒作,就必须对新股上市后的走势进行分析,才能做出投资决策。

次新股每一轮超跌之后,都会出现强势的反弹。为什么?因为他们流通盘小,流通市值都是在10来亿左右,有的只有5个亿、6个亿的流通市值。所以易上涨,易涨停。这是非常好的广告,自然在反弹时,吸引资金的围剿。A股是散户为主体的市场,追涨风格,重在涨得猛。次新股易上涨,波动大,涨起来易涨停,这非常吸引人。所以每一轮调整,超跌反弹都是有次新股的身影。这也是资金对炒新乐死不疲的原因。

同时,现在炒重组易被点名,炒故事股。有涨停的都是容易被点名。唯独次新股连板很少被点名,被点名时基本上都是涨了几个板的。这种点名空间大。资金炒作就大胆些。

我们股市重融资,不敢让次新太死,也有一定的心理因素。但这些还长远,规律不变条件下。超跌反弹先看次新的规律还是不会变。但注意,市场波动大,开板次新易反弹,但老次新反弹易被获利盘和套空盘、解禁盘冲击捕杀。操作上,次新股只合适短线快进快出为主。

次新股实战策略

1、选择中小板中市值最小的10只股票;
2、在这10只股票中选择估值最小、最近2个月涨幅最大的5只股票按平均仓位买入。

策略回测

策略代码(聚宽量化平台)

from jqdata import *
from kuanke.wizard import *
from abc import ABCMeta, abstractmethoddef initialize(context):set_benchmark('000300.XSHG')set_option('use_real_price', True)log.info('策略启动')# 股票类每笔交易时的手续费是:买入时佣金万分之三,卖出时佣金万分之三加千分之一印花税, 每笔交易佣金最低扣5块钱set_order_cost(OrderCost(close_tax=0.001, open_commission=0.0003, close_commission=0.0003, min_commission=5), type='stock')g.strategy_manager = StrategyManager()## 运行函数(reference_security为运行时间的参考标的;传入的标的只做种类区分,因此传入'000300.XSHG'或'510300.XSHG'是一样的)run_daily(timer_event, time='14:30', reference_security='000300.XSHG')def timer_event(context):g.strategy_manager.timer_event(context)#--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+
class Configure(object):def __init__(self):self.select_symbol_peroid = 10self.use_remote_algorithm = Falseclass StrategyBase(object):def __init__(self, root, name, config):self.root = rootself.name = nameself.config = configself.trade_days = 0self.symbol_list = []#print('StrategyBase.__init__')pass# 风控管理@abstractmethoddef risk_control(self, context):return True    # 选股 @abstractmethoddef select_symbol(self, context):return []# 定时器    def timer_event(self, context):self.risk_control(context)self.select_symbol(context)#--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+
class Strategy001(StrategyBase):def __init__(self, root, name, config):StrategyBase.__init__(self, root, name, config)pass# 风控管理def risk_control(self, context):#print('Strategy001.risk_control %r %s' % (context.current_dt.strftime('%Y-%m-%d %H:%M:%S'), self.root.name))# TODO ...return True    # 选股 def select_symbol(self, context):if self.trade_days % self.config.select_symbol_period != 0:self.trade_days += 1return self.symbol_listself.trade_days += 1# 原始股票池#symbol_list = get_security_universe(context, ['000300.XSHG'], []) # 沪深300   #symbol_list = get_security_universe(context, ['000905.XSHG'], []) # 中证500symbol_list = get_security_universe(context, ['399101.XSHE'], []) # 中小板q = query(valuation.code, valuation.pb_ratio, valuation.market_cap, indicator.roe, indicator.inc_total_revenue_year_on_year, indicator.inc_operation_profit_year_on_year, indicator.inc_net_profit_year_on_year).filter(valuation.code.in_(symbol_list))df =  get_fundamentals(q)   if df is None or df.shape[0] == 0:log.error('--------------------------------------------')return self.symbol_listdf.rename(columns={'inc_total_revenue_year_on_year': 'ystb','inc_operation_profit_year_on_year': 'lrtb','inc_net_profit_year_on_year': 'jlrtb','anon_1': 'fuzhailv'}, inplace=True)      #删除空值df = df.dropna(axis=0, how='all')   if self.config.use_remote_algorithm:# TODO ...passelse:#df = df[(df.roe > 4) & (df.pb_ratio > 0) & (df.pb_ratio < 15) & (df.ystb > 10) & (df.ystb < 200)].sort_values('roe', ascending=False)#df = df[:max(50, min(100, self.root.max_stock_count * 10))]df = df[(df.pb_ratio > 0) & (df.pb_ratio < 50) & (df.ystb > 10) & (df.ystb < 2000)].sort_values('market_cap', ascending=True)df = df[:10]if df is None or df.shape[0] == 0:return self.symbol_listdf.index = df['code'].valueschg_list = []for index, row in df.iterrows():chg_list.append(get_n_day_chg(row.code, 30))df['chg'] = chg_listdf['1/pb_ratio'] = 1 / df['pb_ratio']#df['score'] = df[['1/pb_ratio', 'chg', 'ystb']].rank().T.apply(lambda x : x[0] * 2 + x[1] * 2 + x[2] * 1)#df['score'] = df[['market_cap', 'chg', 'ystb']].rank().T.apply(lambda x : x[0] * 2 + x[1] * 2 + x[2] * 1)df['score'] = df[['1/pb_ratio', 'chg', 'ystb']].rank().T.apply(lambda x : x[0] * 2 + x[1] * 2 + x[2] * 2)#按得分进行排序,取指定数量的股票df = df.sort_values('score', ascending=False)self.symbol_list = df.index#self.symbol_list = [symbol for symbol in self.symbol_list if n_day_chg_dayu(symbol, 90, 0.1)]self.symbol_list = self.symbol_list[:int(self.root.max_stock_count / len(self.root.strategy_list))] log.info('最新信号 ==> %s' % self.name)for symbol in self.symbol_list:log.info('%s  %s' % (symbol, get_security_info(symbol).display_name))  return self.symbol_listclass Strategy002(StrategyBase):def __init__(self, root, name, config):StrategyBase.__init__(self, root, name, config)pass# 风控管理def risk_control(self, context):#print('Strategy002.risk_control %r %s' % (context.current_dt.strftime('%Y-%m-%d %H:%M:%S'), self.root.name))# TODO ...return True    # 选股 def select_symbol(self, context):if self.trade_days % self.config.select_symbol_period != 0:self.trade_days += 1return self.symbol_listself.trade_days += 1# 原始股票池#symbol_list = get_security_universe(context, ['000300.XSHG'], []) # 沪深300   symbol_list = get_security_universe(context, ['000905.XSHG'], []) # 中证500q = query(valuation.code, valuation.pb_ratio, valuation.market_cap, indicator.roe, indicator.inc_total_revenue_year_on_year, indicator.inc_operation_profit_year_on_year, indicator.inc_net_profit_year_on_year).filter(valuation.code.in_(symbol_list))df =  get_fundamentals(q)   if df is None or df.shape[0] == 0:log.error('--------------------------------------------')return self.symbol_listdf.rename(columns={'inc_total_revenue_year_on_year': 'ystb','inc_operation_profit_year_on_year': 'lrtb','inc_net_profit_year_on_year': 'jlrtb','anon_1': 'fuzhailv'}, inplace=True)      #删除空值df = df.dropna(axis=0, how='all')   if self.config.use_remote_algorithm:# TODO ...passelse:df = df[(df.roe > 4) & (df.pb_ratio > 0) & (df.pb_ratio < 15) & (df.ystb > 10) & (df.ystb < 200)].sort_values('roe', ascending=False)df = df[:max(50, min(100, self.root.max_stock_count * 10))]if df is None or df.shape[0] == 0:return self.symbol_listdf.index = df['code'].values                chg_list = []for index, row in df.iterrows():chg_list.append(get_n_day_chg(row.code, 30))df['chg'] = chg_listdf['1/pb_ratio'] = 1 / df['pb_ratio']df['score'] = df[['1/pb_ratio', 'chg', 'ystb']].rank().T.apply(lambda x : x[0] * 2 + x[1] * 2 + x[2] * 1)#按得分进行排序,取指定数量的股票df = df.sort_values('score', ascending=False)self.symbol_list = df.indexself.symbol_list = [symbol for symbol in self.symbol_list if n_day_chg_dayu(symbol, 90, -0.1)]self.symbol_list = self.symbol_list[:int(self.root.max_stock_count / len(self.root.strategy_list))] log.info('最新信号 ==> %s' % self.name)for symbol in self.symbol_list:log.info('%s  %s' % (symbol, get_security_info(symbol).display_name))  return self.symbol_list#--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+
class StrategyManager():def __init__(self):self.name = 'root'self.strategy_list = []self.max_stock_count = 10config = Configure()config.select_symbol_period = 10self.strategy_list.append(Strategy001(self, '次新股策略', config))#self.strategy_list.append(Strategy002(self, '中证500指数增强', config))# 定时器    def timer_event(self, context):print('\n==========================================================\n')symbol_list = []for strategy in self.strategy_list:strategy.timer_event(context)symbol_list.extend(strategy.symbol_list)# TODO tet    #log.info('大盘预测[%s]' % '上涨' if rsi_judge('000300.XSHG', '1d', 15, (50, 100)) else '下跌')#log.info('held symbol:%s' % symbol_list)self.adjust_position(context, symbol_list, self.max_stock_count)@staticmethoddef adjust_position(context, pool, max_stock_count):cash = context.portfolio.total_value / max_stock_count #* StrategyManager.get_dynamic_turnover()hold_stock = context.portfolio.positions.keys()#卖出不在持仓中的股票for stock in hold_stock:if stock not in pool:order_target_value(stock, 0)#买入股票held_stock = context.portfolio.positions.keys() for stock in pool:if len(held_stock) < max_stock_count + 1:order_target_value(stock, cash)@staticmethod        def get_dynamic_turnover():count = 0periods = [15, 30, 45, 60, 90]for period in periods:if RSI_judge_qujian('000300.XSHG', (53, 99), period):count += 1if RSI_judge_qujian('000001.XSHG', (53, 99), period):    count += 1return count / len(periods) / 2            #--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+
# 获取股票股票池
def get_security_universe(context, security_universe_index, security_universe_user_securities):temp_index = []for s in security_universe_index:if s == 'all_a_securities':temp_index += list(get_all_securities(['stock'], context.current_dt.date()).index)else:temp_index += get_index_stocks(s)for x in security_universe_user_securities:temp_index += xreturn  sorted(list(set(temp_index)))# 行业过滤
def industry_filter(context, security_list, industry_list):if len(industry_list) == 0:# 返回股票列表return security_listelse:securities = []for s in industry_list:temp_securities = get_industry_stocks(s)securities += temp_securitiessecurity_list = [stock for stock in security_list if stock in securities]# 返回股票列表return security_list

高收益的次新股买卖技巧相关推荐

  1. 超短线地挂单买卖技巧

    超短线地挂单买卖技巧 在超短线操作(次日套利)中,对目标个股次日的买入卖出价的测算是锁定利润的关键步骤,目前已知的测算方法中,比较有效的是利用5分钟.15分钟.30分钟以及60分钟K线中可信度比较高的 ...

  2. 现货黄金买卖技巧_价格振荡指标(PPO)

    在各种现货黄金技术分析手段之中,价格振荡指标(PPO)是可以用于测量动量,非常类似MACD--MACD使用两个不同长度的移动平均线,来确定趋势方向和持续时间,再取这两个移动平均线(MACD线)和一个移 ...

  3. 【转】史上最全的买卖股票技巧 总有一款适合你

    今天,我想针对投资学习的一个小方面,谈谈我的思考和建议,帮助大家理解和提高. 第一部分,投资学习的一点思考 我经常挂在嘴边的有两句话,一句是:"投资中没有比本金更重要的东西了":另 ...

  4. 集合竞价如何买入_如何在集合竞价买卖股票

    今天大盘全天以震荡盘整为主,盘中出现两次回档,一波甚于一波,14点过后指数启稳,展开一波快速拉升,指数神奇般地翻红,以小涨3.71个点报收于2070点.指数目前是连涨3个交易日了,股民们又在开始议论牛 ...

  5. 炒股第一招【看盘技巧】

    炒股第一招[看盘技巧] 2015-04-05 龚凯杰 龚凯杰 炒股第一招[看盘技巧] 2015年3月27日 15:31 阅读63401 删除 每一天的大盘几乎都有盘中跳水,但很多时候是被拉回来的~~那 ...

  6. 股市中有句老话:“技术指标千变万化,成交量才是实打实的买卖。

    http://www.360doc.com/content/15/0928/22/20170260_502088281.shtml 股市中有句老话:"技术指标千变万化,成交量才是实打实的买卖 ...

  7. 基金投资从入门到精通

    第一篇 基础知识篇 第一节      认识基金 基金投资入门系列--基础知识 1.什么是证券投资基金? 通俗地说,证券投资基金是通过汇集众多投资者的资金,交给银行保管,由专业的基金管理公司负责投资于股 ...

  8. 2021-02-27

    股票24个基本指标精粹讲解## 标题 个股一级指标:1平滑异同平均线指标--MACDMACD指标又叫指数平滑异同移动平均线,是由查拉尔·阿佩尔(GeraldApple)所创造的,是一种研判股票买卖时机 ...

  9. 主要技术指标简介_期货常用技术指标(五)布林线

    今天写布林线. 一.布林线的含义 BOLL即布林线指标,又称为市场通道线,是研判行情价运动趋势的一种中长期技术分析工具.一般而言,行情的运动总是围绕某一价值中枢(如均线.成本线等)在一定的范围内变动, ...

最新文章

  1. 计算机应用基础全套ppt,计算机应用基础全套PPT电子教案(完整版).ppt
  2. 英语语法---数词详解
  3. CodeForces - 1208F Bits And Pieces(SOSdp+贪心)
  4. 28 | 读写分离有哪些坑?
  5. 深入谈一谈iOS模块独立运行
  6. axivion和astree_基于LabVIEW的IVI编程 IVI Programme Based on LabVIEW.pdf
  7. layui php ajax分页,layui+thinkphp5.1实现分页(非动态表格)
  8. Xenserver console界面无法查看虚拟机的信息
  9. 那些漂亮的sci论文图一般用什么软件制作的?
  10. 使用nbsp;Windowsnbsp;Serveramp;nb…
  11. BZOJ5394: [Ynoi2016]炸脖龙(欧拉广义降幂)
  12. 计算机启动蓝屏,电脑开机蓝屏详细解决方案
  13. Python3.7安装Geenlet
  14. 阿里 + 京东 Java 岗面试题概要(面试须知
  15. 转载:80端口、443端口、8080端口、8000端口的区别
  16. 新媒体运营教程:短视频剧本创作技巧
  17. 现在开始学程序还不晚吧
  18. 关于pulseaudio的一些总结
  19. 嵌入式c语言小学期实验报告,小学期单片机实验报告
  20. 2021数模国赛C题

热门文章

  1. PMS系列1⃣️——PMS的创建
  2. 【win10远程桌面】防火墙问题解决
  3. 【CKA考试笔记】十五、安全管理:验证与授权
  4. 武汉大学计算机学院推荐免试,武汉大学计算机学院2013年应届本科毕业生推荐免试研究生计分细则...
  5. 无人驾驶进入新时代:“模块化可扩展底盘+智能换电”
  6. python用1000张照片合成一张_有没有什么惊艳的微信头像?Python一键下载1000张!...
  7. 建立APICloud云端数据库
  8. 1. 读取excel文件的辛酸之旅
  9. MacBook Pro 方向左键不能用 和MacBook Pro的一些常用修复
  10. 大学四年到毕业工作5年的学习路线资源汇总