Chande动量振荡器与InfluxDB

导航到

我坐在朋友家的客厅里。他穿着白色的亚麻裤,盘腿坐着,手随意放在膝盖上,轻轻点头。他的客人是一支相当成功的流行乐队,他们正在回忆他们在欧洲和亚洲的最新巡回演出中的冒险,乘坐帆船、魔法微型校车或者一些时髦的交通工具。我注意到那里唯一安静的人。关于他的唯一信息是他应该是一个音乐制作大师。他正在狂热地打字,全神贯注地盯着屏幕。我问他在做什么,他轻声回答说:“我在编写一个Python脚本来执行自动比特币交易策略”。我不知道他的机器人是否有好的回报,甚至不知道他是否完成了它。然而,听到这些 buzzwords 的声音并看到他轻松地说出这些话给我留下了深刻印象——我有一天也必须玩这个游戏。嗯,我现在就在这里。

使用InfluxDB作为开发交易策略的学习工具

我偶然发现了Alpaca这个零佣金REST API股票经纪平台。它非常酷。你可以选择模拟交易或实盘交易。此外,文档中包含了示例算法和如何在Heroku上部署的说明,这样你就可以实际实现零佣金交易。

然而,我很快发现他们的示例算法相当基础。我需要熟悉更多的财务分析工具,并在做出投资策略之前评估各种算法的长期表现。最终,我还想监控我算法的成功率。幸运的是,InfluxDB就在这里帮助我。

熟悉InfluxData的人听到InfluxDB会想到“DevOps监控”或“物联网”。然而,InfluxDB也可以是想要启动“家庭”金融服务项目的人的一个很好的工具。InfluxQL,InfluxData用于与InfluxDB交互的类似SQL的查询语言,包含了一些开箱即用的技术分析功能,可以帮助你识别市场特征。其中包括查恩德动量振荡器

查恩德动量振荡器是什么?

查恩德动量振荡器(CMO)是一种由Tushar Chande于1994年发明的技术指标。具体来说,它是一个动量振荡器。它是最近一段时间内所有总和与收益之差与价格变动总数的比率。

CMO = (H - L)/(H + L) *100

其中H和L分别表示N个周期内所有较高和较低收盘价的和。

如何使用InfluxDB结合查恩德动量振荡器

要查看我的数据,我使用以下InfluxQL查询

SELECT "Close" FROM "AAPL"."autogen"."price" WHERE time > :dashboardTime:

查恩德动量振荡器和InfluxDB<figcaption> 过去一年AAPL收盘价数据,在Chronograf中可视化</figcaption>

要应用CMO,如文档中所述,我提交

SELECT CHANDE_MOMENTUM_OSCILLATOR("Close", 20) FROM "AAPL"."autogen"."price" WHERE time > :dashboardTime:

在这里,我将周期设置为9。通常投资者在分析收盘价时,会选择7-10个周期。

分析收盘价influxdb chronograf<figcaption> 使用InfluxDB在Chronograf中可视化的查恩德动量振荡器(蓝色)和AAPL收盘价(绿色)</figcaption>

何时使用查恩德动量振荡器买入或卖出

蓝色线表示CMO。当它超过+50时,股票被认为是超买;当它低于-50时,被认为是超卖。

例如,2019年初,CMO降至-50以下,股票被超卖。随后,我们看到了看涨行为。同时,注意在CMO线穿过-50水平之前,CMO和AAPL收盘价的趋势斜率都是负的。当CMO和价格数据的斜率一致时,可以确认CMO是一个好的指标。

负背离示例<figcaption> 正或看涨背离的示例,其特征是负的价格趋势和正的CMO趋势</figcaption>

然而,当斜率相反时,这被称为发散。发散可能预示着潜在的反转。负发散出现在九月。AAPL的价格持续上涨,但CMO尽管超过50+,相对于八月末是下降的。负发散的定义是价格趋势为正而CMO趋势为负。负发散可能表明CMO在长期内可能不可靠,并预期看跌行为。这可以在十月初看到,当时CMO在+50水平以上达到峰值,但价格随后下降。

negative divergence<figcaption> 负发散或看跌发散的例子</figcaption>

您还可以使用移动平均线(MA)与更长周期的CMO结合作为另一个确认指标。我通过以下查询计算了一个20日周期CMO的9日移动平均线

SELECT MOVING_AVERAGE("CMO_20", 9) FROM (SELECT CHANDE_MOMENTUM_OSCILLATOR("Close", 20) AS "CMO_20" FROM "AAPL"."autogen"."price" WHERE time > :dashboardTime:)

AAPL closing price<figcaption> APPL收盘价(蓝色),20日CMO(绿色),以及MA(粉色)</figcaption>

MA充当信号线。当CMO穿过MA时,被视为看涨信号。在九月初,我们看到相反的情况发生。CMO跌至MA以下,表明看跌信号。这证实了我们上面观察到的发散的解读。

结论

InfluxQL有其他几个技术分析功能,我非常期待看到剩下的能教会我什么,以及我将如何应用它们。像往常一样,如果您有任何问题,请在社区网站上发帖或给我们@InfluxDB发推文。