【问题标题】:Identifying stocks where the last column in a P&F chart contains three or more "X" plots识别 P&F 图表中最后一列包含三个或更多“X”图的股票
【发布时间】:2021-04-07 18:24:06
【问题描述】:

首先:mplfinance 是一个非常棒的程序,可以帮助我进行股票交易:谢谢。

每周一次,我下载并使用 mplfinance 绘制标准普尔 500 指数的股票。我想使用 P&F 图表方法扫描股票并确定最后一列包含三个或更多“X”图的股票无需亲自查看每个图表。我会很感激任何想法。

谢谢,

曼尼

【问题讨论】:

    标签: python mplfinance


    【解决方案1】:

    mplfinance 新版本 (0.12.7a12) 现已发布:

    pip install --upgrade mplfinance
    

    在此版本中,如果您执行以下操作:

    cv = {}
    mpf.plot(df,type=pnf,return_calculated_values=cv)
    

    然后“计算值”字典cv将填充以下项目:

    dict_keys(['pnf_dates', 'pnf_counts', 'pnf_values', 'pnf_avgvals', 
               'pnf_size', 'pnf_volumes', 'minx', 'maxx', 'miny', 'maxy'])
    
    • cv['pnf_counts'] 将包含cv['pnf_dates'] 中每个日期的框数。向上框 X 为正值,向下框 O 为负值。
    • cv['pnf_values'] 将是一个列表列表。外层列表对应于每个 pnf 日期,而内层列表在每个日期对应于该日期每个框的 beginning 值:“beginning”表示它是向上框的下限,或向下盒子的上界。对于一个向上的盒子,X 从这个值跨越到 (value + pnf_size),对于一个向下的盒子,O 从这个值跨越到 (value - pnf_size)
    • cv['pnf_avgvals'] 是给定日期所有 pnf_values 的平均值,与之前版本的 mplfinance 返回的 pnf_bricks 相同。

    希望这会有所帮助。一切顺利。

    【讨论】:

    • 谢谢丹尼尔:应该这样做。再次感谢您在 mplfinance 方面所做的工作,我相信这项工作对社区(包括我)具有很大的价值,其他人也和我一样欣赏它。最好的问候,
    【解决方案2】:

    当调用 mpf.plot() 时,使用 kwarg return_calculated_values。您将此 kwarg 设置为空 dict,mplfinance 将用各种计算值填充它,包括 type=pnf 时的砖值:

    cv = {}
    mpf.plot(df,type=pnf,return_calculated_values=cv)
    

    然后看看cv['pnf_bricks']和cv['pnf_dates']

    然后扫描砖值列表以找到您想要的应该相对容易。您甚至可以从中创建一个系列以使其更易于操作:

    pnf_series = pd.Series(cv['pnf_bricks'],index=pd.DatetimeIndex(cv['pnf_dates']))
    
    pnf_series.head()
    
    2011-07-11 00:00:00+00:00    122.117136
    2011-08-08 00:00:00+00:00    114.248562
    2011-08-17 00:00:00+00:00    115.232133
    2011-08-22 00:00:00+00:00    116.215705
    2011-09-01 00:00:00+00:00    117.199277
      dtype: float64
    
    pnf_series.tail()
    
    2011-11-29 00:00:00+00:00    120.149992
    2011-12-07 00:00:00+00:00    122.117136
    2011-12-20 00:00:00+00:00    129.985711
    2012-04-04 00:00:00+00:00    133.919998
    2012-06-05 00:00:00+00:00    130.969283
    

    嗯。现在我正在查看上面打印的示例,可能存在一个错误,它似乎只打印出 last X 或 O 用于每个日期(不是完整列表)。

    【讨论】:

    • 您好丹尼尔:感谢您的快速回复。我现在正在处理它。 pnf砖是否使用ATR?一旦创建了 pnf 砖系列,我必须检查该系列并确定最后三个框是否会计算为“X”框(如果朝那个方向看,则为“O”框),用于三个框反转或更多:那是正确的吗?谢谢,曼尼
    • @Manny -- 是的,默认 pnf 大小使用长度为 14 的 ATR。但您可以传入其他值。我现在正在看代码。在我看来,给定日期返回的值不是最后一个框,而是该日期所有框的平均值并且代码没有返回框的数量,也没有返回标志。这应该是固定的。
    • 这是您将要解决的问题还是我需要解决的问题?谢谢,曼尼
    • 乍一看,这似乎很容易改变。我将在今天晚些时候从我当前的项目中休息一下并实施修复(看看它是否像我想的那样简单)。
    猜你喜欢
    • 1970-01-01
    • 2019-12-13
    • 2021-05-11
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 2011-05-26
    • 1970-01-01
    相关资源
    最近更新 更多