在烛台图中找到支撑区域的算法

时间:2019-05-12 19:17:14

标签: algorithm finance quantitative-finance candlestick-chart

我正在设计一种算法,该算法将计算烛台图中存在强大支撑区域的区域。在这种情况下,“支撑区域”被定义为图表中股票价格在短时间内大量上涨的区域。 (请参见下图,蓝点代表这些有力的支持领域)

enter image description here

我正在使用的数据是超过6000个TOHLC(时间戳,开盘价,高价,低价,收盘价)值的列表。例如,此数据列表中的第一项是:

[1555286400,83.7,84.63,83.7,84.27]

我构造算法的工作方式如下:

1。)将6000多个TOHLC值的列表分成30个TOHLC值的子列表(30是我任意选择的数字)。然后从这些子列表中的每一个中获得最低的最低价格(LLP)。使用此方法的目的是在图表中找到价格下跌的区域。

2。)下一步是确定价格从每个低点上涨了多少。为此,我从低价中获取接下来的30个烛台值,并确定最高价(HHP)是多少。然后,如果HHP / LLP> = 1.03,则接受低价,否则将其丢弃。同样,通过手动分析股票图表并确定价格从这些低点平均上涨了多少,我随意选择了1.03。

上图中的蓝点表示算法接受的支持范围。就我要达到的目标而言,它似乎运行良好。

所以我的问题是:有没有人可以对这种算法提出任何改进建议,或者指出其中的任何错误?

谢谢!

1 个答案:

答案 0 :(得分:1)

我可能理解错了,但是,从您的解释看来,您似乎是在30多个单独的子列表中进行计算,然后将它们组合在一起。

那么,如果LLP是子列表N的第30个元素,而HHP是子列表N + 1的第一个元素怎么办?如果考虑到这一点,那就没事了。

  1. 如果您没有考虑到这一点,我建议在读取这些数据时采用移动窗口类型的方法。因此,您将从6000+ TOHLC的第0个元素开始,以30的窗口大小开始,然后将其滑动1到1。这样,您将不会错过任何值。

  2. 某些选定的蓝色点的浸入度高于其他蓝色点。这是为什么?我将它们分为另一个分类器。如果要将它们存储到一个对象中,请同时存储下垂率。

  3. 在金融中不建议使用浮点数。如果可能的话,我会使用其他方法,也许是分类器,仅使用整数。到目前为止,它可能不会打扰您或您的项目,但是可以肯定的是,将来数字累加时,它将开始产生错误的结果。