上海体育频道直播节目
首页 > 新闻资讯 > 上海体育频道直播节目
趋势预测:基于期货未平仓合约、展期和FIIDII指标【附Python源码】

时间: 2024-06-02 01:22:27 |   作者: 上海体育频道直播节目

2024-06-02

  2020 年一季度是二战后最具挑战性的时期之一, 由于地理政治学问题造成的油价暴跌和 COVID-19 全球大流行是主要主题。金融市场充当风向标,可以反映世界经济的整体情绪。这些情绪不仅反映在价格上,还反映在其他指标上,例如未平仓合约、展期百分比、FII/DII 活动。本文将使用Python分析印度领先的大盘指数 Nifty 50 的上述三个重要指标。

  在开始使用 Python 进行任何分析之前,我们应该导入所需的库。我们将使用流行的库,如 pandas、NumPy 和Matplotlib(用于可视化),下面让我们导入它们。

  Nifty 50是一个涵盖范围广泛、多样化的指数,包含了代表印度经济13个板块的50只股票。它是在美国国家证券交易所(NSE)交易的Nifty 50期货合约的基础。

  在任何时候,只有三个漂亮的可交易的期货合约——近月(I),下个月(2)和(3)远月。每个合同都有一个生活的三个月,期满到期月份的最后一个星期四,在这一份新合同为三个月的时间了。如果一个月的第三个星期四是假日,则合约在前一个交易日到期。

  下面是获取 Nifty 期货数据。Nifty 期货的当前和历史数据都可以从所谓的股票衍生品“Bhavcopy”免费获得。股票衍生品 Bhavcopy 是由交易所(NSE官网)提供的文件,其中包含有关在交易所交易的各种股票和股票指数衍生品的所有信息。此类数据可从 NSE 网站获得。或者,经纪人或数据供应商可以向他们的客户提供此类数据。

  交易所每天发布一个 Bhavcopy 文件,它可当作 csv 文件下载。在这里,我们下载了 2020 年第一季度的所有此类文件,即从 2020 年 1 月 1 日至 2020 年 3 月 31 日进行此分析。然后,个人会使用以下代码将其转换为pandas DataFrame 格式:

  上面的 DataFrame data 有四列,包含代码名称(Nifty I、II 或 III)、收盘价、交易量和每日持仓量。因此,我们拥有在 2020 年第一季度进行此分析所需的所有信息。

  在为分析准备好数据之后,让我们在图中绘制期货的价格序列。由于到期日影响期货的行为,我们用垂直的红线标出了到期日。

  我们可以观察到,在 COVID-19 大流行加剧之后,Nifty 50 期货在 1 月和 2 月保持在接近 12000 的水平,并在 3 月(尤其是 3 月到期之后)暴跌近 40%。在 3 月 23 日(仅在 3 月到期前三天)触及近期低点 7581 之后,价格在 3 月底和 4 月开始盘整。

  下面用交易量来分析价格。成交量的增加意味着市场参与者的兴趣增加,但它本身并不能说明未来趋势的方向。因此我们结合当前价格趋势对其做多元化的分析,作为未来价格趋势的指标。

  一般来说,如果价格持续上涨伴随着高于平均成交量,则表明动能仍然较高,价格能够继续上涨。同样,如果价格下降伴随着高于平均成交量,则表明下跌势头。

  但是,如果价格持续上涨或下跌伴随着低于平均成交量,则表明上涨/下跌势头正在失去动力,逆转马上就要来临。让我们查看一下 2020 年第一季度 Nifty 50 期货的价格动态。

  在3月份,我们大家可以观察到平均交易量的大幅度的增加以及价格的暴跌,这表明下行势头正在增强。交易量在3月13日飙升至超过70万份合约的高点(虚线所示),给了交易者做空的确认。3月到期后,成交量似乎回到了中等水准,表明在大幅度波动之后,短期盘整阶段的开始。

  然而,我们大家可以看到,直到3月初,无论是价格还是成交量都没有显示出任何即将到来的迹象。它没有告诉我们,在新冠肺炎和其他因素发生后,大公司是如何在市场中定位自己的。这就是要用到未平仓头寸分析的地方,我们将在下一节中讨论。

  期货等衍生品的未平仓合约是未结算合约的总数,即那些尚未结算的期货合约。与成交量不同,未平仓不考虑每一次买卖。高未平仓量反映了投资者的高兴趣,因此被用作预测价格趋势的指标。对未平仓头寸进行分析是衍生品交易员在进行任何新头寸之前的一种过滤方法。

  在下面的图中,我们绘制了2020年第一季度所有三个系列Nifty期货的联合未平仓头寸。

  在上图中,我们可以清楚地看到,联合未平仓量在接近2月底时开始增加,并在3月份的前三周保持在非常高的水平。然后在3月到期后大幅下跌,在3月底达到低点,然后进入4月。和成交量一样,未平仓头寸是与价格一起研究的,以更清楚地了解未来的趋势。在分析价格和未平仓权益时,有以下四种情况:

  同时研究价格和未平仓利率可以让我们更清楚地了解情况。从上面图能够正常的看到,随着2月到期的临近,价格并没有给我们太多关于未来情况的线索,但与此同时,未平仓头寸开始飙升,表明新的空头头寸在积累。在此期间,新型冠状病毒肺炎疫情开始对世界经济构成严重威胁。在3月的第二周,当价格崩溃时,未平仓头寸飙升并保持在高位,表明熊市已经接管了市场。在4月的第一周,价格从低点反弹,未平仓的低水平表明投资者正在平仓他们的空头头寸,也称为空头回补。

  我们发现,在接近2月底(接近到期)的时候,持仓头寸分析涵盖的信息要比价格和成交量要多得多。但在这一点上,它并不能告诉我们,那些做空头寸的交易者是否仍然有信心将他们的头寸延续到3月份。这就是展期分析变得重要的地方,下一节将做进一步分析。

  展期(Rollover),顾名思义就是将当月到期的期货头寸展期或结转至下个月系列。例如,随着 1 月到期日临近,持有 1 月期货多头头寸的交易者有两种选择。她可以让头寸到期并进行交割,或者在同时交易中卖出 1 月期货并买入 2 月期货。后者称为翻仓。

  对于任何交易月份,总展期通常以百分比表示,该百分比是使用所有未来系列的未平仓合约数据计算得出的。Nifty 50 期货的展期百分比计算如下:

  任何交易月份的展期百分比 = (下个月OI+远期月份OI)/(近期月份OI+下个月OI+远期月份OI),(其中 OI 是未平仓合约)

  与前三个月或六个月的平均值相比,展期百分比显示交易者对他们持有的头寸的信心增加或减少。当与价格变革一起研究时,展期百分比反映了当前趋势的强度。一般而言,以下规则成立:

  上涨的趋势的延续:如果价格以较高的滚动百分比上涨,则表明看涨趋势强劲,并且可能会持续;

  下降趋势的延续:如果价格以较高的滚动百分比下降,则表明看跌趋势很强并且可能会持续;

  上升趋势减弱:如果价格以较低的滚动百分比上升,则表明上升趋势正在减弱,我们可能会看到向下反转;

  下跌趋势减弱:如果价格以较低的滚动百分比下降,则表明下跌趋势正在减弱,触底过程结束,可能会引起盘整阶段并最终向上反转。

  下面,我们编写了一个函数来获取数据并计算2020年第一季度所有三个到期月的展期百分比,将此信息存储在名为expiry_df的新DataFrame中,如下所示:

  上图中的竖线代表到期日的展期百分比。当我们接近 2 月的到期日时,价格开始下跌,并且滚动百分比很高,约为 77%(与三个月的平均滚动百分比相比,即水平绿线月份建立的空头以坚定的信念滚动到3月份。然而,从 3 月到 4 月,展期百分比降至约 62%,远低于三个月中等水准,表明这些空头在 3 月底关闭。这说明3月底触底反弹,市场自此企稳,等待进一步的新进展。

  在 FII 和 DII 之间,FII 更像是所谓的“热钱”,即投资以获得短期利润并在经济发展形势发生明显的变化时迅速撤回的资金。在印度,DII 是更稳定的投资者,如只做多头的共同基金,当 FII 大量抛售时,往往会以折扣价购买证券。

  对于印度市场,可以从 NSE 和 NSDL 网站免费获取 FII/DII 活动数据。或者数据供应商也能够给大家提供这一些数据。下面我们获取并查看 2019 年最后一个月和 2020 年第一季度的数据:

  前两列分别表示Nifty 50中FII和DII的月度净(买进卖出)投资。最后一列显示了当月最后一天Nifty所处的关卡。下面对Nifty中FII/DII的交易进行可视化,代码如下:

  从上面的图中能够准确的看出,FII在1月初开始抛售,净卖出535.9亿卢比。显然,国际机构对2019冠状病毒病在全球的传播了如指掌,并及早采取了行动。外国投资者的这种出售一直持续到2月和3月(3月达到约6500亿卢比的创纪录水平)。与此同时,投资性投资机构介入市场支撑,但市场完全被抛售所主导。分析发现1月和2月形成的FII抛售势头,会给很多投资者一个退出多头的信号,并让他们避免在3月发生灾难性的波动。

  本文着重介绍了如何利用Python分析未平仓头寸、展期数据和FII/DII活动等指标,以预测未来趋势并做出更好的交易决策。本文的策略分析主要是基于印度期货和股票指数数据,但其该策略思维和分析方法一样能应用于大宗商品和别的市场等。这些指标可当作过滤器来提高现有股票选择标准或开发新的交易策略。但这些只是指标,在做出投资决定之前,还需要考虑其他因素。