股市技术分析与机器学习预测

在股市预测领域,预测性分析和深度神经网络被广泛用于预测股价。然而,股价在连续期间内的变化通常较为接近,直到发生大幅下跌。股市通常设有涨跌停板限制。因此,如果使用例如长短期记忆网络(LSTM)来处理日级别的股价数据,它可能仅仅是一个滞后指标。

所谓的滞后指标,顾名思义,是指落后于当前股价的指标,即回顾性指标。最常见的例子是简单移动平均线。许多交易策略同时使用滞后指标和领先指标来做出买卖决策。

滞后指标:布林带(Bollinger Band)

布林带本质上是证券的平均价格及其95%置信区间,意味着95%的时间里证券价格保持在这个区间内。图表显示了BAJAJ FINANCE(NSE)的股价以蜡烛图的形式。蜡烛图的主体表示“开盘”和“收盘”价格,而烛芯代表当天的“最低”和“最高”价格。一根蜡烛代表一天。绿色蜡烛意味着股价在开盘后上涨,即当天的收盘价高于开盘价。

黑色线条是20日平均价格,而带状区域是95%置信区间,也称为布林带。布林带交易策略如下:

  • 交易者认为,当股价触及或接近下布林带时,这是一个“买入”信号。
  • 同样,当价格触及上布林带时,这是一个“卖出”信号。
  • 另一种策略认为,当布林带挤压(股价波动较小)或者说20日价格的标准差减少时,可能会出现向上或向下的突破。交易者在向上或向下突破后立即做出买入或卖出决策。

完整的Python代码示例可以在这里找到。

# 假设有一个名为calculate_bollinger_bands的函数 # 该函数接受收盘价数组和窗口大小作为参数 def calculate_bollinger_bands(closing_prices, window_size): # 计算移动平均 moving_average = sum(closing_prices[-window_size:]) / window_size # 计算标准差 std_dev = (sum((x - moving_average) ** 2 for x in closing_prices[-window_size:]) / window_size) ** 0.5 # 计算布林带 upper_band = moving_average + (std_dev * 2) lower_band = moving_average - (std_dev * 2) return moving_average, upper_band, lower_band

领先指标:相对强弱指数(RSI)

相对强弱指数(RSI)是一种动量指标,用于技术分析,通过衡量近期价格变化的幅度来发现股票、货币或商品价格中的超买或超卖情况。RSI是一个振荡器(一个在两个极端之间移动的线图),其值可以在0到100之间。该指标最初由J. Welles Wilder Jr.在1978年的著作《技术分析新概念》中介绍。

图表显示了使用蜡烛图的价格和RSI线图在下方。RSI交易策略如下:

  • 传统上,RSI值在70或以上表明证券可能被高估或超买,可能需要趋势反转或价格修正。RSI值在30或以下表明证券可能被低估或超卖。

完整的Python代码示例可以在这里找到。

# 假设有一个名为calculate_rsi的函数 # 该函数接受收盘价数组和周期作为参数 def calculate_rsi(closing_prices, period): delta = [closing_prices[i] - closing_prices[i - 1] for i in range(1, len(closing_prices))] up, down = 0, 0 for i in range(len(delta)): if delta[i] > 0: up += delta[i] elif delta[i] < 0: down -= delta[i] avg_gain = up / period if up else 0 avg_loss = down / period if down else 0 rs = avg_gain / avg_loss if avg_loss else 0 rsi = 100 - (100 / (1 + rs)) return rsi
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485