一、顶底分析概述
顶底分析是股票投资中的一种常用技术分析方法,主要用于判断股票价格的顶部和底部,从而为投资者提供买卖的参考依据。顶底分析的核心在于对市场情绪和资金流向的把握,通过对历史价格走势的分析,寻找出股票价格的支撑位和阻力位。
二、顶底分析的关键指标
1. 移动平均线(MA)
移动平均线是将一段时间内的收盘价相加后除以天数得到的平均值,它反映了股票价格的长期趋势。常见的移动平均线有5日、10日、20日、60日和120日等。通过分析不同周期移动平均线的交叉情况,可以判断股票价格的顶底。
代码示例:
import numpy as np
# 假设股票历史收盘价
prices = [10, 11, 9, 12, 13, 11, 8, 10, 12, 14]
# 计算移动平均线
def calculate_ma(prices, days):
return np.convolve(prices, np.ones(days)/days, 'valid')
ma_5 = calculate_ma(prices, 5)
ma_10 = calculate_ma(prices, 10)
print("5日移动平均线:", ma_5)
print("10日移动平均线:", ma_10)
2. 布林带(Bollinger Bands)
布林带由上轨、中轨和下轨组成,其中中轨是移动平均线,上下轨则是中轨加减标准差得到的。布林带可以判断股票价格的波动幅度和趋势,同时也可以作为顶底判断的依据。
代码示例:
import numpy as np
import matplotlib.pyplot as plt
# 假设股票历史收盘价
prices = [10, 11, 9, 12, 13, 11, 8, 10, 12, 14]
# 计算布林带
def calculate_bollinger(prices, days, std_dev):
ma = np.mean(prices)
std = np.std(prices)
upper_band = ma + std_dev * std
lower_band = ma - std_dev * std
return upper_band, lower_band
std_dev = 2
upper_band, lower_band = calculate_bollinger(prices, 10, std_dev)
plt.plot(prices, label='收盘价')
plt.plot([ma for ma in ma_10], label='10日移动平均线')
plt.plot([upper_band for _ in prices], label='布林带上轨')
plt.plot([lower_band for _ in prices], label='布林带下轨')
plt.legend()
plt.show()
3. 相对强弱指标(RSI)
相对强弱指标是衡量股票价格短期超买或超卖的一种指标。RSI的取值范围在0到100之间,一般认为RSI大于70表示股票价格超买,小于30表示股票价格超卖。
代码示例:
import numpy as np
# 假设股票历史收盘价
prices = [10, 11, 9, 12, 13, 11, 8, 10, 12, 14]
# 计算RSI
def calculate_rsi(prices, days):
gain = []
loss = []
for i in range(1, len(prices)):
if prices[i] > prices[i - 1]:
gain.append(prices[i] - prices[i - 1])
else:
loss.append(prices[i] - prices[i - 1])
avg_gain = np.mean(gain)
avg_loss = np.mean(loss)
rs = avg_gain / avg_loss
rsi = 100 - (100 / (1 + rs))
return rsi
days = 10
rsi = calculate_rsi(prices, days)
print("RSI:", rsi)
三、实战案例分析
以下是一个利用顶底分析选股的实战案例:
1. 选股条件
(1)股价站在布林带上轨下方; (2)RSI值在50以下; (3)移动平均线多头排列。
2. 案例分析
假设我们选取的股票为A股票,其历史收盘价如下:
[10, 11, 9, 12, 13, 11, 8, 10, 12, 14]
根据选股条件,我们可以进行以下分析:
- 布林带上轨为:16.8,下轨为:3.2
- RSI值为:52.3
- 移动平均线为:10.7、11.4、11.8、12.1、12.2、11.6、10.9、11.2、11.5、12.4
由于股价低于布林带上轨,且RSI值未超过50,同时移动平均线呈现多头排列,因此符合选股条件。我们可以在此价位买入股票A。
3. 风险提示
顶底分析仅作为股票投资的辅助手段,并不能保证100%的准确率。投资者在实际操作中需谨慎,结合基本面分析和市场情绪等多方面因素进行决策。
