识别 P&F 图表中最后一列包含三个或更多“X”图的股票

问题描述

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

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

谢谢,

曼尼

解决方法

调用 mpf.plot() 时使用 kwarg return_calculated_values。您将此 kwarg 设置为空字典,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 XO 每个日期(不是完整列表)。

,

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

pip install --upgrade mplfinance

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

cv = {}
mpf.plot(df,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 相同。

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...