近日创新高

时间:2025-01-24 21:58:23 游戏攻略

编写一个程序来找出股票在最近几天内创新高的方法如下:

确定参数

设置一个参数N,表示要比较的天数。例如,N=20表示比较最近20天内的数据。

获取数据

使用股票数据接口(如tushare)获取股票的历史数据,包括最高价(High)和当前价格(Close)。

计算创新高条件

对于每一天,检查当前价格是否等于最近N天内的最高价。

输出结果

将满足创新高条件的股票信息输出,例如股票代码、日期和价格。

```python

import tushare as ts

设置tushare token,用于获取数据

ts.set_token('your_tushare_token')

pro = ts.pro_api()

获取股票数据

stock_code = '000001.SZ' 示例股票代码

end_date = '20250102' 示例结束日期

start_date = '20241231' 示例开始日期

data = ts.pro_bar(ts_code=stock_code, adj='qfq', start_date=start_date, end_date=end_date)

计算创新高条件

N = 20

新高 = data['high'] >= ts.hhv(data['high'], N)

输出结果

for i, row in data.iterrows():

if 新高[i]:

print(f'股票代码: {stock_code}, 日期: {row["trade_date"]}, 价格: {row["high"]}')

```

代码说明:

设置tushare token

你需要先注册tushare并获取一个token,用于访问股票数据接口。

获取股票数据

使用`ts.pro_bar`函数获取指定股票在指定日期范围内的历史数据。

计算创新高条件

使用`ts.hhv`函数计算最近N天内的最高价,然后检查当前价格是否等于这个最高价。

输出结果

遍历数据,找出满足创新高条件的股票,并输出相关信息。

建议:

确保你使用的tushare token是有效的,并且有权限访问所需的数据。

根据实际需求调整参数N的值,以适应不同的分析周期。

可以结合其他技术指标(如成交量、均线等)来进一步优化选股条件。