600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 1 获取北向资金历史数据:沪股通和深股通

1 获取北向资金历史数据:沪股通和深股通

时间:2023-11-19 06:34:46

相关推荐

1 获取北向资金历史数据:沪股通和深股通

一 功能介绍

功能:获取沪股通、深股通历史数据、合并数据

数据来源:同花顺

/hgt/data/method/historyConnectData/type/hs/page/{}/

编程语言:Python

数据处理工具:Pandas

输出结果文件格式:CSV

二 关键代码

import requestsimport pandas as pdimport time#沪股通&深股通def download_hgt_sgt_history_data():hgt_list = []sgt_list = []i = 1headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36"}while True:url = "/hgt/data/method/historyConnectData/type/hs/page/{}/".format(i)response = requests.get(url, headers=headers)data = response.json()if len(data["hgt"]) == 0:breakhgt_list += data["hgt"]sgt_list += data["sgt"]print("{}完成!!".format(i))i += 1time.sleep(1)hgt_df = pd.DataFrame(hgt_list)sgt_df = pd.DataFrame(sgt_list)rename_columns = {"date": "交易日期", "inflow": "当日港资净流入", "net_purchase": "当日净买入额","total_inflow": "历史港资累计净流入", "index": "指数收盘价", "index_change": "指数涨跌幅","over": "剩余额度", "buy": "当日买入额度", "sell": "当日卖出额度"}#把列名称修改成中文hgt_df.rename(columns=rename_columns, inplace=True)sgt_df.rename(columns=rename_columns, inplace=True)#按日期排序hgt_df.sort_values("交易日期", inplace=True)sgt_df.sort_values("交易日期", inplace=True)#保存到CSV文件中hgt_df.to_csv("沪股通历史数据.csv", index=False, encoding="utf-8")sgt_df.to_csv("深股通历史数据.csv", index=False, encoding="utf-8")# 合并数据#how="right"表示右连接print(hgt_df)print(hgt_df[["交易日期"]].to_string())sgt_df = pd.merge(left=sgt_df, right=hgt_df[["交易日期"]], how="right")sgt_df.sort_values("交易日期", inplace=True)#'ffill' 就是将缺失值按照前面一个值进行填充sgt_df["历史港资累计净流入"].fillna(method="ffill", inplace=True)sgt_df.fillna(value=0, inplace=True)hgt_df.set_index("交易日期", inplace=True)sgt_df.set_index("交易日期", inplace=True)df = pd.DataFrame()add_columns = ["当日港资净流入", "当日净买入额", "历史港资累计净流入", "剩余额度", "当日买入额度", "当日卖出额度", "total"]hgt_df[add_columns] = hgt_df[add_columns].astype("float")sgt_df[add_columns] = sgt_df[add_columns].astype("float")for column in add_columns:df[column] = hgt_df[column] + sgt_df[column]#重置索引时,将旧索引添加为列,并使用新的顺序索引df.reset_index(inplace=True)df.sort_values(by="交易日期", inplace=True)#使用drop参数来避免将旧索引添加为列df.reset_index(drop=True, inplace=True)df.to_csv("陆股通历史数据.csv", index=False, encoding="utf-8")if __name__ == '__main__':download_hgt_sgt_history_data()

输出结果

资料参考

/lildkdkdkjf/article/details/128846897

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。