股票学习网

股票入门基础知识和炒股入门知识 - - 股票学习网!

空头换手汇富金融(空头换手北京文化)

2023-07-17 17:35分类:沪港通 阅读:

今天的盘面比较复杂,主要是牵扯到外围突发事件。

盘前看新闻,头条就是中东那嘎达干起来了,瓜哥坐在北京的家里,仿佛已经闻到火药桶的味道。

多平一空平 (持仓量减少)

1、【选股】

长安汽车,炒作新能源车方向,该公司2022年一季度实现净利润45.36亿元,同比增长431.45%,合作品牌阿维塔新一轮公允估值达62.6亿元,净增近7倍。

2、【入场】

在5.5日,顶级游资葛卫东往长安汽车的涨停板买入10万手,强行秒板后,长安汽车正式进入了各大资金的股票池。

第一位,外资,全天买入11.31万手,均价13.07,合计1.48亿。(同时也卖出16.36万手,均价12.60,合计2.06亿)

首次出手,9:48分,在12.30价位承接了9228手。

最精彩的节点发生在尾盘,在9%附近调整了一个小时后,14:51分,终于迎来了封板的机会,外资往涨停板买入8.99万手,强行秒板!(这封板的手法和前面的葛老大一模一样,但拉升的过程有区别,葛老大是早盘直接镇压空头,减少换手,而今天是早盘拉升,不断换手上行,再尾盘上板)

第二位主力是上海江苏路,顶级游资章盟主的席位之一,老章是1996年5万元入市,在2007年,他在沪深两市的交易额,光股票一项,据说就达到了700亿元,平均每个交易日成交2.8亿元,单单印花税,他一年就上交了近2亿元。

今天他把目标瞄准了长安汽车,出手6次,买入4.49万手,均价12.85,合计5777万。

首次出手,9:49分,往12.49价位买入8435手。

第二次出手,早盘结束前,11:28分,有一个拉升的动作,往12.60价位买入8439手。

横盘阶段,章盟主也有护盘的动作,14:16分,往12.88价位买入8000手。(几次出手基本在1000万左右)

3、【离场】

今天最大的卖家也是外资,共卖出16.36万手,合计2.06亿,卖点的分布比较均匀,这个就不一一分析。

4、【小结】

长安汽车,流通市值高达769亿,今天成交了48.9亿,换手率6.61%。(总市值刚好突破到1004亿)

龙虎榜前五买家共买入4.24亿,占比8.67%,其中外资就买入了1.48亿。

 

从行业政策的边际变化来讲,去年11月,官媒发布评论《深度挖掘电子游戏产业价值机不可失》,这是版号收紧以来首次发声,明确认可游戏产业价值,从政策面提振行业信心。

最后闲聊点投资不相关的。

而安信证券则继续提示风险,从过去几年A股的历史经验上看,四季度市场运行方向容易发生改变或大幅波动,这可能与四季度“灰天鹅”频发有关,需要引起足够的重视。

多换:多头换手,老多卖出平仓,新多买进开仓;

我打个比方:

特斯拉:天汽模、奥特佳、常铝股份均3板。

军工:林州重机叠加光伏首板,新劲刚、长城军工等首板。

多开一空开说明场外资金多空双方互相博杀,价格存在分歧,如果快速上涨,多方占优,上涨持续;可做多。如果快速下跌,空方占优,下跌持续,可做空。

长安汽车分时图呈现阶梯式上涨,拉一波,震荡换手一段时间,再冲一波。

同时,我们也看到本次指数是突破形态,短时间又很难下的来,所以大分歧就再所难免。处于高位的情绪股,首当其冲是绞杀的对象。

 

算法解析

资金需求量刚好是反过来的,开盘是0(因为还没买),之后随着交易的进行,多头投入的资金量不断增多,最终在收盘达到最大值。

var NewFuturesTradeFilter = function() { // 该函数是一个构造函数,构造出用于计算逐笔成交的对象 var type_enum = { // 定义逐笔成交信息的枚举类型 OPENLONG:"多开|OpenLong", // 多开:新多头入场开仓 OPENSHORT:"空开|OpenShort", // 空开:新空头入场开仓 OPENDOUBLE:"双开|OpenDouble", // 双开:多头、空头入场开仓 CLOSELONG:"多平|CloseLong", // 多平:多头平仓离场 CLOSESHORT:"空平|CloseShort", // 空平:空头平仓离场 CLOSEDOUBLE:"双平|CloseDouble", // 双平:多空平仓离场 EXCHANGELONG:"多换|ExchangeLong", // 多换:多头换手 EXCHANGESHORT:"空换|ExchangeShort", // 空换:空头换手 OPENUNKOWN:"开仓|OpenUnkown", // 开仓:无法判断出主动成交的方向 CLOSEUNKOWN:"平仓|CloseUnkown", // 平仓:无法判断出主动成交的方向 EXCHANGEUNKOWN:"换仓|ExchangeUnkown", // 换仓:无法判断出主动成交的方向 UNKOWN:"未知|Unkown", // 未知:无法判断 NOCHANGE:"空闲|NoChange", // 空闲:没有变化 } // 定义涨为红色,跌为绿色,白色为价格不变 var color_enum = {RED:"#00ff00", GREEN:"#ff0000", WHITE:"#666"} // Reverse China color // 定义一些动作的枚举 var tick_dict = { delta_enum_NONE: { forward_enum_UP: [ type_enum.NOCHANGE, color_enum.WHITE ], forward_enum_DOWN: [ type_enum.NOCHANGE, color_enum.WHITE ], forward_enum_MIDDLE: [ type_enum.NOCHANGE, color_enum.WHITE ] }, delta_enum_EXCHANGE: { forward_enum_UP: [ type_enum.EXCHANGELONG, color_enum.RED ], forward_enum_DOWN: [ type_enum.EXCHANGESHORT, color_enum.GREEN ], forward_enum_MIDDLE: [ type_enum.EXCHANGEUNKOWN, color_enum.WHITE ] }, delta_enum_OPENFWDOUBLE: { forward_enum_UP: [ type_enum.OPENDOUBLE, color_enum.RED ], forward_enum_DOWN: [ type_enum.OPENDOUBLE, color_enum.GREEN ], forward_enum_MIDDLE: [ type_enum.OPENDOUBLE, color_enum.WHITE ] }, delta_enum_OPEN: { forward_enum_UP: [ type_enum.OPENLONG, color_enum.RED ], forward_enum_DOWN: [ type_enum.OPENSHORT, color_enum.GREEN ], forward_enum_MIDDLE: [ type_enum.OPENUNKOWN, color_enum.WHITE ] }, delta_enum_CLOSEFWDOUBLE: { forward_enum_UP: [ type_enum.CLOSEDOUBLE, color_enum.RED ], forward_enum_DOWN: [ type_enum.CLOSEDOUBLE, color_enum.GREEN ], forward_enum_MIDDLE: [ type_enum.CLOSEDOUBLE, color_enum.WHITE ] }, delta_enum_CLOSE: { forward_enum_UP: [ type_enum.CLOSESHORT, color_enum.RED ], forward_enum_DOWN: [ type_enum.CLOSELONG, color_enum.GREEN ], forward_enum_MIDDLE: [ type_enum.CLOSEUNKOWN, color_enum.WHITE ] }, } var preInfo = null; // 用于记录前一次tick数据 var feed = function(info) { // 函数实现主要的功能,反推逐笔交易信息,传入的参数info为tick数据 if (!preInfo) { // 如果第一次执行feed,没有preInfo则使用当前info赋值给preInfo后(闭包:preInfo不会被释放),直接返回 preInfo = info; return null; } var volume_delta = info.Volume - preInfo.Volume; // 反推算法主要依赖于以下两个数据,前后两次tick数据的成交量变化值:volume_delta var open_interest_delta = info.OpenInterest - preInfo.OpenInterest; // 前后两次tick数据的持仓量变化值:open_interest_delta var delta_forward = 'delta_enum_UNKOWN' // 初始为未知状态 // 以下这组if判断涵盖了正常情况,一种异常状态就是volume_delta小于0,通常来说不可能,一个交易日内成交量是一个递增的量,如果出现归于delta_enum_UNKOWN处理 if (open_interest_delta == 0 && volume_delta == 0) { // 持仓量和成交量都没有变动,正常来讲成交量没有变动,持仓量也可定不变,所以就是没有任何新的成交 delta_forward = 'delta_enum_NONE' } else if(open_interest_delta == 0 && volume_delta > 0) { // 持仓量没有变动,成交量增加 // 说明有人开仓,有人平仓,开仓平仓的合约数量相等,根据后续对盘口价格变动的判断,价格推高表示开仓多头主动,价格下降表示开仓空头主动, // 持仓量未变,说明有同样数量的平仓单,此时可能多头换手,空头换手都存在。 delta_forward = 'delta_enum_EXCHANGE' } else if (open_interest_delta > 0) { // 持仓量增加 if (open_interest_delta - volume_delta == 0) { // 持仓量增加的情况下,持仓量变动和成交量变动相同(成交量也是增加的) // 说明成交量变动,新增成交的这部分都是开仓,没有平仓。例如:多头开仓和空头开仓成交1张,增加1张的持仓量 delta_forward = 'delta_enum_OPENFWDOUBLE' } else { // 持仓量增加的情况下,持仓量变动和成交量变动不同 // 说明有开仓,可能有平仓,有换手,总之持仓量是增加的,有新的资金入场,判定为“多开”还是“空开”等,根据之后的盘口变动检测而定 delta_forward = 'delta_enum_OPEN' } } else if (open_interest_delta < 0) { // 持仓量下降 if (open_interest_delta + volume_delta == 0) { // 持仓量下降的情况下,持仓量和成交量变动相同 // 说明成交量变动,新增成交的这部分都是平仓,没有开仓,双平。 delta_forward = 'delta_enum_CLOSEFWDOUBLE' } else { // 持仓量下降的情况下,持仓量和成交量变动不同 // 说明有平仓,可能有开仓,有换手,总之持仓量是减少的,有资金离场,判定为“空平”还是“多平”等,根据之后的盘口变动检测而定 delta_forward = 'delta_enum_CLOSE' } } var obj = tick_dict[delta_forward]; // 找到对应的初步判定类型 var ret = null; if (typeof(obj) !== 'undefined') { // 根据价格变动进一步分析处理 var order_forward = ''; if (info.Last >= preInfo.Sell) { // 最新成交价较上一次tick相比,大于等于上一个tick的卖一,判定为价格上涨 order_forward = 'forward_enum_UP'; } else if (info.Last <= preInfo.Buy) { // ...判定为价格下跌 order_forward = 'forward_enum_DOWN'; } else { // 如果盘面盘口较大,最新成交价停留在盘口中间的某个位置 if (info.Last >= info.Sell) { // 和当前tick的盘口卖一价格做比较,大于等于当前卖一,判定为价格上涨 order_forward = 'forward_enum_UP'; } else if (info.Last <= info.Buy) { // ...判定为价格下跌 order_forward = 'forward_enum_DOWN'; } else { order_forward = 'forward_enum_MIDDLE'; // 中间位置,这种表示无法判断出此次tick变动,推算出的逐笔成交主动交易的方向 } } if (order_forward != '') { var d = obj[order_forward]; if (typeof(d) !== 'undefined') { ret = [info.Last, volume_delta, d[0], d[1]] // 此次tick前后对比得出的逐笔成交数据,[最新成交价, 成交量变动, 成交类型(多开, 双平 ...), 颜色] } } } preInfo = info; return ret; } return { feed: feed, reset: function() { preInfo = null; }, } }

这段代码主要通过前后两次tick的对比,算出:1、成交量变动,2、持仓量变动。然后根据这两个数据推算出此次tick变动的综合动作:

当然,CTP协议也给我们提供了充足的数据,也可以直接计算出成交金额。只是我们平时不太在意CTP协议的tick行情数据中的AveragePrice属性,AveragePrice表示持续平均计算得出的成交均价。需要注意的是这个数值是没有除以合约乘数的,例如合约是rb2305,那么AveragePrice表示的是10吨的均价。

可以发现成交量两种统计方式算出的数值是一致的,成交金额有一点点差别(误差原因:1、可能是tick数据中的AveragePrice即成交均价的数据精度引起的误差。2、两次tick之间成交有可能有很多小幅度价格变动,最新成交价可能和实际的两次tick之间的交易成交均价有差别,毕竟tick数据是切片数据)。不过成交金额差别不算大,基本是一致的。

https://www.haobaihe.com

上一篇:荣县停采页岩气(页岩气概念股一览)

下一篇:中航地产股票怎么开户(中航地产股票)

相关推荐

返回顶部