聚宽策略:获取最热门股票,计算5天涨幅大于25%的股票和10天涨幅大于50%的股票
聚宽策略:获取最热门股票,计算5天涨幅大于25%的股票和10天涨幅大于50%的股票代码如下:from jqdata import * import numpy as np import pandas as pd from six import BytesIO # 读取股票代码列表 body = read_file("hot_stocks.csv") data = pd.read_csv(BytesIO(body)) column1 = data.iloc[:, 2] column2 = data.iloc[:, 1] stocks = column1.tolist() # 获取10天前和5天前的日期 end_date = '2023-06-19' trade_days_10 = get_trade_days(end_date=end_date, count=10) start_date_10 = trade_days_10[0] trade_days_5 = get_trade_days(end_date=end_date, count=5) start_date_5 = trade_days_5[0] # 初始化空列表,存储涨幅超过50%和25%的股票代码和名称 selected_10 = [] selected_5 = [] # 遍历股票代码列表 for name, code in zip(column1, column2): # 获取历史行情数据 df = get_price(code, start_date=start_date_10, end_date=end_date, frequency='daily') # 计算10天涨幅和5天涨幅 change_10 = (df['close'][-1] - df['close'][0]) / df['close'][0] * 100 df = get_price(code, start_date=start_date_5, end_date=end_date, frequency='daily') change_5 = (df['close'][-1] - df['close'][0]) / df['close'][0] * 100 # 打印结果 print("{} {} 10天涨幅: {:.2f}%, 5天涨幅: {:.2f}%".format(code, name, change_10, change_5)) # 判断涨幅是否超过50%和25% if change_10 > 50: selected_10.append(code + ' ' + name) if change_5 > 25: selected_5.append(code + ' ' + name) # 打印符合条件的股票代码和名称列表 print("10天涨幅大于50%的股票: {}".format(selected_10)) print("5天涨幅大于25%的股票: {}".format(selected_5))
运行结果如下:
附用到的文件:标签: 股票量化
发表评论: