AH比价格策略源代码
用python 获取在A股和香港上市的公司和在A股和香港上市的公司股票代码和名称并且选出港股和A股涨幅相差比较大的股票
import akshare as ak
def get_ah_stocks():
# 获取A股股票列表
a_stock_list = ak.stock_zh_a_spot_em()
print(a_stock_list)
a_stock_list = a_stock_list[["代码", "名称"]]
# 获取港股股票列表
h_stock_list = ak.stock_hk_spot_em()
h_stock_list = h_stock_list[["代码", "名称"]]
# 获取A股和港股的公司名称及代码
a_names = a_stock_list["名称"].str.strip().tolist()
a_codes = a_stock_list["代码"].tolist()
h_names = h_stock_list["名称"].str.strip().tolist()
h_codes = h_stock_list["代码"].tolist()
# 初始化结果列表
ah_stocks = []
# 遍历A股公司,寻找对应的港股公司
for a_name, a_code in zip(a_names, a_codes):
for h_name, h_code in zip(h_names, h_codes):
# 判断名称是否有包含关系
# if a_name in h_name or h_name in a_name:
if a_name == h_name:
ah_stocks.append({"A_code": a_code, "H_code": h_code, "A_name": a_name,"H_name":h_name})
break # 找到一个匹配后跳出循环
return ah_stocks
def get_ah_compare_result(ah_stocks):
a_stock_df = ak.stock_zh_a_spot_em()
h_stock_df = ak.stock_hk_spot_em()
return_list = []
for stock in ah_stocks:
# 筛选出指定股票的数据
a_stock_data = a_stock_df[a_stock_df["代码"] == stock['A_code']]
# 获取涨幅信息
a_change_percent = a_stock_data["涨跌幅"].values[0]
# 筛选出指定股票的数据
h_stock_data = h_stock_df[h_stock_df["代码"] == stock['H_code']]
# 获取涨幅信息
h_change_percent = h_stock_data["涨跌幅"].values[0]
# print(f"A股代码:{stock['A_code']}, 港股代码:{stock['H_code']}, A公司名称:{stock['A_name']},H公司名称:{stock['H_name']}")
# print(f"A公司名称:{stock['A_name']} A股 涨幅:{a_change_percent} H股 涨幅:{h_change_percent} 港股和A股涨幅差值:{h_change_percent - a_change_percent}")
if h_change_percent - a_change_percent > 2:
print(f"A股代码:{stock['A_code']}, 港股代码:{stock['H_code']}, A公司名称:{stock['A_name']},H公司名称:{stock['H_name']}")
print(f"A公司名称:{stock['A_name']} A股 涨幅:{a_change_percent} H股 涨幅:{h_change_percent} 港股和A股涨幅差值:{h_change_percent - a_change_percent}")
return_list.append(stock['A_code'])
print("溢价很高得个股:",return_list)
return return_list
# 主程序
if __name__ == "__main__":
ah_stocks = get_ah_stocks()
print("AH股股票列表:")
for stock in ah_stocks:
print(f"A股代码:{stock['A_code']}, 港股代码:{stock['H_code']}, A公司名称:{stock['A_name']},H公司名称:{stock['H_name']}")
get_ah_compare_result(ah_stocks)