def weekly(data):
logic = {'Index' : 'first',
'Prev_Close' : 'first',
'Open' : 'first',
'High' : 'max',
'Low' : 'min',
'Close' : 'last',
'TurnOver_Cr' : 'sum',
'DMA20' : 'last',
'DMA50' : 'last',
'DMA200' : 'last',
'C20DMADIFF' : 'last',
'C200DMADIFF' : 'last',
'3MDRET' : 'last',
'1YDRET' : 'last',
'Date': 'first',
}
data = data.groupby([data['Date'].dt.year, data['Date'].dt.isocalendar().week]).agg(logic)
data = data.replace(["Init"], "0")
data['Week_Ret'] = data.apply(lambda row: DIFF_PERC (row.Close,row.Prev_Close), axis=1)
data.set_index('Date', inplace=True)
return data
COLUMN_NAMES= ['Date','Index','Prev_Close','Open','High','Low','Close','TurnOver_Cr','DMA20','DMA50','DMA200','C20DMADIFF','C200DMADIFF','3MDRET','1YDRET','Week_Ret']
dfd = pd.DataFrame(index=[0])
dfd=pd.DataFrame(columns=COLUMN_NAMES)
dfd.to_csv('idx-weekly.csv', mode='w', index=False, header=True)
print("Looping for Weekly Info")
print()
for Index in symbols['Index']:
df = ixdf[(ixdf.Index == Index)]
data = weekly(df)
data.to_csv('idx-weekly.csv', mode='a', index=True, header=False)
print("Completed")
print()
No comments:
Post a Comment