def GetPeriodDerivativeData(self,StartDate,EndDate): ''' 获取一段时间所有股票的衍生数据 ''' trading_dates = GetTradeDates(StartDate,EndDate) final_df = pd.concat([pd.read_pickle(self.path+date+".pkl") for date in trading_dates],axis=0) final_df.sort_values(["TRADE_DT","S_INFO_WINDCODE"],inplace=True) return final_df
def GetPeriodStocksData(self,StartDate,EndDate): ''' StartDate : [str] 开始日期 EndDate : [str] 截止日期 ''' trading_dates = GetTradeDates(StartDate,EndDate) final_df = pd.concat([pd.read_pickle(self.path+date+".pkl") for date in trading_dates],axis=0) final_df.sort_values(["TRADE_DT","S_INFO_WINDCODE"],inplace=True) return final_df
def GetFreeTurnover(self,StartDate,EndDate): ''' 获取一段时间所有股票的自由换手率 ''' trading_dates = GetTradeDates(StartDate,EndDate) data = pd.concat([pd.read_pickle(self.path+date+".pkl") for date in trading_dates],axis=0) data.sort_values(["TRADE_DT","S_INFO_WINDCODE"],inplace=True) final = data.pivot(index = "TRADE_DT" ,columns = "S_INFO_WINDCODE" ,values = "S_DQ_FREETURNOVER" ) return final
def GetPeriodTurnover(self,StartDate,EndDate): ''' 获取一段时间所有股票的换手率 ''' trading_dates = GetTradeDates(StartDate,EndDate) final_df = pd.concat([pd.read_pickle(self.path+date+".pkl") for date in trading_dates],axis=0) final_df = final_df[["S_INFO_WINDCODE","TRADE_DT","S_DQ_TURN","S_DQ_FREETURNOVER"]] final_df.sort_values(["TRADE_DT","S_INFO_WINDCODE"],inplace=True) return final_df
def GetPeriodMarketValue(self,StartDate,EndDate): ''' 获取一段时间所有股票的市值 ''' trading_dates = GetTradeDates(StartDate,EndDate) final_df = pd.concat([pd.read_pickle(self.path+date+".pkl") for date in trading_dates],axis=0) final_df = final_df[["S_INFO_WINDCODE","TRADE_DT","S_VAL_MV","S_DQ_MV"]] final_df.sort_values(["TRADE_DT","S_INFO_WINDCODE"],inplace=True) return final_df
def GetPreClose(self,StartDate,EndDate): '''获取前开盘价 StartDate : [str] 开始日期,如 "20100101" EndDate : [str] 截止日期,如 "20100131" ''' trading_dates = GetTradeDates(StartDate,EndDate) data = pd.concat([pd.read_pickle(self.path+date+".pkl") for date in trading_dates],axis=0) data.sort_values(["TRADE_DT","S_INFO_WINDCODE"],inplace=True) final = data.pivot(index = "TRADE_DT" ,columns = "S_INFO_WINDCODE" ,values = "S_DQ_PRECLOSE" ) return final
def GetAdjClose(StartDate,EndDate): ''' 获取后复权价格 ''' path = r"E:\DataBase\WindData\ashare_eod_prices\data\\" trading_dates = GetTradeDates(StartDate,EndDate) data = pd.concat([pd.read_pickle(path+date+".pkl") for date in trading_dates],axis=0) prices = data.pivot(index="TRADE_DT",columns="S_INFO_WINDCODE",values="S_DQ_ADJCLOSE") prices.index.name = "date" prices.columns.name = "asset" prices.index = pd.to_datetime(prices.index) return prices
def GetPeriodIndexData(self,IndexCode,StartDate,EndDate): ''' 获取某个指数一段时间内的数据 Parameters ---------- IndexCode : [str] 指数代码,如 "000001.SH" StartDate : [str] 开始日期,如 "20100101" EndDate : [str] 截止日期,如 "20100131" ''' trading_dates = GetTradeDates(StartDate,EndDate) final_df = pd.concat([pd.read_pickle(self.path+date+".pkl") for date in trading_dates],axis=0) final_df = final_df[final_df["S_INFO_WINDCODE"]==IndexCode] return final_df