本文主要是介绍股票连续跌停后开板表现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
简介:假设遇到连续跌停,2天
某天打开跌停,2种方式
1,如果开盘价就打开了跌停
考虑限价单形式,如果9.15前下限价单,价格>跌停+0.03,则涨停价买入(等价于市价买入,实际操作可能是昨收买入,否则点位太高未必有利润)
2,开盘价跌停,盘中打开
限价单,价格>跌停+0.03,一旦打开就买入
二者效果类似,
如果开盘价>今日跌停,成交价=开盘价+0.03
如果开盘价=今日跌停,成交价=跌停+0.03=开盘价+0.03
卖出价格为次日开盘价,
所以利润为:次日开盘-成交价=次日开盘-(开盘价+0.03)
其中:0.03为滑点, 由于条件单所以价格会有一定劣势
分析此种策略收益,同时为了进一步获得高收益,可对跌停原因进行分析,是短期噩耗还是长期消息,比如财务造假等会对企业造成本质伤害等需区分
以下代码可基于ricequant
import pandas as pdstocks = all_instruments(type='CS', market='cn')['order_book_id'] # [context.market_index]buy_profit_df = pd.DataFrame(columns=stocks)
for stock in stocks:print(stock)price_df = get_price(stock, start_date='2017-01-01', end_date='2019-05-01', adjust_type='none')if price_df is None:continue# 昨收盘价price_df['close_yest'] = price_df['close'].shift(1).fillna(method='bfill')# 今日是否跌停price_df['down_limit'] = price_df.apply(lambda x: x['close'] / x['close_yest'] < 0.91 and x['high'] == x['low'] == x['close'], axis=1)# 是否满足连续2日跌停price_df['down_limit2'] = price_df['down_limit'].rolling(window=2).apply(lambda x: x[0] and x[1])# 今天是否买了# 1,昨天满足down_limit2=True# 2,今天Open>yest_close*0.91(说明开盘就打开),成交价=开盘价+0.03# 3,今天open<yest_close*0.91 且 high!=low 说明开盘跌停,但后续打开,成交价=跌停价+0.01=开盘价+0.03price_df['down_limit2_yest'] = price_df['down_limit2'].shift(1).fillna(method='bfill')# 是否今天是否买了# 1,今天没有跌停,# 2,昨天满足down_limit2=Trueprice_df['buy_today'] = price_df.apply(lambda x: not (x['high'] == x['low'] == x['close']) and x['down_limit2_yest'], axis=1)# 明日开盘价price_df['open_tow'] = price_df['open'].shift(-1).fillna(method='ffill')# (假设,未考虑购买信号)买入后等收益情况(涨跌率,未100%处理)price_df['profit'] = price_df.apply(lambda x: (x['open_tow'] - (x['close'] + 0.003)) / x['close'], axis=1)# 结合购买信号的收益price_df['buy_profit'] = (price_df['buy_today'].astype(int)) * price_df['profit']buy_profit_df[stock] = price_df['buy_profit']# T-2 T-1 T T+1# 连续2日 Y# 今日可买 Y# 获得收益 T日成交价-T+1开盘import numpy as np
buy_profit_df_tmp=buy_profit_df.replace(0.0,np.NaN).dropna(how='all')
buy_profit_df_tmp.stack()
buy_profit_df_tmp.sum().sum()
最终结果:-15.109610132598789
也就是1510%的负收益
全市场20170101-20190501,连续跌停2日(or以上),开板买入,次日早上卖出的收益
如果不考虑次日开盘就打开跌停,只考虑开盘跌停价,盘中打开的方式收益为负1200%
如果只考虑HS300,则收益分别为
-0.37874840701865414
-0.30521079921429306(仅考虑盘中打开跌停)
这篇关于股票连续跌停后开板表现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!