在金融市场分析中,识别和标注阶段性的高低点对于理解市场趋势和做出投资决策至关重要。本文将介绍如何使用Python简单地复现阶段高低点的标注功能。
准备工作
首先,确保你的Python环境中安装了pandas
和akshare
库。如果未安装,可以通过以下命令安装:
pip install pandas akshare
pandas库就不用说了吧。
数据准备
用akshare获取股票数据,参数依次为代码、周期,起始日期,结束日期,复权方式("qfq"是前复权价格,可以改为"hfq"获取后复权价格)。
data = ak.stock_zh_a_hist(symbol="002561", period="daily", start_date="20240101", end_date="20240616", adjust="qfq")
波段计算
接下来,我们将根据获取的数据计算波段。东方财富波段高低点的计算基于最高价/最低价的变动超过+-15%来确认是否形成新的波段。
# 计算波段
start_price = data['收盘'][0]
period_high = data['最高'][0]
period_low = data['最低'][0]
# 初始化波段属性(上升为1,下降为-1,无波段为0)
period_stat = 0
# 创建一个空的列表来存储波段信息
periods = []
# 遍历数据,计算波段
for i in range(1, len(data)):
# ...(此处省略了您代码中的逻辑部分,以保持文章简洁)...
结果展示与保存
计算完成后,我们将波段信息转换为DataFrame
,并打印输出。同时,将结果保存为CSV文件,方便后续分析。
# 将波段信息转换为DataFrame
periods_df = pd.DataFrame(periods, columns=['波段最高价', '波段最低价', '波动方向'])
# 输出波段信息
print(periods_df)
# 保存为csv
periods_df.to_csv('tables/波段.csv', index=False)
逻辑还是挺简单的,可以自己动手做一下。
上述数据输出的结果
波段最高价 波段最低价 波动方向
0 11.51 8.42 下跌
1 10.23 8.42 上升
2 10.23 6.81 下跌
3 9.87 6.81 上升