美国金融市场较为发达,针对美股的研究,或是对中美股市的比较研究,都免不了需要美股收盘价数据。tushare除了包含丰富的国内股票市场数据,也对美股交易日历和日价格数据有所涉及,可以综合这两个函数使用tushare获取美股月收盘价数据。
首先引入需要的包和tushare接口,接口号从tushare官网注册账号后可以从个人主页里的接口TOKEN复制过来。
import numpy as np
import tushare as ts
TOKEN = "*****"
pro = ts.pro_api(token=TOKEN)
从us_tradecal获取当月交易日日历,自定义开始日期和结束日期。查询结果如所示,第一列为日期;第二列为是否为交易日:1代表当日进行交易,0代表当日休市;第三列为上一个交易日。
df = pro.us_tradecal(start_date="20220101", end_date="20220301")
从结果可以看出,2022年2月的最后一个交易日是28号,接下来用us_daily接口获取这天的交易数据。结果中股票代码、交易日期、收盘价、开盘价、最高价、最低价等都有展示。
df1= pro.us_daily(trade_date="20220228")
每股月收盘价的获取到这里就结束了。但是可以看出,有的股票收盘价为空,如果觉得样本量不足时,可以用查询结果中的pre_close也就是昨日收盘价填补空缺。
通过for循环实现:当close收盘价为nan且pre_close昨日收盘价不为nan时,将pre_close的值付给close。这样可以一定程度上填补收盘价的空缺。
for i in range(len(df1)):
if (str(df1["close"][i])== "nan") & (str(df1["pre_close"][i])!= "nan"):
df1["close"][i]= df1["pre_close"][i]
文章为作者独立观点,不代表股票交易接口观点