一、艾略特波段理论简介
波浪理论是美国证券分析家拉尔夫·纳尔逊·艾略特(R.N.Elliott)利用道琼斯工业平均指数(Dow Jones Industrial Average,DJIA)作为研究工具而创建的一种理论。 基本要点:
①一个完整的循环包括八个波浪,五上三落。 ②波浪可合并为高一级的浪,亦可以再分割为低一级的小浪。 ③.跟随主流行走的波浪可以分割为低一级的五个小浪。 ④1、3、5三个波浪中,第3浪不可以是最短的一个波浪。 ⑤假如三个推动浪中的任何一个浪成为延伸浪,其余两个波浪的运行时间及幅度会趋一致。 ⑥.调整浪通常以三个浪的形态运行。 ⑦黄金分割率理论奇异数字组合是波浪理论的数据基础。 ⑧经常遇见的回吐比率为0.382、0.5及0.618。 ⑨第四浪的底不可以低于第一浪的顶。 ⑩艾略特波段理论包括三部分:型态、比率及时间,其重要性以排行先后为序。 ⑪艾略特波段理论主要反映群众心理。越多人参与的市场,其准确性越高。
二、模型建立(简化并添加约束)
第1浪、第3浪、第5浪在横轴方向上等长(为2),且斜率相同(为1)。第2浪在横轴方向上的长度是第1浪的0.5倍。第2浪、第4浪在横轴方向上等长,且斜率相同。a浪与第5浪在横轴方向上等长,a浪在纵轴方向上的长度是第5浪的0.618倍。b浪在横轴方向上的长度是a浪的0.5倍,b浪在纵轴方向上的长度是a浪的0.5倍。c浪与a浪在横轴方向上等长,且斜率相同。
三、代码实现
import matplotlib
import matplotlib.pyplot as plt # 导入matplotlib包的子模块pyplot,并将其重命名为plt
import numpy as np # 导入numpy,并将其重命名为np
matplotlib.rcParams['font.sans-serif'] = ['SimHei'] # 显示中文
# 为了坐标轴负号正常显示。matplotlib默认不支持中文,设置中文字体后,负号会显示异常。需要手动将坐标轴负号设为False才能正常显示负号。
matplotlib.rcParams['axes.unicode_minus'] = False
x = np.linspace(0, 13, 1000) # 横轴
x_list = x.tolist() # 横轴数据转化为列表
y_list = [] # 纵轴数据列表
for a in x_list:
if 0 |