def main(type): begt = '20080101' endt = '20171130' N = -1 Fre = 'Y' Halflife = 180.0 SApara = { 'aetopQ': 0.25, 'aebomQ': 0.5, 'sizeQ': 5.0, 'nstbomQ': 0.5, 'indtype': 'BARAIND', 'sizetype': 'SIZE' } if type == 0: # outputpath = 'D:/work/Factors/Insider/' outputpath = 'Z:/axioma_data/alpha/' dateslist = td.tdays(begt, endt, 'M') else: # outputpath = 'D:/work/Factors/Insider/' outputpath = 'Z:/daily_data/alpha/raw/' dateslist = [(datetime.datetime.now() - datetime.timedelta(days=1)).strftime("%Y%m%d")] print(dateslist) datapath = 'F:/factor_data/Insider_Data/' barapath = 'Z:/axioma_data/barra_model/Exposure/' Insider.LoadInsiderData_main(dateslist, N, Fre, datapath, barapath) # Insider.GetInsider_main(dateslist, N, Fre, Halflife, SApara, datapath, outputpath) return 'Finished!'
def update_MJRV(today, N, Fre, Halflife, datapath, outputpath): print('****** MJRV ******') MJRV = Insider.GetMJRV(today, N, Fre, Halflife, datapath) MJRV = MJRV[['S_INFO_WINDCODE', 'MJRV_raw']] path = outputpath + 'MJRV' if not os.path.exists(path): os.mkdir(path) MJRV.to_csv(path + '/MJRV_raw_CN_' + today + '.csv', index=None) return u"MJRV insider_更新成功"
def update_LIOCHANGE(today, datapath, outputpath): print('****** LIOCHANGE ******') LIOCHANGE = Insider.GetLIOCHANGE(today, datapath) LIOCHANGE = LIOCHANGE[['S_INFO_WINDCODE', 'LIOCHANGE_raw']] path = outputpath + 'LIOCHANGE' if not os.path.exists(path): os.mkdir(path) LIOCHANGE.to_csv(path + '/LIOCHANGE_raw_CN_' + today + '.csv', index=None) return u"LIOCHANGE insider_更新成功"
def update_PV(today, N, Fre, Halflife, datapath, outputpath): print('****** PV ******') PV = Insider.GetPV(today, N, Fre, Halflife, datapath) PV = PV[['S_INFO_WINDCODE', 'PV_raw']] path = outputpath + 'PV' if not os.path.exists(path): os.mkdir(path) PV.to_csv(path + '/PV_raw_CN_' + today + '.csv', index=None) return u"PV insider_更新成功"
def update_NSTS(today, N, Fre, Halflife, datapath, outputpath): print('****** NSTS ******') NSTS = Insider.GetNST(today, N, Fre, Halflife, datapath) NSTS = NSTS[['S_INFO_WINDCODE', 'NST_raw']] NSTS.columns = ['S_INFO_WINDCODE', 'NSTS_raw'] path = outputpath + 'NSTS' if not os.path.exists(path): os.mkdir(path) NSTS.to_csv(path + '/NSTS_raw_CN_' + today + '.csv', index=None) return u"NSTS insider_更新成功"
def update_AES(today, datapath, outputpath): print('****** AES ******') AES = Insider.GetAE(today, datapath) AES = AES[['S_INFO_WINDCODE', 'AE_raw']] AES.columns = ['S_INFO_WINDCODE', 'AES_raw'] path = outputpath + 'AES' if not os.path.exists(path): os.mkdir(path) AES.to_csv(path + '/AES_raw_CN_' + today + '.csv', index=None) return u"AES insider_更新成功"
def update_SSAA(today, N, Fre, Halflife, datapath, outputpath): print('****** SA/SL/Accrual/Accrualwgt ******') SApara = { 'aetopQ': 0.25, 'aebomQ': 0.5, 'sizeQ': 5.0, 'nstbomQ': 0.5, 'indtype': 'BARAIND', 'sizetype': 'SIZE' } SA = Insider.GetSA(today, N, Fre, Halflife, SApara, datapath) SL = SA[['S_INFO_WINDCODE', 'SL_raw']] path = outputpath + 'SL' if not os.path.exists(path): os.mkdir(path) SL.to_csv(path + '/SL_raw_CN_' + today + '.csv', index=None) Accrual = SA[['S_INFO_WINDCODE', 'Accrual_raw']] path = outputpath + 'Accrual' if not os.path.exists(path): os.mkdir(path) Accrual.to_csv(path + '/Accrual_raw_CN_' + today + '.csv', index=None) Accrualwgt = SA[['S_INFO_WINDCODE', 'Accrualwgt_raw']] path = outputpath + 'Accrualwgt' if not os.path.exists(path): os.mkdir(path) Accrualwgt.to_csv(path + '/Accrualwgt_raw_CN_' + today + '.csv', index=None) SA = SA[['S_INFO_WINDCODE', 'SA_raw']] path = outputpath + 'SA' if not os.path.exists(path): os.mkdir(path) SA.to_csv(path + '/SA_raw_CN_' + today + '.csv', index=None) return u"SA/SL/Accrual/Accrualwgt insider_更新成功"
'aetopQ': 1 / 4, 'aebomQ': 1 / 2, 'sizeQ': 5, 'nstbomQ': 1 / 2, 'indtype': 'BARAIND', 'sizetype': 'SIZE' } dateslist = td.tdays(begt, endt, 'M') datapath = 'D:/work/Factors/Insider/Insider_Data/' outputpath = 'D:/work/Factors/Insider/TestSA/' barapath = 'Z:/axioma_data/barra_model/Exposure/' for t in range(len(dateslist)): print(dateslist[t]) SA = Insider.GetSA(dateslist[t], N, Fre, Halflife, SApara, datapath) SL = SA[['S_INFO_WINDCODE', 'SL_raw']] path = outputpath + 'SL' if not os.path.exists(path): os.mkdir(path) SL.to_csv(path + '/SL_raw_CN_' + dateslist[t] + '.csv', index=None) Accrual = SA[['S_INFO_WINDCODE', 'Accrual_raw']] path = outputpath + 'Accrual' if not os.path.exists(path): os.mkdir(path) Accrual.to_csv(path + '/Accrual_raw_CN_' + dateslist[t] + '.csv', index=None) Accrualwgt = SA[['S_INFO_WINDCODE', 'Accrualwgt_raw']] path = outputpath + 'Accrualwgt' if not os.path.exists(path): os.mkdir(path) Accrualwgt.to_csv(path + '/Accrualwgt_raw_CN_' + dateslist[t] + '.csv',
def update_insider_data(today, N, Fre, datapath, barapath): Insider.LoadInsiderData_main(today, N, Fre, datapath, barapath) return u"insider基础数据保存到本地成功"