Пример #1
0
 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  
Пример #2
0
 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
Пример #3
0
 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
Пример #4
0
 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  
Пример #5
0
 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
Пример #6
0
 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 
Пример #7
0
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
Пример #8
0
 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